Awesome

A curated list of awesome CircuitPython guides, videos, libraries, frameworks, software and resources.

CircuitPython is Adafruit's branch of MicroPython designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to start prototyping by requiring no upfront desktop software downloads. With CircuitPython you can write clean and simple Python code to control hardware instead of having to use complex low-level languages like C or C++ (what Arduino uses for programming). It's great for beginners!

Contents

CircuitPython.org

CircuitPython.org is the first stop on the information snake highway. Here you can see all the supported boards and download the specific firmware for each one, including beta, latest, and previous versions. Downloads can be sorted by: maker, features, name, and more. At this time there are over 80 boards supported in the CircuitPython family!

Guides

Community

Books

Code

Frameworks

Hardware

All supported boards may be viewed at circuitpython.org to include descriptions, pictures, and compatible CircuitPython builds. For Single-Board Computers, the list of boards is under the Blinka category.

Looking to add a new board to CircuitPython? It's highly encouraged! Adafruit has four tutorials to help you do so:

CircuitPython sensors and accessories - Complete listing of sensors, LCDs, displays, robotics, breakout boards, and more.

python.digikey.com - Digi-Key electronics has a listing of all Python-supported boards on their site in one location including CircuitPython and MicroPython boards.

Newsletter

News

Art

Social

Podcasts

Events

Swag

Talks

Contributing

Contributions and suggestions are always welcome! Please make pull requests from your own fork to modify Awesome CircuitPython.

The workflow is explained in detail here: Adafruit : Contribute to CircuitPython with Git and GitHub.

Contribution Workflow Overview

  1. Fork this repository on GitHub.
  2. Clone the forked repo to your drive.
  3. Add a remote using owner adafruit and the original URL.
  4. Fetch the remote.
  5. Merge adafruit or main.
  6. Create a branch.
  7. Make a change.
  8. Commit and push to your repo.
  9. Create a pull request on the official repo.
  10. Once accepted, repeat by merging from the official repo to your fork's master, and re-branch.

Questions? We're happy to help you to contribute on Discord.

License & Trademarks

CC0

To the extent possible under law, the authors have waived all copyright and related or neighbouring rights to this work.

Last updated: November 2, 2022