I'm thinking of using a STM32F030CC for its 6 U(S)ART ports, but I can't find a development kit for that specific microcontroller. Is there another development kit that's compatible with STM32F030CC?

It doesn't have to have as many U(S)ARTs as I can make the application work with as few as 3 UARTs (but I want to be able to reuse the code on the STM32F030CC).

How do I choose a development environment suitable to eventually reach my target goals?

  • \$\begingroup\$ End of page, Tools and Software section, Evaulation Tools: st.com/en/microcontrollers/stm32f030cc.html. Possibly that's all. \$\endgroup\$ Jan 17 '17 at 15:38
  • \$\begingroup\$ so all of them are compatible with the F030CC? i saw them before, but none of them was based on the same chip \$\endgroup\$
    – Pownyan
    Jan 17 '17 at 15:42
  • \$\begingroup\$ I do not know, you have to check it for yourself which one is suitable if there are any. But if there is a dev tool that can be good for you, then this is the list to start with. \$\endgroup\$ Jan 17 '17 at 15:43
  • \$\begingroup\$ You may want to try the STM32 MCUs Forum \$\endgroup\$
    – Tut
    Jan 17 '17 at 16:36
  • \$\begingroup\$ Most STM32's are compatible in the same line and have the same pinout. Check the datasheets (or use the Cube Mx tool) to determine if the pinouts and functions are the same for processor and the dev tool, then buy a dev tool that matches and replace the processor. \$\endgroup\$
    – Voltage Spike
    Jan 17 '17 at 16:44

You have to spend some time developing your sandbox. Look at it this way. You seem like you're about to build a prototype with a different Arm Cortex M0, because you can't find a dev kit for the one you're interested in, and that you "can make the application work with as few as 3 UARTs". For this particular step, ask yourself if you really need to make it "work", or do you need to convince yourself that it will work when you move over to the chip you want, and what you need to know before you do the move.

My own preference is to build a sandbox with really strong tools, with the intention of using that to cut down later. You didn't let us know what all your requirements are, which makes guiding you a bit difficult. My experience is that code is fairly portable between ST ARM families, and even if it isn't, redeveloping with a slightly different library isn't a killer. My inclination for a project like this would be to go with the biggest beefiest M0 in the family, and see how big my code is, how fast it runs, how much current it uses, etc, and then pare down-- but again, I don't really know the questions you need to ask this iteration.


There is a very high degree of compatibility between STM32 controllers in the same series, so you can safely choose any STM32F0 that has at least 6 UARTS and the same amount of memory or more than an F030CC.

Look at the the inexpensive NUCLEO-F091RC board in CubeMX, and start a project with the F030CC side-by-side. Configure USARTs 1 to 6 and any other peripheral you'd like to use, and move around the peripheral pins on the Nucleo board (CTRL-Mouseclick) to pins that are present on the smaller controller. It turns out that you can't use PA5 for USART6_TX on the Nucleo, because it's connected to a LED, but that's probably the only thing you'll have to change when porting to your final board, setting some bits in the GPIO->MODER registers differently.

When you start developing with the Nucleo, just pretend as if it had a F030RC, so you'll have access to the extra pins, but no extra features of the F091RC.


Not the answer you're looking for? Browse other questions tagged or ask your own question.