Stefan Wagner Designs a Development Board for STMicro's STM32G030F6P6 — and Discovers Bonus Features
Low-cost chip turns out to have some of the features supposedly reserved for its bigger siblings, including a random number generator.
Hobbyist Stefan Wagner has designed a compact, breadboard-friendly development board based around the STMicroelectronics STM32G030F6P6 — offering a single 32-bit Arm Cortex-M0+ core running at up to 64MHz with 8kB of static RAM (SRAM) and 32kB of on-chip flash memory.
"[This is a] development board for the STM32G030F6P6 cost-effective 32-bit ARM Cortex M0+ microcontroller with integrated USB-to-serial adapter," Wagner writes of his creation, designed to use minimal additional components beyond the chip itself, "which can also be used to upload firmware utilizing the factory built-in serial bootloader."
The STM32G030F6P6 chip itself is a compact, low-cost microcontroller featuring a 32-bit Arm Cortex-M0+ processor core running at up to 64MHz, 8KB of SRAM, and 32kB of flash memory. All 18 of the part's general-purpose input/output (GPIO) pins are brought out to breadboard-friendly 0.1" headers on Wagner's development board, with 13 doubling as 12-bit analog inputs.
Other features of the chip include a 16-bit advanced motor control timer, four 16-bit general-purpose timers, two watchdog timers, and a SysTick timer, a real-time clock (RT)C), two each of USART, I2C, and SPI hardware buses, a dedicated CRC-32 calculation unit, Serial Wire Debug (SWD) support, a five-channel Direct Memory Access (DMA) controller, and a factory-flashed embedded UART bootloader.
Interestingly, Wagner has also found some hidden features in the chip — part of the feature set of more expensive models in the STM32 family but absent from the specs sheet of the STM32G030F6P6. These include a 32-bit general-purpose timer, two 16-bit low-power timers, a low-power UART bus, a hardware random number generator, a programmable brownout reset, and a programmable voltage detector. "While it cannot be guaranteed that this applies to all STM32G030 devices," Wagner writes of these "bonus" features, "at least in the case of mine, these features work very well."
Hardware design files and sample code for the board are available on Wagner's GitHub repository, under the reciprocal Creative Commons Attribution-ShareAlike 3.0 Unported license.