Skip to content

Printable full course

Everything below prints: all twelve missions, every diagram, every wiring table, every complete script, and the expanded answer to every prediction. Use your browser's Print command and choose Save as PDF if you want a file rather than paper.

It is a long document: roughly 6 hours of bench work across 12 missions.

Junior Engineer Lab — full course

A hands-on electronics course for beginners aged 11+, written around the Freenove Ultimate Starter Kit for Raspberry Pi Pico W (Amazon B0BJ1P9JN8). Code is written in Thonny and runs on the board. Nothing in this document has been validated on physical hardware by the authors; each mission's acceptance checklist is the real test.

Before you start

  • Install Thonny from thonny.org, and the current MicroPython firmware for the Pico W from the official Raspberry Pi documentation.
  • Hold BOOTSEL while plugging in the USB data cable, drag the .uf2 onto the RPI-RP2 drive, and wait for the drive to vanish.
  • Select the MicroPython (Raspberry Pi Pico) interpreter in Thonny and look for the >>> prompt.
  • Save project scripts as mission-XX.py, never as main.py, so the board does not run them automatically at power-up.
  • Pin(16) means GPIO16, which is physical pin 21. The Pico W onboard LED is Pin("LED"), not GP25.
  • Physical pin 38 is the common ground for every circuit in this course.

Pin reference

PhysicalLabelRole
1GP0General purpose digital input/output pin
2GP1General purpose digital input/output pin
3GNDGround (0 V) reference
4GP2General purpose digital input/output pin
5GP3General purpose digital input/output pin
6GP4General purpose digital input/output pin
7GP5General purpose digital input/output pin
8GNDGround (0 V) reference
9GP6General purpose digital input/output pin
10GP7General purpose digital input/output pin
11GP8General purpose digital input/output pin
12GP9General purpose digital input/output pin
13GNDGround (0 V) reference
14GP10General purpose digital input/output pin
15GP11General purpose digital input/output pin
16GP12General purpose digital input/output pin
17GP13General purpose digital input/output pin
18GNDGround (0 V) reference
19GP14General purpose digital input/output pin
20GP15General purpose digital input/output pin
21GP16General purpose digital input/output pin
22GP17General purpose digital input/output pin
23GNDGround (0 V) reference
24GP18General purpose digital input/output pin
25GP19General purpose digital input/output pin
26GP20General purpose digital input/output pin
27GP21General purpose digital input/output pin
28GNDGround (0 V) reference
29GP22General purpose digital input/output pin
30RUNBoard control pin
31GP26General purpose digital pin, also analog input ADC0
32GP27General purpose digital pin, also analog input ADC1
33AGNDGround (0 V) reference
34GP28General purpose digital pin, also analog input ADC2
35ADC_VREFAnalog reference pin
363V3 OUTPower rail
373V3_ENBoard control pin
38GNDGround (0 V) reference
39VSYSPower rail
40VBUSPower rail

Official resources

  • The kit on Amazon (B0BJ1P9JN8): https://www.amazon.com/dp/B0BJ1P9JN8
  • Freenove tutorial documentation: https://docs.freenove.com/projects/fnk0058/en/latest/index.html
  • Freenove code repository on GitHub: https://github.com/Freenove/Freenove_Ultimate_Starter_Kit_for_Raspberry_Pi_Pico
  • Freenove Python examples: https://docs.freenove.com/projects/fnk0058/en/latest/fnk0058/codes/Python.html
  • Raspberry Pi MicroPython documentation: https://www.raspberrypi.com/documentation/microcontrollers/micropython.html
  • Raspberry Pi Pico series documentation: https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html
  • MicroPython rp2 quick reference: https://docs.micropython.org/en/latest/rp2/quickref.html
  • Thonny: https://thonny.org