When I prototype a simple design requiring a microcontroller on a boardboard, I often pop in an Atmel AVR in a DIP package. When I also need easy connectivity over USB to a host computer, I use the SparkFun Pro Micro, a simple DIP breakout board for the ATmega32U4. I like the form factor of the Pro Micro, but lately I’ve been moving away from the AVR in favor of the STM32. So I decided to design a simple DIP breakout board for a small member of the STM32 family. I chose to base the design on the STM32F103 in a 36-pin VFQFN package. The board features microUSB (the power source), a 300mA 3.3V Microchip voltage regulator in a SOT-223 package, two LEDs, a 12MHz crystal for the high-speed external clock, a reset button and one user-defined button. The LEDs and all passives are 0603. The entire board is 0.7in by 1.4in. I break out GND, VCC, NRST and all the IO pins, including those wired to the LEDs and push button. I used Hackvana to fab the design.
I’ve tested all the functionality of the board and it works as designed with one errata: I missed a pull-up resistor in the USB interface which I patched by hand (not pictured).
Soldering the VFQFN was a challenge. I made three boards and the first two had some bridging on the STM32 part after reflow which I was able to clean up with solder wick by hand.
I’m planning to respin the board with a few changes. In addition to fixing the USB problem, I’d like to move to the 48-pin UFQFN, make the board slightly longer to break out the additional IO, add an external crystal for the 32KHz RTC oscillator, and break out VIN so the board can be powered without USB. Any other suggestions?
If and when I’m happy with the updated board, I plan to release the design files and make some extra for sale.