There are many very low-cost "development boards" out there. To keep the examples short and focused, I'm going to select a specific µC, the [STMF411](https://www.st.com/en/microcontrollers-microprocessors/stm32f411.html), which has an ARM Cortex M4 CPU, 256 KB or more of flash memory, 128 KB of RAM, and a slew of built-in hardware peripherals.
There are smaller / faster / simpler / more extensive options. There always are, but at some point you have to pick *something* and run with it. With PlatformIO it is easy to switch, but there will be differences in hardware peripherals and pin allocations which need to be adjusted.
For now, to get started, F411 it is. I'll use the "Black Pill" from WeAct, available from [AliExpress](https://www.aliexpress.com/item/1005001456186625.html):
![[weact-blackpill.png]]
This board can be reprogrammed ("flashed") via its USB-C connector, but to help debug code, a JTAG debugger is also very useful - I've chosen the "Mini Debugger", also from WeAct via [AliExpress](https://www.aliexpress.com/item/1005005303809188.html). Be sure to select the "STLink-STM32" version, not "DapLink-APM32":
![[weact-stlink.png]]
The debugger comes with wire jumpers, but the pins on the Black Pill need to be soldered.
Documentation for both WeAct boards can be found on GitHub:
- https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1
- https://github.com/WeActStudio/WeActStudio.MiniDebugger