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
Last revisionBoth sides next revision
busvoodoo [2017/12/22 18:30] – add pictures kingkevinbusvoodoo [2017/12/23 11:16] – [features] correct power output kingkevin
Line 32: Line 32:
   * 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)
  
Line 87: Line 87:
 The hardware is only designed for signals speeds up to 20 MHz. 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).
 +
 +{{ :busvoodoo:io_pinout.png?700|I/O pinout}}
  
 ^ protocol ^ support ^ comment ^ ^ protocol ^ support ^ comment ^
Line 97: 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 111: Line 109:
 | cJTAG | 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
  
-no matter which protocol you are using, the hardware has been designed to provide one additional UART port+{{ :busvoodoo:mini_adapter_ports_rscan_pin.jpg?300|RS/CAN pinout}} 
 +The full version also supports additional higher voltage and differential protocols.
  
 +^ 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 131: Line 138:
  
 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://git.cuvoodoo.info/busvoodoo_firmware/|source code for the firmware]]
 +  * {{:busvoodoo:busvoodoo_hardware-latest.zip|latest hardware release}} ([[busvoodoo_history|all releases]])
 +  * [[https://git.cuvoodoo.info/busvoodoo_hardware/|source schematic and board layout]]
 +
 +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 143: Line 161:
   - finally you can use the SWD pins on the programming connector to [[stm32f1xx#swj|flash using SWD]], provided you have and SWD adapter. This also allows to properly debug the firmware. :!: For some unknown reason sometimes after power-up the SWD adapter will not be able to find the micro-controller. Briefly reset the micro-controller by shorting RST to ground using tweezers (follow the RST indication on the board). From there on it will always be detected.   - finally you can use the SWD pins on the programming connector to [[stm32f1xx#swj|flash using SWD]], provided you have and SWD adapter. This also allows to properly debug the firmware. :!: For some unknown reason sometimes after power-up the SWD adapter will not be able to find the micro-controller. Briefly reset the micro-controller by shorting RST to ground using tweezers (follow the RST indication on the board). From there on it will always be detected.
   - 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 =====+ 
 +{{:busvoodoo:board_pinout_bottom.png?0x200|DFU contacts}} 
 +{{:busvoodoo:board_pinout_top.png?0x200|ICP and RST contacts}} 
 +{{:busvoodoo:mini_board_prog_pin.jpg?0x200|programing pinout}} 
 + 
 + 
 +===== origin ===== 
 + 
 +{{ :busvoodoo:mini_adapters.jpg?0x160|assortment of adapters}}
  
 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 161: 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.
 +
 +{{ :busvoodoo:mini_bpv3.jpg?0x150|Bus Pirate v3b}}
  
 The closest alternative to the BusVoodoo is probably the [[http://dangerousprototypes.com/docs/Bus_Pirate|Bus Pirate]], and this is actually the device I used for a long time before I decided to make my own because the shortcomings piled up. The closest alternative to the BusVoodoo is probably the [[http://dangerousprototypes.com/docs/Bus_Pirate|Bus Pirate]], and this is actually the device I used for a long time before I decided to make my own because the shortcomings piled up.