STM32F030F4 IoT Breakout board

This is yet another STM32F030F4 breakout board. There are footprints for nRF24L01+ module, MicroSD.

Similar projects worth following

This is a 1.00"x0.81" break out board for STM32F030.

The nRF24L01 module antenna sticks outside of the PCB for performance (and the 1" limit). Daughter/main card should avoid covering the antenna portion of the module.


  • STM32F030F4 - 48MHz ARM Cortex M0 with 16kB FLASH/4kB SRAM
  • (Optional) MicroSD socket
  • (Optional) nRF24L01+ RF module
  • 1x6 pin connector with SWD, TTL serial for debugging
  • 1x10 pin connector with I2C, SPI or as GPIO
  • (Optional) 32kHz or high frequency Crystal
  • 1x2 pin for external power (3.5V - 5.5V) that feeds on board 3.3V LDO

Schematic (corrected for J2 naming)

Note: Not all GPIO are free as they are shared with on board peripherals. They are freed when the optional peripherals are not installed.

Full BOM:

You can reclaim some of the GPIO pins if the option blocks are not used.


  • IoT Display node: nRF24L01, SPI LCD and buttons
  • IoT Sensor node: nRF24L01, I2C sensors, ADC
  • Control node: nRF24L01, SPI LCD controlled from TTL serial
  • Data logger: MicroSD, SPI LCD, external Crystal for RTC, TTL Serial for GPS or ADC, I2C sensor
  • Servo driver controlled from TTL serial or I2C
  • RC: nRF24L01, external 74HC595 to drive servos

Frank Duignan's page:
His C Code here:

Some of the GPIO line assignments are different and are hard coded, so I'll need to change some of the source code around.

  • IoT Board testing etc

    K.C. Lee12/23/2015 at 21:32 0 comments

    If you don't have a 3rd party SWD debugger, STM32F0 Discovery board can be used as a SWD programmer (only for STM32 chips).

    Reminder: Remove CN2 jumpers!
    Here are the connection to the debug connector on the IoT board.

    Connect 3.5V - 5V supply to Vcc to power the IoT board.

    Rev A: Rev 1.0 0x444: STM32F030x4 or x6
    My aliexpress vendor sold me a real STM32F030x4 rev. 1.0 chips at $5.99 for 10 As most things from China, YMMV.

    ☑ Power supply works, SWD connection works, ARM core is alive.

    I have wired up 13 LED to the breakout connector of the PCB. Connections are made to TXD & RXD on J1; GPIO lines on J2 and CE, /CS, IRQ on the optional nRF24 module connector. The last 3 LED on the left bargraph are wired to GPIO: PB1, PF0, PF1 while the right LED are wired to PA 0-7, 9, 10. These are all the remaining GPIO lines going to the microcontroller.

    The board is power off 5V from a USB power pack.

    Video here:

    The test is a quick way to show that the breakout are connected. I'll post the ugly source code of the test file to my github link. The board now passes basic sanity.

    ☑ My program can be downloaded to ARM.
    GPIO lines are wired correctly and there are no short circuits as individual LED can turn on/off independently.

    For the purpose of this contest, the hardware part is done.
    However, I still have plans for the firmware part and want to see ChibiOS running this variant of the chip.

    - J2 connector: pin 3 should be labelled as PF0 and Pin 4 should be PF1. I have fixed the schematic for this in V1. The layout remains the same.

  • Breakout board Assemble!

    K.C. Lee12/23/2015 at 20:43 0 comments

    I am building the following option (for now):

    • No I2C - R6/R7 depopulated. They are the I2C pull up resistor
    • Internal Oscillator - R3, R4 = 0R and depopulate C4, C5, X1, X2 for the external crystal oscillator
    • Mirco SD - S1 socket installed, R1, C9 installed. R1 is there for detecting SD presence.
    • nRF24L module not installed for now.

    Note: I am taking this picture from a "6 o'clock" position. The Module is not soldered in (for now) as that can make testing more difficult.

    I have not yet figure how I am going to attach the power leads. Since I am going to be handling this quite a bit, I can rule out soldering wires directly.

    Assembly notes:

    • You might want to trim back the crystal leads on the nRF24 modules and insulate the leads if you are soldering them directly onto the break out board as they might come in contact of the shield of the Micro SD socket. For those who uses a socket for the module or not using Micro SD, this is not an issue.
    • If you want to use a bread board, consider using right angle headers for J2. The PCB would be vertical position. It also raise the antenna for the nRF24 module up away from the breadboard for better RF performance.
    • The solder pads for the STM32F030 seems to be for reflow and is a bit short for hand soldering. I hand reflow this part first to give myself a bit more working space for the fine pitch part.

  • Parts tracking

    K.C. Lee11/18/2015 at 02:13 0 comments

    Good news and bad news.

    The STM32F030 part shipping was delayed until yesterday. :( Given the unusual slow Canada Post/Canada Custom and the busy shipping season this time of the year, I don't know if it can make it here on time.

    On the other hand, they might get overtime and pressures to push the high volume of mail through or the package get diverted to the Canada Custom at Toronto.

    The good news is that the PCB is ahead of shipping schedule.

    OSH Park PCB order/download page:
    Probably should wait until the board is tested.

    Got those 3 purple PCB back today. OSH Park didn't send me the correct tracking info. :( It takes 7 working days and went pass Vancouver custom (west coast) in one day!? They can be fast if they want to, but they takes 2-3 week on average to clear my packages from China.

    The two tabs on the left edge did made it just like the layout. The module placement location is good (picture was at an angle). Top part of my PCB foot print outline of the nRF24 module was slightly off and is the 3D model I downloaded. MicroSD locator pins are tight. I guess I should increase the diameter a tiny bit.

    Can't do much until the ARM chip from China arrives.

    The TSSOP20 Breakout PCB arrived along with 3 other packages today. It is sort of an irony that packages arrives faster in the busy season.

    These are double sided PCB broken out to 0.6" wide and 0.1" pitch with the 1.27mm (0.05") SOIC/Wide SOIC on one side and 0.65mm TSSOP/SSOP on the other. This comes in handy if you can't be bother to etch/order a PCB especially at $1.66 for 10 of these.

    Hopefully it won't be too long for the custom to clear the one with the ARM chips which was order the day before and shipped 3 days earlier.

    Finally got the STM32F030 parts in today (23rd Dec 2015). Thankfully that the deadline has been pushed back a week, so I might be able to finish this.

  • Minor PCB clean up

    K.C. Lee11/15/2015 at 22:37 0 comments

    I don't just plunk down the parts, auto-route and send off the files without polishing. I did some minor PCB clean up for manufacturing.

    • Moved the Micro SD connector a bit towards to right side. Now there is 10 mil clearance on the copper to edge for the SD socket solder tab. I still want to make the board a bit wider, but this would pass the DRC for some of the board shops e.g. Elecrow The right side Micro SD tab is close to the nRF24 connector. That nRF24 card have to be raised a bit above anyway as the leads of the crystal might touch the Miscro SD shield.
    • Moved components that are right side of MicroSD connector for more shield clearance.
    • Minot tweak on the routing

    PCB are more or less ready. Because of the small size and lack of time, I have decided to make this batch at OSH Park. I tend to procrastinate a bit before, so that I have no excuses for regrets for changing my mind after sending off the PCB too early.

  • Xmas IoT project

    K.C. Lee11/12/2015 at 21:47 0 comments

    I received my nRF24L01 modules yesterday I ordered some STM32F030F4 parts by impulse. I figure that I could use a breakout board or 2, so in the end I did a quick and dirty breakout board.

    I don't know if the chip would show up before the contest deadline as the postal system are going to be very busy this time of the year. For my last few orders, I have seen close to 5 weeks delivery time. Most of the delay are at Canada Customs which normally take 2-3 weeks for regular parcels and also from Canada Post once it cleared custom with slow delivery time of up to 12 days from Vancouver (west coast) to Ottawa (east coast).

    Links of interest

    Parts link:

    There are probably cheaper ones if you look around. I have not tested these yet.

    Breakout PCB - going to be handy for a quick breakout.

    STM32F030F4: I was the first one customer to order them, so I'll see if these work as advertised.

    TSSOP breakout board, uC and a few passives cost less than $1 for an ARM uC board! MOSFET is not part of this board.

    Probably not the cheapest place, but I have ordered some spare high voltage cap for my scope and tacked that on as an impulse buy. This ESP8266 module is going to be the bridge between WiFi and the nRF24L01 clone modules.
    This project would be be a good starting point.

View all 5 project logs

Enjoy this project?



alpha_ninja wrote 12/21/2015 at 08:02 point

Please make sure to upload photographic or video proof of this project working by the next deadline (in about two days!)

  Are you sure? yes | no

K.C. Lee wrote 12/21/2015 at 20:40 point

Still waiting for my parts in the mail. Might not make it in time for this contest as they are probably stuck at the custom. I have orders that are a couple of weeks after this and they arrived last week.  :(

  Are you sure? yes | no

alpha_ninja wrote 12/21/2015 at 20:58 point

Too bad. Enjoy the holidays, though :)

  Are you sure? yes | no

K.C. Lee wrote 12/24/2015 at 07:01 point

Looks like I am back to the races as the chip arrived and the board is assembled.  Just pending the pictures/video for the testing part.

  Are you sure? yes | no

alpha_ninja wrote 12/24/2015 at 07:01 point


  Are you sure? yes | no

Blecky wrote 12/07/2015 at 01:34 point

[verified: no design files missing]

  Are you sure? yes | no

alpha_ninja wrote 12/02/2015 at 00:40 point
This is your one-week reminder to upload design documents:

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates