Hardware (DIY v0.9)
Right now you can’t buy a USG. Fortunately the firmware is designed to be installed on readily available development boards, so that you can build your own.
You will first need to purchase the following hardware from Olimex:
- 1x STM32-H405 with USB device port: https://www.olimex.com/Products/ARM/ST/STM32-H405/
- 1x STM32-H407 with USB host port: https://www.olimex.com/Products/ARM/ST/STM32-H407/
- 1x OpenOCD-compatible JTAG programmer, recommend: https://www.olimex.com/Products/ARM/JTAG/ARM-USB-TINY/
You will also need the following:
- 1x 0.1uF through-hole capacitor, ceramic or monolithic type
- 20cm of 1mm diameter tinned copper wire
- Wire cutters
- Soldering iron, solder, and a bit of soldering experience
Your goal is to connect +5V, Gnd, and the SPI1 port of your two Olimex development boards together.
Signal name | MCU pinout | H405 pinout | H407 pinout |
---|---|---|---|
+5V | EXT2-26 | CON1 5V | |
GND | EXT2-6 | CON1 GND | |
GND2 | EXT1-6 | CON4 GND | |
nTX_OK | PA3 | EXT2-10 | CON3 D0 |
SPI1_nSS | PA4 | EXT2-11 | CON4 D10 |
SPI1_SCK | PA5 | EXT1-18 | CON4 D13 |
SPI1_MISO | PA6 | EXT1-14 | CON4 D12 |
SPI1_MOSI | PA7 | EXT1-22 | CON4 D11 |
Here is the same information in pictures:
Position the H405 board (smaller) on top of the H407 board (larger) with the USB connectors facing in opposite directions. Use the 1mm tinned copper wire to link the boards together. When all required connections are in place the wire will provide adequate mechanical support.
The H407 board comes with handy rubber feet, but be aware they require some determined twisting to insert. When you are done you should have something like this:
Under heavy use, the H405 board will occasionally glitch out and your USG will crash. To fix this you need to add a 0.1uF filter capacitor to the CPU’s reset line. The easiest way to do so is by soldering it across the pins of the reset button, as below.
To load in the USG firmware, see the firmware page!