Every microcontroller is learned differently
A microcontroller is a complete computer on a single chip: processor, memory and pins to read sensors and drive actuators. They all share ideas (outputs, inputs, PWM, analog conversion, serial communication), but each family has its own personality, which is why each board here has its own path.
Arduino Uno and Nano
The 8-bit ATmega328P runs at 5 V and is very forgiving of beginner mistakes. Its 10-bit ADC turns 0–5 V into 0–1023 and six of its pins generate PWM. They are ideal for understanding pinMode, digitalWrite, buttons with pull-ups and the map() function. The Nano is the same chip in a breadboard format, with two extra analog-only inputs (A6 and A7).
Arduino Mega 2560
With 54 digital pins, 16 analog inputs and four serial ports, the Mega is for big projects: 3D printers, robots with many motors or LED panels. The step up here is not in concepts but in organization: for loops to go through many pins, logic with several sensors and dedicated serial ports.
ESP32
Two cores at 240 MHz, built-in Wi-Fi and Bluetooth, but 3.3 V pins that don’t tolerate 5 V. Its ADC is 12-bit (0–4095), PWM is generated by the LEDC peripheral with ledcAttach and ledcWrite, and ten pins detect the touch of a finger with touchRead. It is the star board of the Internet of Things.
STM32 Black Pill
An ARM Cortex-M4 at 100 MHz, the kind of chip used in industry. Pins are named by port (PA5, PC13) because each port is a 16-bit register. Understanding registers and timers (prescaler and ARR) is the bridge between Arduino and professional embedded programming.
Raspberry Pi Pico
The RP2040 has two cores, PWM on every pin GP0–GP28 and eight PIO state machines that can implement custom protocols. It is also the most popular board for learning MicroPython: in this lab you can write Python and see how it is translated into C before it runs.
Guided projects and certificate
Each path ends with four step-by-step projects: a traffic light with a pedestrian button, an HC-SR04 ultrasonic distance sensor with an alarm, a servo arm with a potentiometer and a 7-segment display counter. Each step checks itself and extends the previous program, as in a real project. When you complete everything you can print a practice certificate with your name.
How are the challenges checked?
Your program is compiled to JavaScript and runs on a simulated clock: one second of program time takes milliseconds. To check a challenge, the lab presses buttons and turns virtual knobs at exact moments and checks when each pin changed, what angle the servo had or what the serial monitor showed. Everything happens in your browser.
Once you master a board, connect it to a real circuit in the Circuit Lab, or try the Code Lab, the Robot Lab and the Mechanism Lab.