STM32F7 Discovery is feature-rich and packs a punch
First look at the new discovery kit for the STM32F7 microcontroller.
As the name suggests, the STM32F7 Discovery is an evaluation and prototyping platform for the 32-bit ARM powered STM32F7 series of microcontrollers. Capable and energy-efficient Cortex-M7 based devices from ST, these can be clocked at up to 216MHz and include multiple DMA controllers and a graphics accelerator, along with USB, SDIO, CAN and audio interfaces.
The Discovery kit packs an impressive selection of hardware features that enable you to put the STM32F7 to the test and immediately start prototyping audio, video and networked applications:
- STM32F746NGH6 microcontroller with 1 Mbyte Flash and 340 Kbytes of RAM
- On-board ST-LINK/V2-1 supporting USB re- enumeration capability
- USB functions: virtual COM port, mass storage, debug port
- 4.3-inch 480x272 color LCD-TFT with capacitive touch screen
- Camera connector
- SAI audio codec
- Audio line in and line out jack
- Stereo speaker outputs
- Two ST MEMS microphones
- SPDIF RCA in put connector
- Two pushbuttons (user and reset)
- 128-Mbit Quad-SPI Flash memory
- 128-Mbit SDRAM (64 Mbits accessible)
- Connector for microSD card
- RF-EEPROM daughter board connector
- USB OTG HS & FS with Micro-AB connectors
- Arduino Uno V3 connectors
Notable is the inclusion of Arduino-compatible headers, which may be in response to the criticism that previous Discovery boards were not “hobby friendly”. Although it's likely that ST simply did not anticipate that Discovery boards would prove to be a hit with hobbyists, as the primary market is almost certainly professional design engineers. In any case, this is a handy addition that will facilitate rapid prototyping via the many existing Arduino “shields” out there.
STM32CubeF7 firmware architecture. © 2015 STMicroelectronics.
The STMCube initiative aims to reduce development time, effort and cost, with the STM32Cube covering — you've guessed it, the STM32 device portfolio.
The STM32CubeF7 is billed as a comprehensive embedded software platform for the STM32F7 Series that we are interested in. It provides:
STM32Cube Hardware Abstraction Layer (HAL) for maximum portability across the STM32 portfolio — hopefully extending to future device series.
Components including CMSIS-RTOS, USB host and device stacks, graphics (StemWin, LibJPEG), FAT filesystem, TCP/IP (LwIP) and SSL/TLS (PolarSSL).
Demo that implements all of the above components.
Development with SMT32CubeF7 is supported using ST's free, Eclipse-based System Workbench, Keil MDK-ARM and IAR Embedded Workbench. With a little effort it should be possible to use the HAL and components with other toolchains. It's also worth noting that these are provided with permissive licences, meaning that modified versions can be redistributed (of course, it goes without saying that you should check the particular licence and your intended use before doing so).
The aforementioned demo comes preloaded on the Discovery board and when power is applied a graphical user interface is started that enables you to launch the following applications:
- audio player
- video player
- Reversi game
- audio recorder
- garden control
- home alarm
- VNC server
Details of the demonstration platform — including architecture, kernel initialisation and processes, storage, graphics widgets, customisation and hardware acceleration, along with application descriptions and usage information — can be found in the user manual PDF.
mbed pinout. Image source: developer.mbed.org.
One particularly cool feature is support via the mbed online compiler. Upon plugging the board into a computer it appears as a storage device, containing a HTML file which can be opened to add the platform to an mbed.org account. Although at the time of writing it appears that this is still a work-in-progress, with basic platform support there, but no libraries and demo applications just yet.
However, one impatient and, it must be said, inventive member of the community has succeeded in getting the mbed blink example running on the board, by cloning the mbed sources and patching them to allow building for DISCO_F746NG target locally using GCC.
The STM32F7 Discovery packs a powerful microcontroller and surprising amount of features for a board that at the time of writing is available for only £35 + VAT. The STM32CubeF7 software provides a turnkey solution for flexing its muscles and a set of reusable — and reuse-friendly licensed — components for developing new applications. It's great to see that there is a fully featured toolchain option available at no cost in the form of System Workbench, and as mbed support is improved it could become an excellent development option and provide a quick on-ramp.
Although a platform such as this is designed for use in evaluation and prototyping, it's easy to see how it might become a favourite with hobbyists and also engineers developing tools for their own use. As has been the case with the STM32F4 Discovery, which similarly benefits from that combination of price point and capabilities that has ensured it has no shortage of fans.