Table of Contents
Development board employing an STM32 MCU with a CH340G USB interface IC. LED(s) associated with GPIO pins. Inertial Motion Unit, TCA6424 I2C GPIO Expander.
So the boards arrived and they look GREAT!
However, upon plugging them into the USB, some Bad Things(tm) happened:
- The USB ports overheated. The laptop it was plugged into indicated over power draw and shut the port down.
- Ohm meter reported a dead short between GND and 3V3. Great.
- After reviewing the traces in KiCad, it turns out that I had a no-net pour that bridged 3V3 and GND. Found the thinnest areas to bypass the bridge and took a knife to the copper.
- Got the board up in so far as I am able to flash and re-download the firmware to the STM32. However, being able to communicate with it via serial or have it perform an I2C scan and control the TCA6424 has been less than successful.
- Since I have not been able to communicate on the I2C bus, I’ve basically been halted on what I can do since most everything on the board is done via I2C.
While I can go through the existing design and trace every route… it would actually be easier to keep the schematic, make some improvements to make it easier to debug, and then redo the board’s layout.
The redo will most likely do away with the scattered headers and such and go with a more consolidated design. I will also be adding more LED(s) so that I can see the activity of the system… as well as adding buttons for the Boot mode and the Reset for the STM32.
Update: Check out the new V2 design.