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/14 22:10] – add features kingkevin | busvoodoo [2017/12/15 11:08] – [firmwares] 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 ==== | + | ===== features |
- | The BusVoodoo is a multi-protocol | + | The BusVoodoo is a multi-protocol |
It comes it two versions: | It comes it two versions: | ||
Line 12: | Line 12: | ||
Device features: | Device features: | ||
- | * small rigid case: 49.3x27.7 mm | + | * compact |
* 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 18: | Line 18: | ||
* 1 display connector (OLED screen provided in full version) | * 1 display connector (OLED screen provided in full version) | ||
* 1 internal debugging and automation connector (2x4 pins with 2 mm pitch) | * 1 internal debugging and automation connector (2x4 pins with 2 mm pitch) | ||
+ | * re-flashable with [[# | ||
I/O connector: | I/O connector: | ||
Line 35: | Line 36: | ||
* CAN port (not terminated) | * CAN port (not terminated) | ||
- | ==== protocols ==== | + | === not the World' |
- | ==== history ==== | + | 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 ===== | ||
+ | |||
+ | 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 ^ | ||
+ | | UART | hardware | 2 UARTs available, 1 with hardware flow control | | ||
+ | | SPI | hardware | with multiple Chip Select | | ||
+ | | I²C | hardware | with embedded pull-up resistors | | ||
+ | | I²S | hardware | with master clock | | ||
+ | | SD/eMMC | hardware | with 1 or 4 data lines | | ||
+ | | SMBus | hardware | with embedded pull-up resistors | | ||
+ | | LIN | 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 | | | ||
+ | | MicroWire | software | | | ||
+ | | WS2812b | sofware | dedicated LED light protocol | | ||
+ | | DHT11/DHT22 | software | dedicated humidity/ | ||
+ | | TM1637 | software | dedicated 7-segment display protocol | | ||
+ | | IR | software | various InfraRed protocols, planned | | ||
+ | | JTAG | software | planned | | ||
+ | | SWD | software | planned | | ||
+ | | cJTAG | software | planned | | ||
+ | |||
+ | note: the status of each protocol support is not documented yet (WiP) | ||
+ | |||
+ | no matter which protocol you are using, the hardware has been designed to provide one additional UART port | ||
+ | |||
+ | ===== firmwares ===== | ||
+ | |||
+ | Since the BusVoodoo uses native USB, it can be [[flashing|re-flashed]] to clone other USB device. | ||
+ | This allows to convert the BusVoodoo into a dedicated/ | ||
+ | |||
+ | alternative firmwares: | ||
+ | * USBtinyISP or AVRISP to program Atmel AVR MCUs | ||
+ | * [[https:// | ||
+ | * PICkit2 to program PIC MCUs, using the high voltage output of the full version | ||
+ | * AVR Dragon to rescue Atmal AVR MCUs using the [[http:// | ||
+ | |||
+ | note: the alternative firmware are not implemented yet | ||
+ | ===== history | ||
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 50: | Line 121: | ||
Use a terminal emulation program to connect to it (e.g. [[https:// | Use a terminal emulation program to connect to it (e.g. [[https:// | ||
- | ==== alternatives ==== | + | ===== alternatives |
I am not the first one having this problem and creating such a device. | I am not the first one having this problem and creating such a device. | ||
Line 81: | Line 152: | ||
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. | ||
The BusVoodoo is more of a quick all-in-one first approach tool. | The BusVoodoo is more of a quick all-in-one first approach tool. | ||
- | ==== presentation ==== | ||