Close

Designing V2

A project log for Wing's STM32 Dev Board

A small project to build a STM32 development board using KiCad

wingtechcornerWingTechCorner 03/02/2021 at 19:000 Comments

Feb 28th, 2021

So I have been banging my head against the board programming aspect and I have a horrible fear that I have other shorts elsewhere affecting I2C operation. Taking a break from this, I decide to redo the V1 design and create a better V2 design. Better meaning better layout and hopefully no shorts. -_-;;

So, where the V1 board had headers sort of scattered all over, in V2, I move all of the headers off to the sides.

The USB connectivity and the power supply, routing, and capacitor banks are all at the top of the board. By redoing the CH340G portion and the Schottky diodes, I was able to regain some additional space.

M3 Mounting Holes

Also, in line with my other 50mm x 50mm board designs, I've added M3 plated holes in the corners. On 50mm square boards, I place the mounting holes at +/- 21mm from the center lines of the boards. This means the centers are 4mm inset from the sides. I went with the KiCad plated holes with vias encircling the central hole. I feel this gives the mounting points more strength. Since I don't electrically connect anything to the posts, there are no accidental short issues.

Focus on Communication Bus Breakouts

For the side headers, what gets broken out are:

* 3V3

* GND

* UART 1,2,3

* I2C 1,3

* SPI

* DAC

* BOOT

* nRESET

I wanted to make sure that I would be able to communicate as much as possible with the outside world. Since all of the function assigned pins can also be used as direct GPIO pins, there was nothing lost in this approach.

Activity Indicators

Another issue I had with V1 was that there was little to no way to tell what, if anything, was happening. With V2, in addition to the USB power indicators, I have also added LED indicators for the following activities:

* UART1 RX/TX

* UART2 RX/TX

* UART3 RX/TX

* BOOT

* nRESET

Dedicated Header for 24 x GPIO

The 24 GPIO pins that come from the TCA6424 go to its own dedicated 2x12 header at the bottom of the board. This makes the overall design more compact and allows the TCA6424 wires to not interfere with the other components on the board.

By moving all of the traces to the back surface, the top can be used to route other traces between the left and right of the board as well as allow for the mounting of SMD/SMT parts.

Buttons. Gotta Have Buttons

Another addition in the V2 design was the addition of a BOOT and nRESET button... for when you just can't get the stupid UART to do the right thing, or you forget which polarity things are... just use the buttons. Life is too short.

Putting The IMU Front and Center

So in V1, I just put the IMU where I had space. With V2, I placed the IMU in the direct center of the board, then built things around that. This ensured that the IMU would behave consistently if one were to tilt the board/etc.

Cute Cat Graphic!

And finally, I added a cute cat graphic derived from a photograph of one of our cats.

Final Resulting Design

So this is the final design that was sent off for creation.

Update log entry to be made once it arrives.

Discussions