Development board for the STM32F030F4P6 cost-effective 32-bit ARM Cortex M0 microcontroller with integrated USB-to-serial adapter which can also be used to upload firmware utilizing the factory built-in serial bootloader. Due to the comparable pinouts, this board can also be used with other microcontrollers from the STM32F0 and STM32L0 series that come in the same TSSOP20 package.
The STM32F030 microcontrollers feature an Arm® Cortex®-M0 core and run at speeds up to 48 MHz. While achieving the STM32’s lowest ever price point, the STM32F030 line comes with a full set of performing peripherals, such as fast 12-bit ADC, advanced and flexible timers, calendar RTC and communication peripherals such as the I²C, USART and SPI. This combination easily outperforms existing 8-bit architectures and allows all application designers to benefit from the simplicity and efficiency of a state-of-the-art 32-bit core. The STM32F030 line covers many memory and pin count combinations with only few competitive devices and thus further enhances the overall cost efficiency of your projects. Application designers starting with the STM32F030 benefit from being able to upgrade to any of the devices in the powerful STM32 portfolio at any time with an extraordinary degree of reusability of tools and application software.
- 32-bit ARM® Cortex®-M0 CPU
- Maximum 48MHz system main frequency
- 4KB SRAM with hardware parity check
- 16KB Flash
- Operating voltage: 2.4V - 3.6V
- Internal 8MHz RC oscillator (HSI) with PLL option
- Internal 40kHz RC oscillator (LSI)
- External 4-32MHz crystal oscillator (HSE)
- Multiple low-power modes: Sleep, Stop, Standby
- Power on/down reset
- 15 I/Os, all available as external interrupts, many 5V-tolerant
- 1x 5-channel DMA controller with flexible mapping
- 1x 12-bit ADC, up to 9+2 channels, 0V - 3.6V
- 1× 16-bit advanced-control timer wit 6 PWM-channels
- 4× 16-bit general-purpose timer
- 2x watchdog timer
- 1x SysTick timer
- 1x real-time clock (RTC) with calendar, alarm and periodic wakeup
- 1x USART interface with auto baud rate detection
- 1x I²C interface supporting Fast-mode Plus (1Mbit/s)
- 1x SPI interface with up to 18Mbit/s
- Hardware CRC-32 calculation unit
- Serial wire debug interface (SWD)
- Factory built-in embedded UART bootloader
For compiling install the ARM GNU toolchain. On Linux (Debian-based), this can be done with the following command:
sudo apt install build-essential gcc-arm-none-eabi
The MCU has an embedded bootloader with UART interface, which can be used to upload firmware using the CH340E USB-to-serial adapter integrated into the board. The Python tool stm32isp.py included with the example software can be used for this purpose. In order for this tool to work, Python3 must be installed on your system. To do this, follow these instructions. In addition PySerial must be installed. On Linux (Debian-based), all of this can be done with the following commands:
sudo apt install python3 python3-pip
python3 -m pip install pyserial
To upload firmware via the USB port, the MCU must first be put into boot mode using ONE of the following methods:
- Disconnect your board from all power supplies, press and hold the BOOT button, then connect the board to your USB port. The BOOT button can be released now.
- Connect your board to your USB port. Press and hold the BOOT button, then press and release the RESET button and then release the BOOT button.
The MCU can also be programmed via the SWD interface with corresponding hardware (ST-Link, DAPLink) and software (STM32CubeProg, OpenOCD, PyOCD, J-Link).
You can use STM32duino as an Arduino IDE core for several STM32 microcontrollers. There is also support for PlatformIO.
- EasyEDA Design Files
- STM Product Page
- MCU Templates
- MCU Flash Tools
- Arduino Support
- PlatformIO Support
- ST-Link Software
This work is licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License. (http://creativecommons.org/licenses/by-sa/3.0/)