Skip navigation
All Places > STM32 MCUs Community > Blog
1 2 Previous Next

STM32 MCUs Community

26 posts

ST has extended the STM32L4 technology providing more performance (up to 120 MHz) , more embedded memory (up to 2 Mbytes of Flash memory and 640 Kbytes of SRAM) and richer graphics and connectivity features while keeping the best‐in‐class ultra‐low‐power capability.

The STM32L4+ series shatters processing capabilities limits in the ultra‐low‐power world by delivering 150 DMIPS/409 CoreMark score while executing from internal Flash memory and by embedding 640 Kbytes SRAM enabling more advanced consumer, medical and industrial low-power applications and devices.

Let discover the amazing powerful of the STM32L4+ Discovery board with 3 Graphics demo already embedded.


If you want to learn more on STM32L4+, visit our STM32 Education web page with free online training!





In some of our STM32 the bootloader (system memory) supports SPI communication to reflash the STM32 internal flash.


Here are some drivers for the Total Phase Aardvark.


Here is an example of usage.


I tested it on a Nucleo L476 and used SPI2 of the STM32 to communicate to the


Note: make sure that your STM32L476 is a revision 4 (rev 3 do not support SPI for bootloader).


Make sure to have BOOT0 connected to VDD (please see jumper below connecting BOOT0 and VDD). This will permit the STM32 to boot in Bootloader mode after reset or power cycling.


Here are my connections to the Aarvark:

On your PC you will need to install CodeBlocks: I recommend that you download CodeBlocks with mingw included(GCC/C++ Compiler), named codeblocks-16.01mingw-setup.exe on the following link :


Then open the project that is attached to this email with CodeBlock:


Make sure that the Aarvark driver is installed correctly.


In the code you will need the following calls in the main functions:


void main (void)



    //initialize Aardvark hardware

    handle = Hardware_Init();


    //Connect to Bootloader

    printf("\n Connecting to BL System Memory ... ");




    printf("\n Writing File to FLASH Memory ... ");

    WriteMemory(handle, 0x08000000,"FileUSER.bin");    // FileUSER.bin must be under project directory

//(0x08000000 is the FLASH address and it could be changed)




Then build the code on CodeBlock


Connect both Nucleo board and Aarvark.


Press reset on the Nucleo board and then press Run on the Codeblocks to run the app which will program the image to the STM32L4.


You can verify that the programming was done correctly by reading the flash using ST-LINK Utility.





This blog is dedicated to the attendees of the "Moving from 8 to 32 bits hands-on" workshops taking place in many cities across Europe through March 2018: 


You can find a nearby city and register using the following link : 


Moving from 8 to 32 bits hands-on workshop 



This is the right place for you to put your comments and feedback on the workshop.

Please specify in the comments where you have attended to the workshop


You can use this place to ask questions you did not ask during the workshop.

Please also specify in the comments where you have attended to the workshop


Best regards,


Thanks to the close collaboration between the stm32duino community and ST, Arduino™ IDE brings simplicity to the STM32 ecosystem of developers.STM32duino

Indeed Arduino software libraries have been ported on top of the STM32 Cube software drivers to enable Arduino developers to take direct benefit from any STM32 mcu (see

The Arduino™ IDE can simply be configured to support boards from each STM32 mcu serie : to help you get started with the Arduino™ IDE on STM32, follow the "Getting Started" wiki (stm32duino wiki:


Only one package to support all STM32 mcu series. See the Latest release to follow the core development.

Non exhaustive list of proposed targets:


Full list is available here: GitHub - stm32duino - boards available 

Compatibility of the core has been extended and allows to benefit of more Arduino Libraries. See Libraries · stm32duino/wiki for further information.


STM32 libraries have been developed to support dedicated hardware features and X-NUCLEO :

  • Ethernet
  • SD
  • ...

So have a look here to see which one are available or thanks the Arduino "Library Manager" using "stm32" to filter your search.


You can find in attachment of this blog post the presentation of the STM32duino workshop done by parata.carlo in Maker Faire Rome 2017. It shows how to start to play with NUCLEO and X-NUCLEO libraries in the Arduino™ IDE.



From STM32F1, the world first 32-bit ARM® Cortex®-M MCU announced on June 11th to STM32H7, the world most efficient MCU released in 2017, the STM32 ARM® Cortex®-M microcontroller has grown into a large product family and a wide ecosystem of tools and software to become a market leader.


Let’s come back on 10 of the main achievements that paved the road to this success through the last 10 years.


  1. From the first 1st 72 Mhz / 20 Kbyte Cortex-M3 up to 400 MHz / 2 Mbytes Cortex-M7 : a 10 years product journey and technological evolution 
  2. A constant evolution of the portfolio to anticipate and match the market expectations in term of embedded features, performance, power consumption and cost. The STM32 family has now more than 10 series and 700 part numbers including the STM32H7, the world’s most efficient MCU in terms of processing performance (it scored 2020 in the EEMBC CoreMarkTM) and the STM32L4, the market leader in terms of power consumption performance (It scored 253 in the EEMBC ULPMark™ (more on ULPBench).
  3. A decade of business records
  4. In 2010, we introduced the first STM32 Discovery Kit (the STM32VLDISCOVERY) an affordable and complete solution for the evaluation of the outstanding capabilities of STM32 MCUs, followed in 2014 by the 1st STM32 Nucleo, the new prototypers’ best friend.  
    We have sold today more than 1 million of these development kits.

  5. In 2014, we launched the STM32Cube, a 100% free software solution that help developers’ live thanks to the combination of
    STM32CubeMX a PC configuration and initialization tool
    - STM32Cube embedded software libraries : the generic embedded software components required to develop an application (HAL, LL, middleware components, and examples).
    With more than 300,000 downloads and with regular releases of new functionalities, STM32Cube is now the pillar of the STM32 Ecosystem.

  6. In 2017 the STM32 development ecosystem was been ranked among the top three in semiconductor companies by EETimes (

  7. We probably have the most complete market portfolio to address the key segments of
    • IoT for Wired and Wireless connected Objects with
      • Ultra Low Power MCUs (wireless)
      • Very high performance MCUs (wired)
      • Graphical User Interface
      • Security 
    • Industrial
      • Safety operation
      • Very High performance
    • Motor Control with expertise for Consumer, Industrial and Appliances
    • Sensing Applications (motion, audio sensing) with a complete development kit offer featuring ST Sensors

  8. We have launched the ST-MCU-FINDER application that enables developers to explore from their mobile device, or from their desktop, the latest microcontrollers as well as hardware and software tools to connect the complete portfolio of STM32 32-bit and STM8 8-bit microcontrollers and development boards.
  9. We have made a longevity commitments for the whole STM32 family, ensuring 10 years of life time for each single part number, which is a strong requirement from the industrial market in particular.

  10. We have introduced the ST Community that enables customers, partners, developers, makers, schools, universities, ST employees and all ST-product enthusiasts to collaborate, connect, communicate, learn and share their insights via a powerful social community application.


While we are increasing our presence in the education, makers and hobbyist communities to make our technology even more accessible, the STM32 product portfolio and ecosystem will continue its evolution to accompany the next technology revolutions and help developers bring innovative applications on the market.


Jump on the fast train of innovation and release you creativity for another 10 years of success with STM32 !




Zephyr Project is an open source project supported by the Linux Foundation. Publicly launched on February 2016, it aims at providing a secure and scalable RTOS for the IoT and fit into smallest memory footprints, which Linux cannot address.


On June 15th, Zephyr OS V1.8 has been released. Among various features, such as Tickeless Kernel or MPU support, Zephyr RTOS supports now 16 different STM32 based boards, mostly ported by community, but also the Disco L475 IoT (B-L475E-IOT01a) promoted by ST as a flagship for IoT applications.


In order to ease adoption and open contributions to a larger community, Zephyr also made recently some changes. Main source tree is now hosted on GitHub to speed up the review and acceptance of incoming pull requests. Besides, Windows environment support has been added recently and you can now work seamlessly on Zephyr on Linux, Mac Os and Windows.


Even though Zephyr takes advantage of the stability of the world famous Wind River's commercial OS VxWorks from which it is derived, it is a young, innovative and ambitious project with a lot of on-going works such as Device Tree support to ease configuration, Javascript runtime support for quick prototyping,  and wide choice of connectivity, starting with BT 5.0.


To make this happen fully, Zephyr community looks forward to your contributions. If you're curious or interested, check Zephyr project website, contribution guidelines and come and enjoy cool wind of open source!



Visit STM32 Education page for Motor Control here. This page is designed to help engineers find the necessary material (hardware, software and documentation) to develop the best solution for their applications by type of motor:

  • Permanent magnet synchronous motors (PMSM) 
  • Brushless DC electric motors (BLDC)
  • Stepper motors

Committed to motor control for more than 20 years, ST offers a complete and wide range of material to help you find the best solution and get your application to market quickly:

  • Software development tools including software development kits (SDKs) and the ST Motor Control Workbench which includes a user-friendly graphical user interface (GUI) and firmware library configurator
  • Firmware libraries and sample application code
  • Motor Control development kits and expansion boards for both control and power management
  • Dedicated documentation: application notes, user manuals, getting started guides and hands-on presentations

This example project acts as a STM32 bootloader SPI host to communicate with another STM32 MCU configured to boot in system memory. The code provided in this example can be programmed onto a STM32L476RG-Nucleo and will use SPI1 as a default interface. The bootloader library can be used with any other STM32 MCU.


The project can be found on my GitHub repository.


Library functions:


void     BL_Init(SPI_HandleTypeDef *hspi);
void     BL_Get_Command(uint8_t *pData);
uint8_t  BL_GetVersion_Command(void);
uint16_t BL_GetID_Command(void);
void     BL_ReadMemory_Command(uint32_t address, uint8_t ***, uint8_t *pData);
void     BL_Go_Command(uint32_t address);
void     BL_WriteMemory_Command(uint32_t address, uint8_t ***, uint8_t *pData);
void     BL_EraseMemory_Command(uint16_t nb, uint8_t code);
void     BL_WriteProtect_Command(uint8_t nb, uint8_t *codes);
void     BL_WriteUnprotect_Command(void);
void     BL_ReadoutProtect_Command(void);
void     BL_ReadoutUnprotect_Command(void);

Nucleo setup

Clive One

LoRa Discovery Kit

Posted by Clive One Apr 5, 2017

STM32L072 and LoRa Discovery Kit featuring Open LoRa module by Murata using STM32L072CZY6TR MCU 


  • Ultra-low-power STM32L0 Series MCU, Cortex® -M0+ based with 192Kbytes of Flash memory, 20Kbytes of RAM, 6Kbytes of EEPROM, LCD, crystal-less USB, T-RNG, PCROP
  • 157dB maximum link budget
  • +20dBm, 100mW constant RF output versus Vsupply
  • +14dBm high efficiency PA
  • Programmable bit rate up to 300kbps
  • High sensitivity: down to -137dBm
  • Bullet-proof front end: IIP3 = -12.5dBm
  • 89dB blocking immunity

  • Low RX current of 10mA, 200nA register retention
  • Fully integrated synthesizer with a resolution of 61Hz
  • FSK, GFSK, MSK, GMSK, LoRa™ and OOK modulations
  • Built-in bit synchronizer for clock recovery
  • Sync word recognition
  • Preamble detection
  • 127dB+ dynamic range RSSI
  • Built-in temperature sensor and low battery indicator 1.65V to 3.6V power supply



The AT_Slave example (creates AT modem via ST-LINK VCP) is about 41KB in size


Attached is original shipping firmware (April 2017) Ping-Pong Demo

Added LoraDisco_ATSlave_US915.hex a build of the example from the Cube Extensions, USA 915 MHz option selected

Added LoraDisco_ATSlave_US915_V111.hex a build from the V1.1.1 tree

Added LoraDisco_ATSlave_US915HYBRID_V111.hex a build from the V1.1.1 tree w/US915_HYBRID (17-Aug-2017)

Added a build using Keil native sscanf/printf w/AT+SEND fixed

u-Blox announces a new kit utilizing the STM32F437VGT6 (180 MHz, 1MB FLASH, 256KB RAM) and ST-LINK w/mbed support

C030 App Board | u-blox 


u-Blox just released their NB-IoT and 2G/3G mbed-enabled IoT starter kit which features an integrated ARM® Cortex M4 CPU, 1MB flash, NB-IoT or 2G/3G module, GNSS module MAX-M8C, integrated antennas, Out‑of‑the‑box international eUICC roaming and compatibility for Arduino® shields


If you missed us today at Embedded World 2017, here is a selection of the most exciting moments :


STM32 is more present than ever this year with the STM32 Fan Zone


STM32 Fans testifing about their love for STM32 on the testimony wall

And the complete image at the end of the day :


Wait at the free ST boards delivery booth :


The STM32 Ecosystem wall of boards, also introducing this year the MCU Finder for PC

Our special guest this year : Tenaya Hurst: THE Arduino Woman

Tenaya perfoming live her song This Is How We Make at the STM32 Fan Zone forum

4:30PM : time to draw the winner of the STM32FanPhoto contest

And the winner is Benjamin Cornuel , congratulations and thank you to all the participants.

See you tomorrow, the contest repeats, one more drone to win !


Read also : 

Embedded World 2017 - Exciting moments from day 2

Embedded World 2017 - Exciting moments from day 3

We are back for the final report of the best moments at Embedded World 2017.


Let's continue the visit of the STM32 Fan Zone :


Adam Berlinger and Jan taking care of the STM32Cube and STM32 Technical support corner


Thomas Van Aken and Steven Boeckx, our guests from Belgium at the STM32 Maker corner, with their Gameboy emulator on a STM32F7 Discovery. Well done guys ! 


And our partners, Embedded Wizard :


Arduino :

Frederico Musto, Tenaya and the complete Arduino team :


Alessandro Casadio, GH Entreprise General Manager, and his Speedy Board, the faster 3D printer controller board on earth, powered by STM32F4


Florian Ebner from Conrad and the RF500 3D Printer


The Kuka robot, powered by STM32 serving drinks to our thirsty visitors : 


Simon Ford from ARM talking about ARM mbed :


Michel Buffa, General Manager Microcontrollers Division having fun with Tenaya Hurst, the Arduino Lady


while the STM32 production counter rises new heights


The temperature increases while waiting for the last DJI Drone's lucky draw


And the new winner is Christoph Becks, congrats !


The 3rd and last testimony wall covered with love messages

Thanks to all the visitors for their contributors, and see you next year for another week of creativity, innovation and fun at EW2018  with STM32 !


Read also :

Embedded World 2017 - Exciting moments from day 1

Embedded World 2017 - Exciting moments from day 2

We are back for our report of the best moments at Embedded World 2017 on day 2.

Let's take a look at STM32 demos.


Jean-Julien PEGOUD at the STM32L corner :


Laurent Fay and Radek R at the HMI of things corner :


Nicolas Santini at the STM32F7 corner


Jaroslav Becka and the STM32L4


Bartosz, Yoann, Raphael at the Sub-1GHz corner:


Abdelhamid, a visitor and Cedric at the STM32 H7 corner


Visitors using the STM MCU Finder tool:

Tenaya Hurst: THE Arduino Woman is back on the STM32 Fan Zone forum for a very hot performance :


And the winner of the "Why do I love STM32" video contest is ... Sergey Vasyliev

Today's winner of the DJI Drone with the #STM32fanphoto contest : congrats Jakub Klimasz from Poland

Testimony wall is really full with STM32 funny messages:


More fun coming, stay tuned for the last day report


Read also :

Embedded World 2017 - Exciting moments from day 1

Embedded World 2017 - Exciting moments from day 3

Espruino is an open source JavaScript interpreter for microcontrollers. It is running on Espruino boards and various other boards based on STM32 F4 family.


The support of L4 Low Layer API has been added recently via the board Nucleo L476RG. It is now possible to use Espruino solution on this board.


Simply download the espruino_1vX.Y_nucleol476rg.bin file online and copy it to the board mass storage. Then, use Espruino IDE and you're able to write JavaScript on your device.


Espruino web IDENucleo L476RG board


If needed, you can follow the quick start guide.