school-coding-lab

Work in Progress

Hands-On Labs

Plug your microcontroller into your Raspberry Pi workstation and get ready. This section is all about learning by doing.

Feature-Specific Labs

The goal of these labs is to get you familiar with a piece of hardware or a particular coding technique. They produce a result, but it’s not always super interesting on its own. The idea is to take what you learn in these labs and apply it to a larger project.

Labs are ordered from simple to more complex, but feel free to tackle them in any order you wish.

  1. MicroPython on ESP32 Learn the basics of writing MicroPython programs on ESP32 hardware.
  2. GPIO output Interact with the outside world by controlling General Purpose Input/Output (GPIO) pins.
  3. Displays Use a small OLED display to display numbers and text.
  4. I2C Protocol
  5. Multiple Neopixels
  6. GPIO input
  7. GPIO interrupts
  8. Optical Sensors

Project-Based Labs

These labs focus on multiple development iterations to do something useful. They combine and build on the concepts in the Learning Labs to make something new. Most will guide you through the first steps and leave the last bit for you to figure out on your own.

Urban Planner

You’re working for the city. Your job is to install traffic signals to keep the citizens safe.

  1. Traffic Light
  2. Cross Traffic
  3. Walk Signal

Off to the Races

Grab some Hot Wheels cars and let’s see how fast they go.

  1. Detecting a Passing Car
  2. Determining Time Difference
  3. Calculating Speed
  4. Best Time Board

Meteorologist for a Day

Build a weather station that measures temperature, humidity, and barometric pressure. Make predictions on what tomorrow’s weather will be based on the information you gather.

  1. Measure the Environment
  2. Share the Information
  3. Make Weather Predictions

An Internet of Our Own

If you’ve ever wondered how those adorable cat pictures get to your web browser, this series of labs will show how it works.

  1. ESP32 WiFi Access Point
  2. ESP32 Web Server
  3. Consumer WiFi Router comparison
  4. Domain Name Service

Home Automation

Keep your classroom lab comfortable year round with home automation. Just kidding! The school will never let you control the HVAC system, but it’s fun to pretend.

  1. Home Assistant on Raspberry Pi
  2. Sensors Using ESPHome
  3. Sending Sensor Data Over MQTT