Skip to content

CoderDojo Twin Cities Micropython

Micropython logo

This website and GitHub repository is for sharing teaching resources to teach MicroPython to students in 5th to 12th grades (10-18 years old). The course assumes that either a mentor, teacher or students have access to at least one microcontroller such as the $4 Raspberry Pi Pico or the $10 ESP32. Students should also have access to some low-cost sensors (buttons, potentiometers, ultrasonic distance sensor) and displays such as LEDs or OLED displays.

All the content on this website is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike. This means if your preserve the attribution and license you can use the content for free in your classrooms and modify and extend the curriculum to meet your needs. However, you can not charge your students additional feeds for the content or resell the content.

If you are looking for a specific topic, please remember to use the search function in the upper right of the website. The website is best displayed on a wide screen to seen the left navigation bar on the left although the website also works on the small screens of mobile phones and tablets.

Course Outline

You can use the navigation area on the left side panel to navigate to different parts of the website. Here is a high-level overview of the main sections of the site.

Part I: Introduction to MicroPython

This part is a high-level overview of what MicroPython is and why is has become the most popular way to do physical computing, program microcontrollers and build robots. We also discuss the different types of microcontrollers available, their price and features and how to purchase them independently or in kits.

  1. Introduction - Overview of Micropython and why we love it.
  2. Boards - Description of popular development boards that support MicroPython (Pico and ESP32). How to choose the right microcontroller for your project.
  3. Raspberry Pi Pico - Details the Raspberry Pi Pico including features and pinouts.

Part II: Getting Started

This part will help you get started programming MicroPython on your microcontroller and learn how to hookup parts on a solderless breadboard. We discuss the need for a desktop Integrated Development Environment (IDE) and how to get starting writing simple programs

  1. Thonny IDE - Thonny is an IDE that supports MicroPython. We review the parts of the User interface.
  2. [Breadboards]
  3. Blink - Blink an LED on and off. This is the equivalent of the "Hello World!" program in micropython.

Basic Foundation Introductory Lessons

These ten lessons are the foundations for learning micropython. They include learning how to blink one or more LEDs, monitor to button presses, fade LEDs in and out using PWM signals, read analog values from potentiometers, read light sensors, turn motors and servos and display rainbow patterns on a NeoPixel strip.

  1. Button - see how a button can control the LED.
  2. Servo - Move a Servo.

Part 3: Sensors

Sensors Intro



We cover simple displays that don't have complex drawing. For those we have a separate chapter.

Part 4: Sound and Music

Sound and Music Infro

Part 5: OLED Displays

OLED Displays

Part 6: Robots


Part 7: Advanced Topics

Advanced Topics

Reference Material

Glossary of Micropython Terms


Micropython References - links to other useful sites.