CH340G + STM32 Dev Board Revisited…. V2

Table of Contents


In a previous post, I had shared some pics of the dev board I had been working on. It contained a variety of features that I felt would be useful on a dev board. However, due to a mistake on my part, there were shorts in the design due to my misunderstanding of how overlapping fills/pours would behave. Lesson learned.

See previous post about the V1 board: STM32 Dev Board With CH340G USB

Redesign Goals

With the V1 design, I was mainly focusing on how much I could put on the board given a minor amount of re-routing. To that end, placement of parts was done on a space-available basis.

With the V2, my goal was to have a more organized and function based approach to placement of components:

  • All USB interface, power regulation, and indicator lights are at the top of the board.
  • Headers to only be at the edges of the board.
  • The goal is to breakout as many communication interfaces as possible. The STM32 has 3 x UARTS!
  • Have the IMU centered on the board to be better align with any project use cases.
  • Physical buttons for the Boot Mode and the nRestart functions.
  • Move as many traces onto the backside to allow for easier parts placement on the top side.
  • Add in pin information on the silkscreened text on the board.
  • Add a QR code to make it easier to find this website. 🙂

V2 Design Quick Peek

New design of the board is cleaner and cuter thanks to a silkscreen of one of our cats!

The new design will feel more… organized? There is actually more real estate to have parts placed. The two AMS1117 voltage regulators are side by side and all of the Schottky diodes used for merging all of the 3V3 generated by the board, are placed near the source of power. A row of capacitors serve to buffer the regulated voltage.

I’ve also added a silk screen of one of our cats. Though you really can’t tell which one that is a picture of. 🙂

New Additions

One of the things I kind of skipped with V1 was the explicit pull-down and pull-up of the Boot and nReset pins. The datasheet indicated internal pull-ups and pull-downs. However, this time, I’ve explicitly added the relevant resistors: Boot is pulled down to GND by default, which chooses the boot-from-internal-flash. And nReset is pulled to 3V3 to keep the MCU in running mode.

Back of the CH340G + STM32 development board. Note the pin information on the various communication pins. Also note the QR code. 🙂

I’m not always going to have my original design files on me. So as a contingency for that, I added various bits of pin information to the function labels. I also added the I2C addresses that the IMU and the GPIO expander will use on boot. As well as the model number of the STM32 chip. 🙂

PCBnew view of the new design. Note that a great deal of back side routing employed.

All that’s left is to wait for the new boards to arrive to give them a test!


About Post Author

Author: Wing Wong
Husband, Father, and all around technology tinkerer. :)