I usually use Arduino as default choice for all my projects thanks to all libraries available, in specifics cases I switch to STM32 to get power computing power or peripherals the ATMega328 is not able to provide.
More and more projects need ST's micro-controllers so it is time to switch to more modern µC: I recently designed a new all-around board based on STM32L0, but all STM32 with the same package should work.
- Breakout all I/Os
- WS2812 RGB led: blinky things, you know !
- 3.3V LDO regulator
- Easy way to select Vin or Vusb (jumper)
- Easy way to select
- USB connector and ESD protection
- 200 to 300 mA mosfet in order to control a more power or other voltages
- Reset button
- Breadboard friendly
- "FDTI" pinout connector for serial communications, and to try ST serial bootloader
- All components on one side, so the board can be easily reflowed with hotplate
Caveats & improvements
The batch of WS2812b I have works well @3.3V, but it might not be the case for all LED as datasheet specifies Vin=[3.5;5V].
Also, old habits die hard, I tried to put to much things in a small board, so routing can be improved, and for next revisions I will change :
- Smaller ST-Link header (1.27 vs pogopin ?)
- FTDI connector can be dropped:
- Thanks to ST-Link and cheap Nucleo the serial bootloader is not used for development, I think that it might be useful in production but in dev. having access to the debugger is really better.
- Serial communications can be handled by the STM's USB, if included in selected µC. If not, just wire the serial pins.
- As ST-Link is always used to program the board,
BOOT0can be tied to ground or only be a solder bridge.
- I will not switch from
Vusbreally often, so this jumper can be converted to a solder bridge too.
- R6 and R7 can be taken away from each other, to ease hand soldering.
- Mounting holes are not usable with screws, only push fit pins.