CuVoodoo

the sorcery of copper

User Tools

Site Tools


busvoodoo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
busvoodoo [2017/12/14 22:10] – add features kingkevinbusvoodoo [2017/12/15 09:06] – [protocols] 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 USB adapter.+The BusVoodoo is a multi-protocol debugging adapter.
  
 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 rigid case: 49.3x27.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 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 [[#firmwares|special purpose firmwares]]
  
 I/O connector: I/O connector:
Line 35: Line 36:
   * CAN port (not terminated)   * CAN port (not terminated)
  
-==== protocols ====+=== not the World's first ever: ===
  
-==== 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 [[#protocols|protocol]], which makes it quite versatile. 
 +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/temperature sensor protocol | 
 +| 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 ===== 
 + 
 +===== 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 111:
 Use a terminal emulation program to connect to it (e.g. [[https://github.com/npat-efault/picocom|picocom]] for Linux, [[http://www.putty.org/|putty]] for Windows), configure the protocol using the built-in menu, are ready you are to communicate with other devices. Use a terminal emulation program to connect to it (e.g. [[https://github.com/npat-efault/picocom|picocom]] for Linux, [[http://www.putty.org/|putty]] for Windows), configure the protocol using the built-in menu, are ready you are to communicate with other devices.
  
-==== 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 142:
 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 ====