Blinking an LED might not sound particularly exciting, but it’s often where the fun begins. Once you understand how to control an output, you can start experimenting with sensors, motors, displays, and eventually build something that responds to the world around it. That’s the idea behind two new Elektor Academy Pro courses developed by Clemens Valens: MicroPython for STM32 and Arduino for STM32 . Both introduce embedded programming using STM32 Nucleo boards, but they take different routes to get there. Each course provides access to online lessons through the Elektor Academy Pro Learning Platform and includes a printed booklet by Clemens Valens, downloadable project files, an STM32 NUCLEO-F411RE development board with a USB cable, and a component kit. The kit contains LEDs, resistors, a potentiometer, switches, sensors, displays, a relay module, a servo motor, a breadboard, and jumper wires. Both courses also feature hands-on examples and mini projects, allowing participants to explore the concepts covered in the lessons. The new courses expand Elektor’s Embedded Programming Series, which began with five courses earlier this year. The series now covers ESP32, Raspberry Pi Pico, STM32, and Arduino, with courses using C/C++ and MicroPython depending on the platform. Whether you prefer Python or feel more comfortable with Arduino, the courses offer a practical way to explore what STM32 microcontrollers can do. The two Elektor Academy Pro STM32 programming courses combine an STM32 NUCLEO-F411RE development board, an electronic component kit, and a printed booklet for either MicroPython or Arduino, alongside access to online lessons. Source: Elektor. MicroPython for STM32: Experiment, Test, and Learn One of the appealing things about MicroPython is how quickly you can try something out. Instead of compiling and uploading a program every time you make a change, you can enter commands directly and see what happens. In MicroPython for STM32 , Clemens introduces this approach using the Thonny IDE and its interactive Python shell, known as REPL. The course starts with MicroPython basics and guides learners through setting up an STM32 NUCLEO-F411RE board. From there, the exercises introduce digital I/O, analog inputs, PWM, serial communication, I²C, SPI, timers, and interrupts. Participants also learn how to adjust an LED’s brightness with a potentiometer, communicate with external devices, and work with sensors and actuators. The accompanying book explore machine control, alarm systems, robotics, and home automation. One example uses a light-dependent resistor, a potentiometer, and a relay to create an automatic lighting controller. The program even uses hysteresis to prevent the relay from switching repeatedly when the light level is close to the selected threshold. It’s a useful example of how a relatively simple circuit can introduce concepts that matter in real embedded applications. Connecting an OLED display to an STM32 Nucleo board using the I²C interface. Source: Clemens Valens, MicroPython for STM32. Arduino for STM32: Familiar Tools, More Possibilities If you’ve already worked with Arduino, you might be wondering why you would need to learn another development environment to experiment with STM32. The good news is that you don’t necessarily have to. In Arduino for STM32 , Clemens shows how to program STM32 Nucleo boards using the Arduino IDE and C/C++. It begins by explaining how to install STM32 board support and write a first program. It then introduces digital and analog I/O, communication protocols, timers, interrupts, and techniques for working with sensors and actuators. As the exercises progress, the examples move beyond individual components. There’s a motor control circuit, servo motor applications, and even a model car controller concept that combines motor speed, direction, braking, and steering. One particularly useful addition is the debugging material. Clemens explains how to set breakpoints, step through a prog