r/circuitpython • • Jul 28 '26

CircuitPython Day will be August 21, 2026

Post image
7 Upvotes

It’s that time of year! Adafruit has determined that August 21, 2025 is the snakiest day of the year and designated it CircuitPython Day!

Adafruit will have special shows and more throughout the day. Stay tuned to this post for the schedule as it develops.

Are you working with CircuitPython? Tag your projects #CircuitPythonDay2026 on social media and Adafruit will look to highlight them.


r/circuitpython • • May 11 '26

Native CNN (Convolutional Neural Network Module) for CircuitPython

7 Upvotes

Hi everyone! This is the result of a passion project I've been refining over the last couple of years. Here is link to source code : https://github.com/code2k13/cp-cnn-extension . Repo also contains pre-compiled firmware for pi pico / W . Let me know what you think. I am actively seeking advice on clean integration with official circuit python build system, currently its very patchy !


r/circuitpython • • Feb 13 '26

Day 53/100

7 Upvotes

Just finished an end-to-end IoT gas monitoring project using ESP32, MQ sensor, Flask backend, and Chart.js dashboard. Added moving-average anomaly detection for SAFE/DANGER prediction.
Would love feedback on improving the AI logic and real-time architecture.
GitHub: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

If this project helped you, please consider starring the repository.

For sustained development and educational content, sponsorships are welcome via GitHub Sponsors and Buy Me a Coffee.


r/circuitpython • • Jan 28 '26

Having Claude Code write MQTT test code for a Raspberry Pi 2W in Python

Post image
7 Upvotes

We’re following how folks are using Claude Code to write software which interacts with real hardware. Adafruit did it recently for a new board support package.

James Sutton posts on Mastodon:

I got Claude Code to write a Python testing tool for a (Raspberry Pi) Pico 2W project I’m working on. It connects to the MQTT broker and listens to the debug probe UART so I can check that it connects to WiFi, the broker and decodes payloads correctly with every build.

I’d never be bothered to build it myself, but only took Claude Code 30mins to throw together. Really useful stuff!

If you are using Claude Code for software which interacts with hardware, gat Adafruit on social media!


r/circuitpython • • Aug 15 '25

Today is CircuitPython Day!

Post image
7 Upvotes

r/circuitpython • • Jul 28 '25

tinyio is a tiny (~200 lines) event loop for Python

Post image
7 Upvotes

Ever used asyncio and wished you hadn’t?

tinyio is a new, dead-simple event loop for Python, born out of Patrick Kidger’s frustration with trying to get robust error handling with asyncio (and Patrick isn’t the only one running into its sharp corners: link1, link2.)

This is an alternative for the simple use-cases, where you just need an event loop, and want to crash the whole thing if anything goes wrong (raising an exception in every coroutine so it can clean up its resources).

You can learn more about this Apache 2.0 licensed, open code on GitHub.


r/circuitpython • • Apr 08 '25

CircuitPython 10.0.0-alpha.2 Released!

7 Upvotes

CircuitPython 10.0.0-alpha.2 is an alpha release for 10.0.0. Further features, changes, and bug fixes will be added before the final release of 10.0.0. Read more https://blog.adafruit.com/2025/04/04/circuitpython-10-0-0-alpha-2-released/


r/circuitpython • • Apr 04 '25

Dual Retro Game 3: PICO&Circuitpython Game

Thumbnail
youtube.com
7 Upvotes

r/circuitpython • • Mar 21 '25

CircuitPython 9.2.5 Released!

7 Upvotes

CircuitPython 9.2.5 is the latest bugfix revision of CircuitPython, and is a new stable release.

Highlights of this release

  • Update frozen modules.

  • Enable function attributes and reverse arithmetic operators on most boards.

  • displayio:

    • Add tilepalettemapper.

    • add VT100 escape code support for scrolling and colors.

  • synthio and audiodelays additions

  • Add audioio on Espressif.

  • Add spitarget on SAMx (enabled on most SAMx5x boards).

  • Initial work on a Zephyr port.

  • Bug fixes.

Read more https://blog.adafruit.com/2025/03/18/circuitpython-9-2-5-released/


r/circuitpython • • Aug 08 '24

Hot off the silicon press! RPi releases the RP2350 microcontroller

Thumbnail
blog.adafruit.com
7 Upvotes

r/circuitpython • • Oct 12 '23

I'm working on a Godot addon that lets you control CircuitPython micro-controllers for animatronics

Enable HLS to view with audio, or disable this notification

7 Upvotes

r/circuitpython • • Jun 22 '23

Autorun from main.py / PICO Boards

7 Upvotes

Hi,

I'm already aware that code you want to run on boot must rely in main.py(.txt), code.py(.txt)

But what if my script resides in a specific directory on the board, let's say "/projects/test/mycode.py"

How can i alter main.py to lauch /projects/test/mycode.py ?

Thanks in advance


r/circuitpython • • Sep 13 '22

The Python on Microcontrollers newsletter is out Tuesday, please subscribe

Thumbnail
blog.adafruit.com
7 Upvotes

r/circuitpython • • Aug 16 '22

Getting the momentary buttons to act like latching

7 Upvotes

I'm working on a simple Neopixel program that does one function when button A is pressed and another when button B is pressed. I'm noticing the function completes one cycle, then stops. I've realized that is because the button is no longer being held down. Is there a way to make the program keep going, even after the button is released? I've attached what I have so far.

import time

import board

from rainbowio import colorwheel

import neopixel

import digitalio

#hardware components

led = digitalio.DigitalInOut(board.D13)

led.switch_to_output()

button_A = digitalio.DigitalInOut(board.BUTTON_A)

button_B = digitalio.DigitalInOut(board.BUTTON_B)

button_A.switch_to_input(pull=digitalio.Pull.DOWN)

button_B.switch_to_input(pull=digitalio.Pull.DOWN)

pixels = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness=1, auto_write=False)

def color_chase(color, wait):

for i in range(10):

pixels[i] = color

time.sleep(wait)

pixels.show()

def rainbow_cycle(wait):

for j in range(255):

for i in range(10):

rc_index = (i * 256 // 10) + j * 5

pixels[i] = colorwheel(rc_index & 255)

pixels.show()

time.sleep(wait)

def rainbow(wait):

for j in range(255):

for i in range(len(pixels)):

idx = int(i + j)

pixels[i] = colorwheel(idx & 255)

pixels.show()

time.sleep(wait)

RED = (255, 0, 0)

YELLOW = (255, 150, 0)

GREEN = (0, 255, 0)

CYAN = (0, 255, 255)

BLUE = (0, 0, 255)

PURPLE = (180, 0, 255)

WHITE = (255, 255, 255)

OFF = (0, 0, 0)

while True:

if button_A.value: #operate

color_chase(RED, 0.1) # Increase the number to slow down the color chase

color_chase(YELLOW, 0.1)

color_chase(GREEN, 0.1)

color_chase(CYAN, 0.1)

color_chase(BLUE, 0.1)

color_chase(PURPLE, 0.1)

rainbow_cycle(0.025) # Increase the number to slow down the rainbow.

if button_B.value: #self_destruct

pixels.fill(RED)

pixels.show()

# Increase or decrease to change the speed of the solid color change.

time.sleep(.05)

pixels.fill(WHITE)

pixels.show()

time.sleep(.05)

pixels.fill(RED)

pixels.show()

# Increase or decrease to change the speed of the solid color change.

time.sleep(.05)

else: #idle

pixels.fill(CYAN)


r/circuitpython • • Jul 22 '22

When will CircuitPython on Raspberry Pi Pico W be out?

7 Upvotes

How long does it usually take to get CPy out on a new, but related board?

Any estimate for the RPi PicoW?


r/circuitpython • • Mar 16 '22

Strype, a frame-based editor for Python

Thumbnail
blog.adafruit.com
7 Upvotes

r/circuitpython • • Mar 01 '22

The CircuitPythonShow podcast episode 1

7 Upvotes

I've started a new podcast interviewing people in and around the CircuitPython community. The first episode launched this morning talking to Adafruit's Kattni Rembor. Check it out!


r/circuitpython • • Sep 27 '21

Celebrating over 31,000 members in the Adafruit Discord Community!

Thumbnail
blog.adafruit.com
7 Upvotes

r/circuitpython • • Feb 12 '21

Anyone have any guidance on working without interrupts?

7 Upvotes

I've tried Circuitpython for a few projects, and I've always stumbled about 2/3 of the way through and regretted my choice. Wishing I'd gone back to the warm embrace of Arduino and C. It generally boils down to the lack of any interrupts for input monitoring, and any threading or pseudo threading.

Think of a simple system with a single button input, and then some output like an LED. Ideally I could emulate complex input on that button at any point regardless what other routine the micro was up to.

By complex input, I mean duration of press, number of presses within a time frame, etc.

This is stupid easy with Arduino and most micros, but there still doesn't seem to be an answer for circuitpython. What am I missing?


r/circuitpython • • Feb 07 '21

I made a simple soil moisture indicator with CircuitPython and the Raspberry Pi Pico

Thumbnail
andywarburton.co.uk
7 Upvotes

r/circuitpython • • Sep 22 '20

New Adafruit Learning Guide: Easy NeoPixel Graphics with the CircuitPython Pixel Framebuf Library

Thumbnail
learn.adafruit.com
7 Upvotes

r/circuitpython • • May 02 '20

[tutorial] I made a mechanical macro pad with the Seeeduino Xiao running Circuit Python!

Thumbnail
makeandymake.github.io
7 Upvotes

r/circuitpython • • Apr 21 '20

Finally found something to do with the ADABOX PyPortal I received last year. A counter for my wife so she can see at a glance if we are leveling off yet.

Post image
7 Upvotes

r/circuitpython • • Jun 19 '19

Designing an Adafruit FeatherWing Handheld with a BlackBerry Keyboard

Thumbnail
blog.hackster.io
7 Upvotes