busvoodoo
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
busvoodoo [2017/12/15 11:55] – [features] kingkevin | busvoodoo [2017/12/23 11:16] – [features] correct power output kingkevin | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | The BusVoodoo is a multi-protocol debugging adapter. | + | {{ : |
+ | |||
+ | The BusVoodoo is a multi-protocol debugging adapter.\\ | ||
This tool allows to quickly communicate with various other electronic devices. | This tool allows to quickly communicate with various other electronic devices. | ||
Line 5: | Line 7: | ||
The BusVoodoo is a multi-protocol debugging adapter. | The BusVoodoo is a multi-protocol debugging adapter. | ||
+ | |||
It comes it two versions: | It comes it two versions: | ||
Line 11: | Line 14: | ||
The light version can be converter to a full version by populating the components on the bottom side of the PCB (and cutting the display and RS/CAN slots in the case) | The light version can be converter to a full version by populating the components on the bottom side of the PCB (and cutting the display and RS/CAN slots in the case) | ||
+ | [{{ : | ||
+ | [{{: | ||
+ | |||
+ | {{ : | ||
Device features: | Device features: | ||
- | * compact | + | * compact case: 56.0x27.7x14.7 mm |
* host connection: USB 2.0 (mini-B, full speed: 11 Mb/s) | * host connection: USB 2.0 (mini-B, full speed: 11 Mb/s) | ||
* 2 light indicators: red for power, red+blue for activity | * 2 light indicators: red for power, red+blue for activity | ||
Line 20: | Line 27: | ||
* re-flashable with [[# | * re-flashable with [[# | ||
+ | {{ : | ||
I/O connector: | I/O connector: | ||
* 2x5 pins header (IDC, 2.54 mm pitch) | * 2x5 pins header (IDC, 2.54 mm pitch) | ||
* pinout (from top left to bottom right): | * pinout (from top left to bottom right): | ||
- ground | - ground | ||
- | - 5 V output (directly from USB), software switchable | + | - 5 V output (up to 400 mA), software switchable |
- 3.3 V output (up to 250 mA), software switchable | - 3.3 V output (up to 250 mA), software switchable | ||
- | - 0 to 4.8V adjustable voltage output (up to 500mA), connected to the embedded pull-up resistors (target device voltage can be input), 0 to 6 V ADC | + | - 0 to 4.8V adjustable voltage output (up to 450mA), connected to the embedded pull-up resistors (target device voltage can be input), 0 to 6 V ADC |
- 6 I/O pins, 3.3 V in push-pull mode (protected using 220 Ohm resistors), 1.6 to 5.5 V in open-drain mode using strong 2 kOhm embedded pull-up resistors (with internal adjustable voltage regulator or external power source) | - 6 I/O pins, 3.3 V in push-pull mode (protected using 220 Ohm resistors), 1.6 to 5.5 V in open-drain mode using strong 2 kOhm embedded pull-up resistors (with internal adjustable voltage regulator or external power source) | ||
+ | {{ : | ||
RS/CAN connector: | RS/CAN connector: | ||
* 1x5 pin header (IDC, 2.54 mm pitch) | * 1x5 pin header (IDC, 2.54 mm pitch) | ||
Line 36: | Line 45: | ||
* CAN port (not terminated) | * CAN port (not terminated) | ||
+ | {{ : | ||
programming connector: | programming connector: | ||
* on the board (in the bottom left corner) there is a 2x4 connector (2 mm pitch) | * on the board (in the bottom left corner) there is a 2x4 connector (2 mm pitch) | ||
Line 62: | Line 72: | ||
But it is not intended to replace all the other special purpose adapters (USB to UART, JTAG, ...) which probably can better solve specific task because their are: more stable, simpler, more powerful, faster, more stable, cheaper, or more available. | But it is not intended to replace all the other special purpose adapters (USB to UART, JTAG, ...) which probably can better solve specific task because their are: more stable, simpler, more powerful, faster, more stable, cheaper, or more available. | ||
Thus the BusVoodoo is a good choice to start with, but if you want better performances switch to a device designed for each particular task. | Thus the BusVoodoo is a good choice to start with, but if you want better performances switch to a device designed for each particular task. | ||
+ | And if you want to debug high-speed protocols you will need a complete different class of adapter. | ||
=== not community driven: === | === not community driven: === | ||
Line 73: | Line 84: | ||
===== protocols ===== | ===== protocols ===== | ||
+ | The BusVoodoo implements numerous low-speed protocols. | ||
+ | The hardware is only designed for signals speeds up to 20 MHz. | ||
The signals can be driven using 3.3 V push-pull mode, or 1.6 to 5.5 V open-drain mode with 2 kOhm embedded pull-up resistors (can be increased using external resistor). | The signals can be driven using 3.3 V push-pull mode, or 1.6 to 5.5 V open-drain mode with 2 kOhm embedded pull-up resistors (can be increased using external resistor). | ||
+ | |||
+ | {{ : | ||
^ protocol ^ support ^ comment ^ | ^ protocol ^ support ^ comment ^ | ||
Line 84: | Line 99: | ||
| LIN | hardware | | | | LIN | hardware | | | ||
| ISO-7816 | hardware | | | | ISO-7816 | hardware | | | ||
- | | RS-232 | hardware | with hardware flow control, only in full version | | ||
- | | RS-485 | hardware | no termination resistor, only in full version | | ||
- | | RS-422 | hardware | no termination resistor, only in full version | | ||
- | | CAN | hardware | no termination resistor, only in full version | | ||
| 1-Wire | software | | | | 1-Wire | software | | | ||
| MicroWire | software | | | | MicroWire | software | | | ||
Line 98: | Line 109: | ||
| cJTAG | software | planned | | | cJTAG | software | planned | | ||
- | note: the status of each protocol | + | No matter which protocol |
- | no matter which protocol you are using, the hardware has been designed to provide one additional | + | {{ : |
+ | The full version also supports | ||
+ | ^ protocol ^ support ^ comment ^ | ||
+ | | RS-232 | hardware | with hardware flow control, only in full version | | ||
+ | | RS-485 | hardware | no termination resistor, only in full version | | ||
+ | | RS-422 | hardware | no termination resistor, only in full version | | ||
+ | | CAN | hardware | no termination resistor, only in full version | | ||
+ | |||
+ | |||
+ | note: the status of each protocol support is not documented yet (WiP) | ||
===== firmwares ===== | ===== firmwares ===== | ||
Line 115: | Line 135: | ||
* PICkit2 to program PIC MCUs, using the high voltage output of the full version | * PICkit2 to program PIC MCUs, using the high voltage output of the full version | ||
* AVR Dragon to rescue Atmal AVR MCUs using the [[http:// | * AVR Dragon to rescue Atmal AVR MCUs using the [[http:// | ||
+ | * logic analyzer (low speed, with 6 digital and 1 analog channels) | ||
note: the alternative firmware are not implemented yet | note: the alternative firmware are not implemented yet | ||
+ | |||
+ | ===== software & hardware ===== | ||
+ | |||
+ | If you want to have a detailed look at the technology underneath you can have a look at the: | ||
+ | * latest firmware release | ||
+ | * [[https:// | ||
+ | * {{: | ||
+ | * [[https:// | ||
+ | |||
+ | If you find any issue, [[busvoodoo@cuvoodoo.info|let me known]]. | ||
+ | And if you are not happy with the state, feel free to fork it (according to the licences). | ||
===== flashing ===== | ===== flashing ===== | ||
Line 129: | Line 161: | ||
- finally you can use the SWD pins on the programming connector to [[stm32f1xx# | - finally you can use the SWD pins on the programming connector to [[stm32f1xx# | ||
- if none of the above methods work, the device is definitely bricked (or defective). congratulations. | - if none of the above methods work, the device is definitely bricked (or defective). congratulations. | ||
- | ===== history | + | |
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== origin | ||
+ | |||
+ | {{ : | ||
Whenever I go to conferences I like to take apart devices I find there. | Whenever I go to conferences I like to take apart devices I find there. | ||
Line 147: | Line 187: | ||
Probably every hardware hacker comes to the same point and develops his own solution, using parts he is familiar with, and suited for the tasks his is struggling with. | Probably every hardware hacker comes to the same point and develops his own solution, using parts he is familiar with, and suited for the tasks his is struggling with. | ||
And there probably never will be a perfect device capable of everything since the needs are different, but a bit of help is always welcome. | And there probably never will be a perfect device capable of everything since the needs are different, but a bit of help is always welcome. | ||
+ | |||
+ | {{ : | ||
The closest alternative to the BusVoodoo is probably the [[http:// | The closest alternative to the BusVoodoo is probably the [[http:// | ||
Line 167: | Line 209: | ||
* and probably the most important aspect: it is actively developed and has user support | * and probably the most important aspect: it is actively developed and has user support | ||
- | The Bus Pirate | + | The Bus Pirate |
There is also the [[https:// | There is also the [[https:// | ||
- | And there is the [[http:// | + | And there is the [[http:// |
But BusVoodoo will never replace dedicated tools (USB to UART dongle, JTAG adapter, flash programmer, ...) or prevent from using a development board to control all nifty protocol details. | But BusVoodoo will never replace dedicated tools (USB to UART dongle, JTAG adapter, flash programmer, ...) or prevent from using a development board to control all nifty protocol details. |