Back to labs

LabsLand ARM Community

STM32 Nucleo (C)

Program a real ARM microcontroller with peripherals and low-power modes. Use an online IDE.

  • Codeide
  • Real-time labs
  • University & College
STM32 Nucleo (C) remote laboratory hosted by LabsLand ARM Community

Laboratory information

Summary

The STM32 lab allows users to program and control an ST WB55RG Nucleo board remotely. In this version of the laboratory, it is programmed using a fully web-based C/C++ online IDE. It includes various input and output peripherals, such as switches, buttons, potentiometers, and sensors, as well as an LCD screen and a servo motor. The laboratory can be used to study low-energy consumption modes. It is suitable for use in courses on embedded systems, microcontroller programming, the Internet of Things (IoT), etc.

 

Laboratory Hardware and Peripherals

The STM32 remote laboratory by LabsLand allows users to program and control an ST Nucleo WB55RG board and various input and output peripherals, such as LEDs, an RGB LED, switches, an OLED display, and a servo motor. The laboratory also supports a range of low-power modes, including Sleep, Low-power run, Low-power sleep, Stop 0, Stop 1, Stop 2, Standby, and Shutdown. These modes can be used to study the impact of energy consumption on the performance and functionality of the STM32 board.

 

The online IDE

This laboratory is used through an online Integrated Development Environment (IDE) for programming the STM32 board using C/C++. This IDE, developed by LabsLand, is fully web-based and easy to use, making it suitable and effective for educational purposes. With the online IDE, students can write, compile, and upload code to the STM32 board from any computer with an internet connection. The online IDE also includes a range of features and tools.

 

The starting code

In traditional workflows, students using the STM32 remote laboratory by LabsLand might begin by using STM32CubeMX to generate a basic project that is compatible with the hardware and their project. To facilitate this process, LabsLand has pre-generated such a project and made it available to users as a starting point. This project is designed to be directly compatible with the hardware and serves as a good general starting point for educational purposes.

The STM32 remote laboratory relies internally on this template project, which can be downloaded by users to examine how it is configured. Users who wish to modify the template or generate their own project using STM32CubeMX can do so. In this case, they may prefer to use the alternative version of the laboratory that does not include an online IDE. That alternative version allows users to program the STM32 board using standard vendor or industry toolchains and upload a binary compiled file to the laboratory.

 

Courses & Applications

The STM32 remote laboratory by LabsLand is a versatile platform that can be applied to a wide range of courses, including:

  • Introduction to microcontrollers
  • Internet of Things (IoT)
  • Low-power computing
  • Sensor interfacing
  • Embedded Systems
  • Computer Architecture

These courses may involve programming the STM32 board, interfacing with various sensors and peripherals, and studying the principles of microcontroller-based systems and IoT. The STM32 remote lab provides the necessary hardware and software tools for hands-on learning and experimentation in these areas.

 

Other versions of this laboratory

In this version of the laboratory users program the boards using LabsLand's online C/C++ IDE, an easy-to-use IDE with a shallow learning cuve designed for educational use.

An alternative version of the lab is available ("STM32 Nucleo - No IDE") that is designed to be used with any toolchain, including industry-standard toolchains, offline IDEs or fully-fledged online IDEs such as Mbed's. In this alternative version, users upload directly compiled binary files to program the board.

 

The REMOCLEC project

The development of this laboratory is conducted as part of the REMOCLEC project. The REMOCLEC consortium, led by LabsLand, is also formed by the University of Deusto and Plegma Labs. REMOCLEC is funded by the Smart4All European project, which is funded by the European Union’s Horizon 2020 research and innovation programme.

What students do

Operate real equipment and reason from the measurements.

Recommended level
University & College
Typical access model
Codeide, Real-time labs
Works on
Modern web browsers on school, university, and home computers.
Teaching use
Suitable for assignments, demonstrations, LMS-linked activities, and remote practical work.

Video

Available experiments

Use the real laboratory from the browser.

STM32 IDE (C/C++)

Program a STM32 Nucleo board with C or C++

Teaching resources

Public laboratory contents

Default generated project (template)

This compressed file contains the default generated template or project used internally in the online editor.

Read more

Normally, when developing software for an STM32 device in the traditional way (with a "live" board), the project is started by configuring the device using the STM32CubeMX program. This free program, from STMicroelectronics, allows the initial configuration of the project and generates its initial code, as well as the files needed to open the project in different development environments.

In the online editor provided by this version of the LabsLand lab for STM32 the aim is to simplify the process as much as possible. It should also be taken into account that much of the hardware is already connected and fixed. For this reason, we have chosen to propose as a basis a template (a concrete generated startup project) that incorporates, correctly configured, the various peripherals of the laboratory.

Internally, in a transparent way for the user, when using the online IDE, this specific configuration is being used. The user will not need to generate it with STM32CubeMX, it is already generated. However, so that it can be used as a reference or as a starting point for alternative projects, outside the online IDE, a zipped file with this same template (the generated project) is provided in this material.

By downloading the corresponding compressed .ZIP file with this material, you will have access to the entire project generated by us by STM32CubeMX, prepared for the specific hardware of the laboratory; and used internally by the IDE. In addition, the archive will also contain a file with IOC ending, which can be opened with STM32CubeMX itself. In this way, a user who wishes to do so will be able to edit this configuration, and if desired, use it in different ways.

Note that there is an alternative version of the lab, called "No-IDE", which allows uploading a compiled binary. This version allows the use of modified templates.

Open resource

README for the default generated code (template)

Notes regarding the default template that may be used with the lab.

Open resource

Smart Parking design activity for STM32 and Online IDE

Activity to conduct on the 3D smart parking model controlled with the real STM32 device

Read more

Design and implement a smart parking system logic using the STM Nucleo-WB55RG board in a remote lab setting. This interactive activity, hosted on LabsLand’s STM Nucleo-WB55RG remote laboratory, provides an immersive experience through a 3D virtual model of a parking system, which is controlled and interacts bidirectionally with the real STM device. You will develop your logic using C programming in an easy-to-use online IDE, without the need for physical hardware.

Open resource

Smart Parking design activity for STM32 and Online IDE (Solution)

Solution for the Smart Parking design activity for STM32 and Online IDE

Read more

This is only the solution, available for instructors. You may download the activity itself in the non-solution link. This solution is designed for the C language online IDE using the standard template.