Arduino-compatible, ESP32-controlled, 2-wheeled Balancing Robot
The Elektor Mini-Wheelie is an experimental autonomous self-balancing robot platform. Based on an ESP32-S3 microcontroller, the self-balancing robot is fully programmable using the Arduino environment and open-source libraries. Its wireless capabilities allow it to be controlled remotely over Wi-Fi, Bluetooth or ESP-NOW or to communicate with a user or even another robot.
An ultrasonic transducer is available for detecting obstacles. Its color display can be used for displaying cute facial expressions or, for the more down-to-earth users, cryptic debug messages.
The robot comes as a neat kit of parts that you must assemble yourself. Everything is included, even a screwdriver.
Note: The Mini-Wheelie is an educational development platform intended for learning, experimentation, and robotics development. It is not classified as a toy for children, and its features, documentation, and intended audience reflect this purpose. The product is aimed at students, educators, and developers who wish to explore robotics, programming, and hardware integration in an educational setting.
Specifications
ESP32-S3 microcontroller with Wi-Fi and Bluetooth
MPU6050 6-axis Inertial Measurement Unit (IMU)
Two independently controlled 12 V electric motors with tachometer
Ultrasonic transducer
2.9" TFT color display (320 x 240)
MicroSD card slot
Battery power monitor
3S rechargeable Li-Po battery (11.1 V/2200 mAh)
Battery charger included
Arduino-based open-source software
Dimensions (W x L x H): 23 x 8 x 13 cm
Included
1x ESP32-S3 Mainboard + MPU6050 module
1x LCD board (2.9 inch)
1x Ultrasonic sensor
1x Battery pack (2200 mAh)
1x Battery charger
1x Motor tyre kit
1x Case board
1x Acrylic board
1x Screwdriver
1x Protective strip
1x Flex cable B (8 cm)
1x Flex cable A (12 cm)
1x Flex cable C
4x Copper column A (25 mm)
4x Copper column B (55 mm)
4x Copper column C (5 mm)
2x Plastic nylon column
8x Screws A (10 mm)
24x Screws B (M3x5)
8x Nuts
24x Metal washers
2x Zip tie
1x MicroSD card (32 GB)
Downloads
Documentation
Dit boek gaat over de Raspberry Pi, en over het programmeren in C. De programmeertaal C en het besturingssysteem Linux (Raspbian) passen uitstekend bij elkaar. Alles wat we nodig hebben om in C te programmeren wordt meegeleverd met het besturingssysteem van de Raspberry Pi.
In dit boek leert u hoe C gebruikt wordt met de Raspberry Pi, en krijgt u een overzicht van de taal.
WiringPi is een softwarebibliotheek voor de Raspberry Pi waarmee C hardware-uitbreidingen kan benaderen. Die bibliotheek wordt gebruikt om sensoren uit te lezen en om extra hardware aan te sturen. U gaat experimenteren met LED’s en schakelaars, met motoren, met geluid en met sensoren voor temperatuur, luchtdruk, en luchtvochtigheid.
Met een Linux-systeem kunt u een webserver maken, inclusief interactieve websites met PHP en WiringPi. Daarom is ook een beknopt overzicht van HTML en PHP in het boek opgenomen. In de voorbeelden worden sensoren via het web uitgelezen en worden apparaten bestuurd. In het laatste voorbeeld wordt een temperatuurlogger gemaakt. Die meet elk kwartier de temperatuur. Een tabel met de meetwaarden kan via het web worden uitgelezen.
Alle voorbeeldprogramma’s kunnen worden gedownload van de website van Elektor.
This complete ESP32 microcontroller programming course features a textbook, a component kit, hands-on projects, and a comprehensive online course with simulations. It is ideal for step-by-step learning of embedded systems programming with Arduino using a practical, hands-on approach.
A Practical Introduction to Embedded Systems with the ESP32
This course is designed for people who are new to embedded systems and looking for a structured, example-driven way to get started.
A kit of parts comprising LEDs and resistors, switches, sensors and actuators, displays, a breadboard and wires, and more is included. These are used in the course to illustrate example applications.
No prior experience with Arduino or embedded development is required. Each section features hands-on examples and mini projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the examples but also to build on them with your own ideas and applications.
What Will You Learn?
Microcontroller programming with the ESP32 using the Arduino IDE
Working with Digital I/O, read buttons and encoders, control LEDs and relays
Read analog inputs, voltages, and analog sensors
Generating analog output signals and PWM
Use serial communication like UART, I²C and SPI to control displays and read digital sensors and SD cards
Managing time
Working with interrupts
Real-time sensor input and control via buttons, LEDs, and displays
Control actuators like relays and servo motors
Who Is It For?
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
What's Inside the Box?
Access to the full course on the Elektor Academy Pro Learning Platform
ESP32 microcontroller board + USB cable
Book: Programming Microcontrollers in C/C++ Using Arduino
Downloadable project files for every module
Component Box:
2× LED, red, 5 mm
LED, green, 5 mm
3× Resistor, 470 Ω, 0.25 W
LDR
Potentiometer, 10 kΩ, linear
Pushbutton
Rotary encoder module
Relay module
DHT22 Humidity & Temperature Sensor
TM1637-compatible 4-digit 7-segment display
MPU-6050 IMU with headers
SSD1306-compatible I²C OLED display
Micro SD card adapter with header
Buzzer
SG90 Micro Servo
ILI9341-compatible SPI 240×320 TFT display
20× Jumper wires
Breadboard
All Programming Courses (and differences in content)
Course
Arduino
Raspberry Pi Pico with Arduino C/C++
ESP32 with Arduino C/C++
Raspberry Pi Pico with MicroPython
ESP32 with MicroPython
Online Course
Access to Arduino Course
Access to Pico with Arduino C/C++ Course
Access to ESP32 with Arduino C/C++ Course
Access to Pico with MicroPython Course
Access to ESP32 with MicroPython Course
Board
Uno R3
Raspberry Pi Pico
ESP32
Raspberry Pi Pico
ESP32
Book
Programming Microcontrollers in C/C++ Using Arduino
Programming Microcontrollers in C/C++ Using Arduino
Programming Microcontrollers in C/C++ Using Arduino
Programming Microcontrollers in MicroPython
Programming Microcontrollers in MicroPython
Kit
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
Praxisnahe Projekte, Profi-Tricks und eigene Anwendungen
Dieses Buch führt Sie Schritt für Schritt in die faszinierende Welt der State Machines ein und zeigt, wie Sie Hardware direkt und effizient ansteuern können – jenseits klassischer CPU-gesteuerter Ansätze.
In diesem Buch lernen Sie:
LEDs und NeoPixel kreativ steuern: Blinken, Dimmen, Farbwechsel und komplexe Animationen
Taster und Encoder zuverlässig auslesen und in Echtzeit in Ihre Projekte integrieren
Analoge Eingänge (ADC) nutzen und Signale digital steuern
Servos präzise ansteuern und Bewegungsabläufe automatisieren
SPI mit PIO umsetzen, um Displays, Sensoren und Module anzusteuern
Menüsysteme und Submenüs auf SPI-Displays realisieren, inklusive Navigation über mehrere Taster
PWM, Signalgenerierung und Frequenzsteuerung für akustische oder visuelle Effekte
Debugging-Strategien und Tipps, um Ihre PIO-Programme effizient zu entwickeln
Alle Beispiele sind praxisnah, sofort umsetzbar und zuverlässig. Mit klaren Anleitungen, Hintergrundwissen und fertigen Codebeispielen lernen Sie, die PIO-Fähigkeiten des Pico maximal zu nutzen – egal ob für Maker-Projekte, Prototypen oder professionelle Anwendungen.
Erleben Sie, wie Sie komplexe Hardwaresteuerung elegant mit dem Pico realisieren können – schneller, flexibler und leistungsfähiger als je zuvor.
For Raspberry Pi, ESP32 and nRF52 with Python, Arduino and Zephyr
Bluetooth Low Energy (BLE) radio chips are ubiquitous from Raspberry Pi to light bulbs. BLE is an elaborate technology with a comprehensive specification, but the basics are quite accessible.
A progressive and systematic approach will lead you far in mastering this wireless communication technique, which is essential for working in low power scenarios.
In this book, you’ll learn how to:
Discover BLE devices in the neighborhood by listening to their advertisements.
Create your own BLE devices advertising data.
Connect to BLE devices such as heart rate monitors and proximity reporters.
Create secure connections to BLE devices with encryption and authentication.
Understand BLE service and profile specifications and implement them.
Reverse engineer a BLE device with a proprietary implementation and control it with your own software.
Make your BLE devices use as little power as possible.
This book shows you the ropes of BLE programming with Python and the Bleak library on a Raspberry Pi or PC, with C++ and NimBLE-Arduino on Espressif’s ESP32 development boards, and with C on one of the development boards supported by the Zephyr real-time operating system, such as Nordic Semiconductor's nRF52 boards.
Starting with a very little amount of theory, you’ll develop code right from the beginning. After you’ve completed this book, you’ll know enough to create your own BLE applications.
This complete STM32 microcontroller programming course features a textbook, a component kit, hands-on projects, and a comprehensive online course. It is ideal for step-by-step learning of embedded systems programming with Arduino using a practical, hands-on approach.
A Practical Introduction to Embedded Systems with the STM32
This course is designed for people who are new to embedded systems and looking for a structured, example-driven way to get started. A kit of parts comprising LEDs and resistors, switches, sensors and actuators, displays, a breadboard and wires, and more is included. These are used in the course to illustrate example applications.
No prior experience with Arduino or embedded development is required. Each section features hands-on examples and mini projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the examples but also to build on them with your own ideas and applications.
What Will You Learn?
Microcontroller programming in C/C++ with the STM32 using the Arduino IDE
Working with Digital I/O, read buttons and encoders, control LEDs and relays
Read analog inputs, voltages, and analog sensors
Generating analog output signals and PWM
Use serial communication like UART, I²C and SPI to control displays and read digital sensors and SD cards
Managing time
Working with interrupts
Real-time sensor input and control via buttons, LEDs, and displays
Control actuators like relays and servo motors
Debug programs using breakpoints and stepping through code
Who Is It For?
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
What's Inside the Box?
Access to the full course on the Elektor Academy Pro Learning Platform
STM32 NUCLEO-F411RE microcontroller board
Book: Arduino for STM32
Downloadable project files for every module
Component Box:
2× LED, red, 5 mm
LED, green, 5 mm
3× Resistor, 470 Ω, 0.25 W
LDR
Potentiometer, 10 kΩ, linear
Pushbutton
Rotary encoder module
Relay module
DHT22 Humidity & Temperature Sensor
TM1637-compatible 4-digit 7-segment display
MPU-6050 IMU with headers
SSD1306-compatible I²C OLED display
Micro SD card adapter with header
Buzzer
SG90 Micro Servo
ILI9341-compatible SPI 240×320 TFT display
20× Jumper wires
Breadboard
Design IoT Projects with Raspberry Pi, Arduino and ESP32 The Internet of Things (IoT) is becoming a major application area for embedded systems. As a result, more and more people are becoming interested in learning about embedded design and programming. Technical colleges and universities are moving away from legacy 8 and 16-bit microcontrollers and are introducing 32-bit embedded microcontrollers to their curriculums. Many IoT applications demand precision, high processing power, and low power consumption. Produced by IBM, Node-RED is an open-source visual editor for wiring the Internet of Things. Node-RED comes with a large number of nodes to handle a multitude of tasks. The required nodes are selected and joined together to perform a particular task. Node-RED is based on flow type programming where nodes are configured and joined together to form an application program. There are nodes for performing complex tasks, including web access, Twitter, E-mail, HTTP, Bluetooth, MQTT, controlling GPIO ports, etc. One particularly nice aspect of Node-RED is that the programmer does not need to learn how to write complex programs. For example, an email can be sent by simply joining nodes together and writing only a few lines of code. The aim of this book is to teach how Node-RED can be used in projects. The main hardware platform used with most of the projects in this book is Raspberry Pi 4. Chapters are included to show how Node-RED can be also be used with Arduino Uno, ESP32 DevKitC, and the ESP8266 NodeMCU microcontroller development boards.
Mit dem Elektor Arduino Nano Trainingsboard (MCCAB) eigene Projekte realisieren
Der Mikrocontroller ist das wohl faszinierendste Teilgebiet der Elektronik, denn aufgrund der Vielzahl von Funktionen, die er auf seinem Chip vereinigt, ist er für den Entwickler ein universelles Multi-Tool zur Realisierung seiner Projekte. Praktisch jedes Gerät des täglichen Gebrauchs wird heute von einem Mikrocontroller gesteuert. Für einen elektronischen Laien blieb es aufgrund der Komplexität bisher allerdings ein Wunschtraum, eigene Ideen mit einem Mikrocontroller zu realisieren. Das Arduino-Konzept hat den Einsatz von Mikrocontrollern weitgehend vereinfacht, sodass jetzt auch Laien eigene Elektronik-Ideen mit einem Mikrocontroller verwirklichen können.
Buch & Hardware im Bundle: 'Learning by Doing'
Dieses im Bundle mitgelieferte Buch (im großen A4-Format) zeigt, wie man auch ohne große Erfahrung in Elektronik und Programmiersprachen eigene Projekte mit einem Mikrocontroller realisieren kann. Es ist ein Mikrocontroller-Praxiskurs für Einsteiger, denn nach einem Überblick über die Interna des Mikrocontrollers und einer Einführung in die Programmiersprache C liegt der Schwerpunkt des Kurses auf den praktischen Übungen. Der Leser eignet sich die erforderlichen Kenntnisse durch 'Learning by Doing' an: in dem umfangreichen Praxisteil mit 12 Projekten und 46 Übungen wird das im vorderen Teil des Buches Gelernte mit vielen Beispielen unterlegt. Die Übungen sind dabei so aufgebaut, dass der Bearbeiter eine Aufgabenstellung erhält, die er mit seinem im Theorieteil des Buches aufgebauten Wissen löst. Für jede Übung gibt es anschließend eine ausführlich erklärte und kommentierte Musterlösung, die dem Bearbeiter bei Problemen weiterhilft und die er mit seiner eigenen Lösung vergleichen kann.
Arduino IDE
In der Arduino IDE, einer Software-Entwicklungsumgebung, die kostenlos auf den eigenen PC heruntergeladen werden kann und die das gesamte Softwarepaket enthält, das für ein eigenes Mikrocontroller-Projekt benötigt wird, schreibt der Bearbeiter mit dem Editor der IDE seine Programme („Apps“) in der Programmiersprache C. Der in die Arduino IDE integrierte Compiler übersetzt sie in die Bits und Bytes, die der Mikrocontroller versteht und die dann über ein USB-Kabel in den Speicher des Mikrocontrollers auf dem Elektor Arduino Nano Trainingsboard (MCCAB) geladen werden.
Externe Sensoren, Motoren oder Baugruppen abfragen oder steuern
Das Elektor Arduino Nano Trainingsboard (MCCAB) enthält neben einem Mikrocontrollermodul Arduino Nano alle für die Übungen benötigten Bauteile wie Leuchtdioden, Schalter, Taster, akustische Signalgeber usw. Auch externe Sensoren, Motoren oder Baugruppen können mit diesem Mikrocontroller-Übungssystem abgefragt oder gesteuert werden.
Technische Daten (Arduino Nano Trainingsboard MCCAB)
Stromversorgung
Über die USB-Verbindung des zur Erstellung der Programme sowieso angeschlossenen PCs oder ein externes Netzteil (nicht im Lieferumfang enthalten)
Betriebsspannung
+5 Vcc
Eingangsspannung
Alle Eingänge
0 V bis +5 V
VX1 und VX2
+8 V bis +12 V (nur bei Verwendung eines externen Netzteils)
Mikrocontrollermodul
Arduino Nano
Hardwareperipherie
LCD
2x16 Zeichen
Potenziometer P1 & P2
JP3: Auswahl der Betriebsspannung von P1 & P2
Verteiler
SV4: Verteiler für die BetriebsspannungenSV5, SV6: Verteiler für die Ein-/Ausgänge des Mikrocontrollers
Schalter und Taster
RESET-Taster auf dem Arduino Nano-Modul6x Tastschalter K1 … K66x Schiebeschalter S1 … S6JP2: Verbindung der Schalter mit den Eingängen des Mikrocontrollers
Summer
Piezo-Summer Buzzer1 mit Steckbrücke auf JP6
Leuchtanzeigen
LED L auf dem Arduino Nano-Modul, verbunden mit GPIO D1311x LED: Zustandsanzeige für die Ein-/AusgängeJP6: Verbindung der LEDs LD10 … LD20 mit den GPIOs D2 … D12
Serielle SchnittstellenSPI & I²C
JP4: Auswahl des Signals an Pin X der SPI-Steckerleiste SV12SV9 bis SV12: SPI-Interface (3,3 V/5 V) bzw. I²C-Interface
Schaltausgang für externe Geräte
SV1, SV7: Schaltausgang (maximal +24 V/160 mA, extern zugeführt)SV2: 2x13 Pins zum Anschluss externer Module
3x3 LED-Matrix (9 rote LEDs)
SV3: Spalten der 3x3 LED-Matrix (Ausgänge D6 … D8)JP1: Verbindung der Reihen mit den GPIOs D3 … D5
Software
Library MCCABLib
Steuerung der Hardware-Komponenten (Schalter, Taster, Leuchtdioden, 3x3 LED-Matrix, Summer) auf dem MCCAB Trainingsboard
Betriebstemperatur
bis +40 °C
Abmessungen
100 x 100 x 20 mm
Technische Daten (Arduino Nano)
Mikrocontroller
ATmega328P
Architektur
AVR
Betriebsspannung
5 V
Flashspeicher
32 KB, davon 2 KB vom Bootloader belegt
SRAM
2 KB
Taktfrequenz
16 MHz
Analoge IN-Pins
8
EEPROM
1 KB
DC-Strom pro I/O-Pin
40 mA an einem I/O-Pin, insgesamt maximal 200 mA an allen Pins gemeinsam
Eingangsspannung
7-12 V
Digitale I/O-Pins
22 (6 davon sind PWM-fähig)
PWM-Ausgänge
6
Stromverbrauch
19 mA
Abmessungen
18 x 45 mm
Gewicht
7 g
Lieferumfang
Elektor Arduino Nano MCCAB Trainingsboard
Arduino Nano
Buch: Mikrocontroller-Praxiskurs für Arduino-Einsteiger
Learn to Build Intelligent Embedded Systems
Build smarter embedded systems with Arduino UNO Q. This book gives you the tools, knowledge, and confidence to turn ideas into intelligent, working solutions using the Arduino UNO Q platform. Discover how to build intelligent embedded systems with the Arduino UNO Q and AI.
Unlock the full potential of the Arduino UNO Q, a next-generation platform that combines the real-time power of the STM32U585 microcontroller with the flexibility of a Qualcomm Dragonwing QRB2210 microprocessor.
Learn how to rapidly prototype real-world applications using the Arduino IDE for low-level embedded control and Python in Arduino App Lab for high-level development.
Build confidence through hands-on projects that guide you step by step from basic board features to complete working systems.
Explore ready-to-use, AI based Arduino App Lab examples and see how they can jump-start your development and reduce time to deployment.
Step into the world of Edge AI with a clear, practical introduction to Edge Impulse Studio—no prior AI experience required.
Follow a complete, real-world workflow to create a Keyword Spotting AI application, covering data collection, model training, optimization, and on-device inference using the Edge Impulse Studio.
Bridge the gap between embedded systems and machine learning and learn how to bring intelligence directly onto your hardware.
Perfect for embedded engineers, educators, students, and makers looking to stay ahead in AI-enabled product development.
Learn programming for Alexa devices, extend it to smart home devices and control the Raspberry Pi
The book is split into two parts: the first part covers creating Alexa skills and the second part, designing Internet of Things and Smart Home devices using a Raspberry Pi.
The first chapters describe the process of Alexa communication, opening an Amazon account and creating a skill for free. The operation of an Alexa skill and terminology such as utterances, intents, slots, and conversations are explained. Debugging your code, saving user data between sessions, S3 data storage and Dynamo DB database are discussed.
In-skill purchasing, enabling users to buy items for your skill as well as certification and publication is outlined. Creating skills using AWS Lambda and ASK CLI is covered, along with the Visual Studio code editor and local debugging. Also covered is the process of designing skills for visual displays and interactive touch designs using Alexa Presentation Language.
The second half of the book starts by creating a Raspberry Pi IoT 'thing' to control a robot from your Alexa device. This covers security issues and methods of sending and receiving MQTT messages between an Alexa device and the Raspberry Pi.
Creating a smart home device is described including forming a security profile, linking with Amazon, and writing a Lambda function that gets triggered by an Alexa skill. Device discovery and on/off control is demonstrated.
Next, readers discover how to control a smart home Raspberry Pi display from an Alexa skill using Simple Queue Service (SQS) messaging to switch the display on and off or change the color.
A node-RED design is discussed from the basic user interface right up to configuring MQTT nodes. MQTT messages sent from a user are displayed on a Raspberry Pi.
A chapter discusses sending a proactive notification such as a weather alert from a Raspberry Pi to an Alexa device. The book concludes by explaining how to create Raspberry Pi as a stand-alone Alexa device.
A Small Basic Approach
There are many different PC programming languages available on the market. Some have beautiful names; some have easy to use development tools. Others have incredible power. They all have one thing in common: they assume that you have, or want to have, a knack for technology and difficult to read commands.
In this book we take a practical approach to programming. We assume that you simply want to write a PC program, and write it quickly. Not in a professional environment, not in order to start a new career, but for plain and simple fun... or just to get a task done.
Therefore we use Small Basic. You will have an application up and running in a matter of minutes. You will understand exactly how it works and be able to write text programs, graphical user interfaces, and advanced drivers. It is so simple; you don't even need to be an adult!
STmicroelectronics’ wireless IoT & wearable sensor development kit
‘SensorTile.box’ is a portable multi-sensor circuit board housed in a plastic box and developed by STMicroelectronics. It is equipped with a high-performance 32-bit ARM Cortex-M4 processor with DSP and FPU, and various sensor modules, such as accelerometer, gyroscope, temperature sensor, humidity sensor, atmospheric pressure sensor, microphone, and so on. SensorTile.box is ready to use with wireless IoT and Bluetooth connectivity that can easily be used with an iOS or Android compatible smartphone, regardless of the level of expertise of the users. SensorTile.box is shipped with a long-life battery and all the user has to do is connect the battery to the circuit to start using the box.
The SensorTile.box can be operated in three modes: Basic mode, Expert mode, and Pro mode. Basic mode is the easiest way of using the box since it is pre-loaded with demo apps and all the user has to do is choose the required apps and display or plot the measured data on a smartphone using an app called STE BLE Sensor. In Expert mode users can develop simple apps using a graphical wizard provided with the STE BLE Sensor. Pro mode is the most complex mode allowing users to develop programs and upload them to the SensorTile.box.
This book is an introduction to the SensorTile.box and includes the following:
Brief specifications of the SensorTile.box; description of how to install the STE BLE Sensor app on an iOS or Android compatible smartphone required to communicate with the box.
Operation of the SensorTile.box in Basic mode is described in detail by going through all of the pre-loaded demo apps, explaining how to run these apps through a smartphone.
An introduction to the Expert mode with many example apps developed and explained in detail enabling users to develop their own apps in this mode. Again, the STE BLE Sensor app is used on the smartphone to communicate with the SensorTile.box and to run the developed apps.
The book then describes in detail how to upload the sensor data to the cloud. This is an important topic since it allows the sensor measurements to be accessed from anywhere with an Internet connection, at any time.
Finally, Pro mode is described in detail where more experienced people can use the SensorTile.box to develop, debug, and test their own apps using the STM32 open development environment (STM32 ODE). The Chapter explains how to upload the developed firmware to the SensorTile.box using several methods. Additionally, the installation and use of the Unicleo-GUI package is described with reference to the SensorTile.box. This PC software package enables all of the SensorTile.box sensor measurements to be displayed or plotted in real time on the PC.