Sources
This wiki draws on the following sources. Project guides, code patterns, and library documentation are adapted from these materials for educational use at Lick-Wilmerding High School.
Adafruit Learning System
All project guides and hardware documentation are from learn.adafruit.com, published by Adafruit Industries under the Creative Commons Attribution-ShareAlike 3.0 license. Content has been adapted, reorganized, and supplemented for classroom use.
Getting Started
Lights & LEDs
- Adafruit NeoPixel Uberguide
- Adafruit DotStar LEDs
- CircuitPython LED Animations
- FancyLED Library for CircuitPython
- Easy NeoPixel Graphics with pixel_framebuf
- CircuitPython Essentials — DotStar
- Driving TM1814 LEDs — LED Animations
- Stomp Reactive Light-Up Slippers
- Close Encounters of the MIDI NeoPixel Visualizer Kind
Sound & Music
- Make It Sound
- CircuitPython Audio FX
- MIDI Foot Pedal
- Grand Central USB MIDI Controller in CircuitPython
- Touch Tone Phone — Dial-a-Song
- Soundboard Speaker for Bikes/Scooters
- Adafruit Music Maker FeatherWing
- MIDI Keyset
- Circle of Fifths Euclidean Synth with synthio
- MIDI for Makers — BLE MIDI Sequencer
Sensors
- Adafruit MCP9808 Temperature Sensor
- Adafruit SHT31-D Temperature and Humidity
- Adafruit BMP280 Barometric Pressure + Temperature
- Adafruit BME280 Humidity, Pressure, Temperature
- Adafruit SGP40
- Adafruit CCS811 Air Quality Sensor
- Adafruit SCD-40 and SCD-41
- Adafruit LIS3DH Accelerometer
- ADXL343 Breakout Learning Guide
- MPU6050 6-DoF Accelerometer and Gyro
- Adafruit BNO055 Absolute Orientation Sensor
- Adafruit APDS9960 Breakout
- Adafruit Color Sensors — TCS34725
- Adafruit VEML7700
- Adafruit LTR390 UV Sensor
- Adafruit TSL2591
- Adafruit AS7341 10-Channel Light/Color Sensor
- Ultrasonic Sonar Distance Sensors
- Adafruit VL53L0X Micro LiDAR
- Adafruit VL53L1X
- Adafruit VCNL4040 Proximity Sensor
- Adafruit MPR121 12-Key Capacitive Touch
- Adafruit CAP1188 Breakout
- Adafruit STEMMA Soil Sensor (guide currently unavailable on learn.adafruit.com)
Displays
- CircuitPython Display Support Using displayio
- Monochrome OLED Breakouts
- Adafruit OLED FeatherWing
- Adafruit LED Backpack
- Adafruit 2.4" TFT Touch Screen FeatherWing
- Adafruit 2.8" and 3.2" Color TFT Touchscreen Breakout
- Adafruit PyPortal
- PyPortal Astronauts in Space
- Feather ESP32-S3 TFT Countdown Clock
- QT Py S2 Round Display Compass
Motors & Motion
- Using Servos with CircuitPython
- CircuitPython Essentials — Servo
- CircuitPython Essentials — PWM
- Adafruit Motor Shield V2
- Adafruit Stepper DC Motor FeatherWing
- Adafruit 16-Channel PWM/Servo Shield
- 16-Channel PWM Servo Driver
- Adafruit 8-Channel PWM or Servo FeatherWing
- Adafruit A4988 Stepper Motor Driver
- Adafruit DRV2605 Haptic Controller
- Adafruit CRICKIT
USB HID & MIDI
- CircuitPython HID Keyboard and Mouse
- Adafruit Trinket M0 — CircuitPython HID
- Customizing USB Devices in CircuitPython
- Custom HID Devices in CircuitPython
Wireless — BLE
- CircuitPython BLE Libraries on Any Computer
- BLE HID Keyboard Buttons with CircuitPython
- BLE Heart Rate Display Pendant
- CircuitPython BLE Heart Rate Monitor Gizmo
- Bluetooth LE MIDI Controller
- Wireless Untztrument Using BLE MIDI
- Wirelessly Code Your Bluetooth Device with CircuitPython
- Bluefruit LE Connect
- BLE Light Controller
Wireless — Wi-Fi & MQTT
- Networking in CircuitPython
- Networking in CircuitPython — NTP Time Example
- MQTT in CircuitPython
- PyPortal MQTT Sensor Node / Control Pad for Home Assistant
- CircuitPython Connected Weather Cloud
- Adafruit IO Basics — Feeds
- Adafruit IO Basics — Dashboards
- Welcome to Adafruit IO — CircuitPython
- PyPortal IoT Plant Monitor with Google Cloud
Storage, I/O, & Miscellaneous Hardware
- Adafruit Micro SD Breakout Board
- Adafruit I2C Non-Volatile FRAM Breakout (guide currently unavailable on learn.adafruit.com)
- Adafruit DS3231 Precision RTC Breakout
- Adafruit PCF8523 Real Time Clock
- Using MCP23008/MCP23017 with CircuitPython
- Adafruit TCA9548A I2C Multiplexer Breakout
- Adafruit Seesaw
- Adafruit PN532 RFID/NFC
- MCP3008 SPI ADC
Full Projects Referenced
CircuitPython Library API Documentation
Official API references at docs.circuitpython.org, published by Adafruit Industries. Each library reference page in this wiki links directly to the relevant API docs.
Lights: neopixel · dotstar · led-animation · fancyled · pixel-framebuf
Displays: displayio-ssd1306 · ht16k33 · st7789 · ili9341 · display-text · display-shapes · bitmap-font
Environmental sensors: bme280 · bmp280 · sht31d · mcp9808 · sgp40 · ccs811 · scd4x
Motion sensors: lis3dh · adxl34x · mpu6050 · bno055 · apds9960
Light/color sensors: tcs34725 · veml7700 · ltr390 · tsl2591 · as7341
Distance/proximity sensors: hcsr04 · vl53l0x · vl53l1x · vcnl4040
Motors: motor · servokit · motorkit · pca9685 · drv2605
Audio: simpleio · midi · rtttl · vs1053
USB: hid
Wireless — BLE: adafruit-ble · ble-heart-rate · ble-midi
Wireless — Wi-Fi: requests · minimqtt · adafruit-io · ntp
NFC: pn532
I/O expansion: mcp230xx · tca9548a · seesaw · mcp3xxx
Utilities: debouncer · bus-device · simpleio · logging · bitmap-font
Community Resources
- awesome-circuitpython — community-curated list of CircuitPython libraries, tools, and projects, maintained by Adafruit and contributors. Consulted for editor recommendations and community links.
- Adafruit CircuitPython Bundle — the official library bundle containing all ~300 libraries. The bundle contents informed which libraries were included in this wiki's reference section.
- Adafruit Forums — community support forum.
- Adafruit Discord — real-time help from the CircuitPython community.
Tod Kurt
The following resources by Tod Kurt were consulted for the synthio and audio synthesis content in this wiki:
- circuitpython-synthio-tricks — techniques and examples for the
synthiomodule. Credit: Tod Kurt
Third-Party APIs Used in Project Examples
These APIs appear in project code examples. They are not affiliated with Adafruit or this wiki.
| API | Used in |
|---|---|
| Open-Meteo | Weather lamp, weather station |
| OpenWeatherMap | Weather station (alternate) |
| Open Notify — Astronauts in Space | PyPortal dashboard |
ESPN Scoreboard API (site.api.espn.com/apis/site/v2/sports/{sport}/{league}/scoreboard) |
Soccer scoreboard |
| NASA APOD API | PyPortal dashboard |
| Adafruit IO | Plant monitor, weather lamp, MQTT projects |
| Home Assistant | MQTT home automation project |
Hardware References
- DRV2605L Datasheet — Texas Instruments haptic driver IC, referenced in the DRV2605 motor guide.
- RTTTL Format Reference — specification for the Ring Tone Text Transfer Language used in the
adafruit_rtttllibrary.
Code Editors Referenced
- Mu Editor — beginner-friendly editor with built-in serial console
- Thonny — Python IDE suitable for CircuitPython
- code.circuitpython.org — browser-based editor, no install required
This wiki is produced for academic use at Lick-Wilmerding High School, Department of Technical Arts. It is not a commercial product and makes no claim of original authorship over hardware descriptions, API documentation, or project ideas derived from the sources above.