07-06-2016 | | By Paul Whytock
A microcontroller is the natural choice for designers who want to develop embedded applications that need to bring together, analyze and act on real-time data. But when you want to get a prototype together as quickly as possible, you want a microcontroller family that is supported by an open hardware and software development environment. The STM32 Open Development Environment (STM32ODE) from STMicroelectronics builds a complete ecosystem around the company’s 32-bit microcontrollers.
The core of the STM32 Open Development Environment (ODE) is a set of STM32 Nucleo microcontroller-based development boards, with different STM32 variants available, into which users can plug more than 20 types of expansion boards. The expansion boards, together with the built-in features of the STM32, make it possible to quickly bring together the functions needed for a wide range of embedded applications. If you need to combine motion and environmental sensors with sub-gigahertz wireless communications, the hardware is there. If an application needs Bluetooth Low Energy instead for wireless data and NFC access to allow easy configuration of devices with a smartphone, it is easy to swap the boards in and out to produce the required combination of functionality. If an Ethernet connection is required, you can easily swap the STM32 Nucleo development board for one with an MCU featuring an Ethernet peripheral.
Fitting into header connectors on the core STM32 Nucleo development board, the expansion boards give you sensors, connectivity, audio and actuator functions. To provide the widest range of add-on functions possible, ST has given the STM32 Nucleo development boards two sets of expansion headers that fit both ST’s morpho connector and Arduino One connector. The Arduino connector makes STM32 Nucleo boards hardware-compatible with a huge selection of shields available on the market. The morpho connector allows developers to develop their own expansion boards, with direct access to all the STM32 pins, taking full benefit of its powerful set of peripherals. The result is a hardware prototyping system that can be assembled quickly and put into action without any need to wait for custom PCBs to be created.
The STM32 ODE does not just take care of the hardware elements. Software is an increasingly important area for differentiation in a market where the ability for multiple devices to co-operate using messages passed across an intranet or the entire internet is needed to make the most of embedded control. The STM32Cube software environment does exactly that.
The STM32Cube base packages provide a common set of base software, easing switching from one STM32 to another. They provide a full set of embedded software bricks to target STM32 embedded peripherals and the STM32CubeMX tool, that helps users not only to configure the system but also to generate initialization code matching the configuration choices. The STM32Cube base packages are complemented with STM32Cube expansion software packages (X-CUBE), adding more libraries, middleware, etc. All expansion software packages feature implementation examples for combinations of STM32 Nucleo development boards and STM32 Nucleo expansion boards. Each of the X-CUBE expansion software packages provides functions that initialize the devices on their respective expansion board and gives programmers a convenient abstraction layer that avoids the need to find out which registers to manipulate to perform each I/O task.
Thanks to their consistent design, the STM32Cube libraries simplify the job of combining the functions from different boards and making them work together. Each of the boards come with pre-built projects suitable for tool chains, like IAR EWARM, Keil MDK-ARM and AC6 System Workbench for STM32 (SW4STM32), based on a GCC compiler, as well as binaries that can be run out of the box. And for developers looking for an even quicker start, there are pre-integrated application examples called Function Packs, based on various combinations of STM32Cube expansion packages, able to benefit from various matching combinations of STM32 Nucleo expansion boards, available at ST’s website.
The number of STM32 Nucleo-compatible boards has grown rapidly since its introduction, with an increasing number of companies creating STM32Cube compatible software. As adoption around the world continues to grow, we expect more to arrive, offering an ever-expanding set of possibilities to prototype developers.