A Raspberry Pi Pico course in C++ and MicroPython
The RP2040 two ways: C++ with PWM on any pin and a 64 bit clock, or MicroPython with the REPL. Then a fight stick to finish.
How you will learn it
The Raspberry Pi Pico is a small, fast and very cheap microcontroller board, and it can be programmed in two languages. This page puts both Pico courses side by side so you can choose.
Embedded on the Raspberry Pi Pico teaches it in C++, the way most products are written. MicroPython on the Pico teaches it in Python, the quickest way in. Both run on a simulated Pico in your browser.
What you will learn
- Blink, read buttons and run a chaser across six pins with an array.
- Use PWM on any pin and keep time without delay.
- Read a sensor with the ADC and drive an I2C screen.
- Build a leverless fight stick controller on the Pico.
The courses and lessons to take
Every lesson opens in the editor right away, signed in or not, and the simulator checks each step.
- Step 1 路 7 lessons 路 6 h
Embedded on the Raspberry Pi Pico
The Pico in C++. Know an Arduino? Start here.
- First light on the PicoAn LED on GP15, a second one inside the module, and a board that keeps its program in a separate flash chip. Where the RP2040 is different.
- PWM on any pinEvery GPIO on this chip has a PWM channel, which is unusual. Slices, channels, and what the divider is actually doing.
- Timing without delayThe chaser is written with delays, so it can do nothing else. Rewrite it around the microsecond timer and it can do anything.
- Step 2 路 7 lessons 路 3 h
MicroPython on the Pico
The Pico in MicroPython. Know some Python? Start here.
Real Python on a Raspberry Pi Pico: blink and the REPL, buttons and if, loops and PWM, a knob on the ADC, lists and functions on an LED bar, an OLED on I2C, and a reaction game boss.
Every lesson in the course - Step 3 路 5 lessons 路 4 h
Build your own fight stick
A build to finish with: a full fight stick controller.
One button to a full leverless controller on a Pico: SOCD, eight buttons, lit buttons, an OLED and modes.
Every lesson in the course
Guides and tools on the same subject
Raspberry Pi Pico pinout
Open itRaspberry Pi Pico PWM
Open itEmbedded track
Arduino, ESP32, Raspberry Pi Pico and STM32: pins, timing, buses, motors, WiFi, registers and debugging, every lesson checked on a simulated board.
See the whole trackQuestions people ask
Is the Pico good for beginners?
Yes, as long as you remember its pins are 3.3 V and do not tolerate 5 V. The lessons point out where that matters.
C++ or MicroPython on the Pico?
MicroPython is faster to learn. C++ runs faster and matches most professional work. Many people take MicroPython first and C++ second.
Is the Pico the same as a Raspberry Pi?
No. A Raspberry Pi is a full computer running Linux. The Pico is a microcontroller that runs one program directly. Python from zero teaches the full Raspberry Pi.