busvoodoo
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
busvoodoo [2017/12/07 20:46] – [history] add linebreaks kingkevin | busvoodoo [2017/12/15 08:35] – [features] kingkevin | ||
---|---|---|---|
Line 2: | Line 2: | ||
This tool allows to quickly communicate with various other electronic devices. | This tool allows to quickly communicate with various other electronic devices. | ||
+ | ==== features ==== | ||
+ | |||
+ | The BusVoodoo is a multi-protocol debugging adapter. | ||
+ | |||
+ | It comes it two versions: | ||
+ | * light: provides everything to works with up to 5V protocols using the 2x5 pins I/O connector. It comes in a case (with general pinout label), USB cable, and a 10 pins female to female dupont cable (20 cm). | ||
+ | * full: adds RS/CAN functionality and dedicated RS/CAN connector (with HV output) with 5 pins female to female dupont cable (20 cm), an OLED display (e.g. to indicate protocol specific pinouts), a proper 2x5 colored IDC cable to 10 pins dupont (30 cm), and a 8-channel 24 MHz logic analyzer (sigrok compatible Saleae Logic 8 clone). | ||
+ | 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: | ||
+ | * small rigid case: 49.3x27.7 mm | ||
+ | * host connection: USB 2.0 (mini-B, full speed: 11 Mb/s) | ||
+ | * 2 light indicators: red for power, red+blue for activity | ||
+ | * 2 target device connectors: general purpose I/O connector (0 to 5.5 V) and specialised RS/CAN connector (not populated on light version) | ||
+ | * 1 display connector (OLED screen provided in full version) | ||
+ | * 1 internal debugging and automation connector (2x4 pins with 2 mm pitch) | ||
+ | |||
+ | I/O connector: | ||
+ | * 2x5 pins header (IDC, 2.54 mm pitch) | ||
+ | * pinout (from top left to bottom right): | ||
+ | - ground | ||
+ | - 5 V output (directly from USB), 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 | ||
+ | - 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: | ||
+ | * 1x5 pin header (IDC, 2.54 mm pitch) | ||
+ | * 3.3 to 18 V adjustable voltage output (up to 30 mA), to program devices using high voltages | ||
+ | * RS-232 port (with hardware flow control) | ||
+ | * RS-485/ | ||
+ | * CAN port (not terminated) | ||
+ | |||
+ | === not the World' | ||
+ | |||
+ | Since the begging of electronics probably every engineer developed his own dedicated programming or debugging tool. | ||
+ | This is just mine, packed with features and made available for all. | ||
+ | |||
+ | === not a smart device: === | ||
+ | |||
+ | While it is packed with features, it is just a debugging and hacking tool and you are the brain behind it. | ||
+ | You still need to know about electronics (e.g. the difference between push-pull and open-drain driving modes) and have a basic understanding of the protocol you want to talk. | ||
+ | |||
+ | === not an Internet-of-Things device: === | ||
+ | |||
+ | It comes with no network connectivity. | ||
+ | Its purpose is to debug and hack devices locally, not to provide a gateway to remotely control other devices. | ||
+ | |||
+ | === not the ultimate all-in-one device: === | ||
+ | |||
+ | The BusVoodoo is a compact device which supports a lot of [[# | ||
+ | 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. | ||
+ | |||
+ | === not community driven: === | ||
+ | |||
+ | This device is not the result of a collaborative work in a forum with 1000 pages and chaotic status. | ||
+ | I developed it and actively support it. | ||
+ | I also actually also use it in my everyday work, and thus have an interest of keeping the quality high.\\ | ||
+ | Nothing prevents you from building it yourself or forking it though. | ||
+ | Both hardware and software are open-source and available here, and you are welcome to submit bug reports or patches. | ||
==== protocols ==== | ==== protocols ==== | ||
Line 19: | Line 80: | ||
==== alternatives ==== | ==== alternatives ==== | ||
- | ==== presentation ==== | + | I am not the first one having this problem and creating such a device. |
+ | 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. | ||
+ | |||
+ | The closest alternative to the BusVoodoo is probably the [[http:// | ||
+ | The name BusVoodoo is also inspired from the Bus Pirate and is kind of an homage, and the more I develop the BusVoodoo the more I learn about the Bus Pirate and like it again. | ||
+ | |||
+ | Advantages of the Bus Pirate over the BusVoodoo: | ||
+ | * it is a mature product (v3 is, v4 isn' | ||
+ | * it supports the [[http:// | ||
+ | * it is cheap ($30) and readily available | ||
+ | |||
+ | Advantages of the BusVoodoo over the Bus Pirate: | ||
+ | * it uses a native USB interface instead of a USB to UART chip, allowing for greater speeds and to be flashed as other devices (using the clone firmwares). The [[http:// | ||
+ | * it has an adjustable voltage regulator for the pull-up resistors, allowing 1.6-5.0V logic | ||
+ | * it supports more protocol in hardware (eMMC, SMBus, I2S, ...) | ||
+ | * it also supports other protocols in software | ||
+ | * it supports higher voltage/ | ||
+ | * no need to always have the [[http:// | ||
+ | * it comes in a nice and compact case (and some other accessories like USB cable and I/O cable) | ||
+ | * it supports CTRL+C and CTRL+D on top of the [[http:// | ||
+ | * and probably the most important aspect: it is actively developed and has user support | ||
+ | |||
+ | The Bus Pirate is not the only alternative though. | ||
+ | There is also the [[https:// | ||
+ | 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. | ||
+ | The BusVoodoo is more of a quick all-in-one first approach tool. | ||