As traces and pads on a PCB cost nothing except for the time you spend laying them out, it may be a good opportunity to etch some useful circuit that may be commonly used by developers. This is why I started by adding the LiPo charger circuit above as a nice option
I checked existing STM32 designs for more ideas: ST own Nucleo and Discovery boards, 3rd-party boards like Olimex or Itead, language-oriented Espruino and pyboard boards, and also some more specific boards for flight controllers or autopilots like Pixracer and Paparazzi.
In no particular order, here is a list of possible integration candidate circuits:
- Audio (I2S codec or analog interface to ADC/DAC): probably too big to fit and not of general interest
- 2.4GHz RF module: too big
- LCD/OLED screen: like the NodeMCU+OLED combo
- Micro-joystick (on bottom face?)
- Reset controller chip
- Ethernet: too big
- USB TVS: would be difficult to add as an option, and not required on a bare dev board unless it is integrated into a product
- RS232 buffer
- Bluetooth module: too big
- Coin-cell battery or "Gold Cap" for RTC
- FRAM/Flash SPI chip (SOIC8): tried to fit a footprint as an alternative to the SD Card connector, but this results in turning the nice (small) GND plane below the main LDO to pieces => not good
- MOSFET for power output (buzzer, relay, etc.): how to make it optional?
- Battery voltage resistor divider
- CAN transceiver
- 3, 6 or 9-axis IMU (Inertial Measurement Unit), e.g. accelerometer, gyroscope, magnetometer, pressure sensor (altitude): problem is most of them are soldering iron-unfriendly QFN packages These are used of course in all flight controller or autopilot boards, but also on more general-purpose boards like the ST boards (they sell MEMs...) and pyboard, for example...
- "FrSky Inverter", e.g. a dual XOR gate to invert the level of UART signals as used by this common R/C protocol