Skip to content

Help and resources

Setup from scratch, the mistakes almost everybody makes once, and the official documentation this course is built on.

Getting set up

  1. 1Install Thonny from thonny.org. It works the same way on Windows, macOS and Linux.
  2. 2Download the current MicroPython firmware for the Raspberry Pi Pico W from the Raspberry Pi documentation. Pick the Pico W file, not the plain Pico file.
  3. 3Unplug the board, hold the BOOTSEL button, plug the USB cable in, then release. A drive named RPI-RP2 appears.
  4. 4Drag the .uf2 file onto RPI-RP2. The drive disappears by itself: that is success.
  5. 5In Thonny choose the MicroPython (Raspberry Pi Pico) interpreter and the right serial port. The Shell should show >>>.
  6. 6Type 1 + 1 at the >>> prompt. If it answers 2, the board is running your code.

The mistakes everyone makes once

Pin(16) is not physical pin 16
Pin(16) means GPIO16, which is physical pin 21. GPIO numbers and physical pin numbers are two separate systems. Check both columns in every connection table and use the pin map page when in doubt.
The Pico W onboard LED is not GP25
On a Pico W use Pin("LED"). On the older plain Pico it is GP25. Old tutorials written for the plain Pico silently do nothing on a W.
Charge-only USB cables
A charge-only cable powers the board but carries no data, so no RPI-RP2 drive appears and Thonny never sees a serial port. Swap the cable before you swap anything else.
Breadboard rows
In one numbered row, a to e are joined and f to j are joined, but the two halves are separate. Different row numbers are always separate. Side rails are often split into sections, so never assume a rail runs the whole length.
Four-leg buttons
Those four legs are two internally joined pairs. Pick one leg from each of two different pairs, confirmed from the manufacturer's drawing or an adult's unpowered continuity check. Do not guess by assuming opposite corners.
Never power a servo from the board
A servo needs an external regulated 5 V supply of at least 1 A. Its positive wire touches no Pico pin at all. Only the grounds are joined, at physical pin 38.
Save scripts as mission-XX.py
A file saved on the board as main.py runs automatically every time the board powers up, which is confusing while you are learning. Use the mission file names instead.
Scripts run on the board, not in this browser
Every interactive panel in this app is a browser model of the logic. It is never connected to a board and never executes MicroPython. Running code means pressing Run in Thonny with your board plugged in.

Official resources

This course is written around the Freenove kit but is not affiliated with Freenove or Raspberry Pi. Always prefer the manufacturer's published wiring over anything improvised.

Honest limits of this app

  • No script in this course has been validated by us on physical hardware. The mission checklists are the real test.
  • Every interactive panel is a browser model of the logic, not a board connection and not MicroPython execution.
  • Servo horn angles shown in models are illustrative. Real angles vary by servo and are never measured.
  • Your progress and notes live in this browser only. There is no cloud sync and no device sync.

Want everything on paper? Open the printable full course.