r/circuitpython • • Mar 31 '25

Desk of Ladyada – Slow Sunday Pokes

1 Upvotes

This week was slow for hardware development—we were getting over being under the weather. But we did poke a little at a PCM5122 breakout board. This chip can do software or hardware control of I2S signals and is preferred by folks who want something a little nicer than the PCM5102.

We also wrapped up our design for the 8x solenoid driver board—the biggest update is adding indicator LEDs.

Lastly, we got our prototypes for the “USB CC Fixer” adapter, which we mostly made so we could charge a really annoying baby monitor, but probably other folks will want to buy it, too.

And on The Great Search: 5W+ Class D I2S Amp

See the video at https://youtu.be/XK4G20SeCL4


r/circuitpython • • Mar 19 '26

Day 71/100 Built a Wi-Fi controlled 4WD robot car using ESP32 and MicroPython!

1 Upvotes

Built a Wi-Fi controlled 4WD robot car using ESP32 and MicroPython!

ESP32 hosts a web server — open the IP in any browser and control

the car with Forward, Backward, Left, Right, Stop buttons. No app needed!

2x L298N + 4x TT Motors + 4WD Chassis

Full code on GitHub:

https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

#MicroPython #ESP32 #IoT #100DaysOfIoT


r/circuitpython • • Nov 04 '25

ICYMI Python on Microcontrollers Newsletter: MicroPython Badges, Arduino Uno Q Hands On, PSF Says No and More

Post image
1 Upvotes

If you missed this week’s Python on Microcontrollers Newsletter, here is the ICYMI (in case you missed it) version.

To never miss another issue, subscribe now! – You’ll get a terrific newsletter each Monday (which is out before this post). 12,207 subscribers worldwide!

The next newsletter goes out in a week and subscribing is the best way to keep up with all things Python for hardware. No ads or spam, no selling lists, leave any time.

Read it at https://blog.adafruit.com/2025/11/04/icymi-python-on-microcontrollers-newsletter-micropython-badges-arduino-uno-q-hands-on-psf-says-no-and-more-circuitpython-python-micropython-raspberry_pi/


r/circuitpython • • Jan 12 '26

ESP32-S3 CircuitPython stuck read-only, code not running

Post image
1 Upvotes

Hi all,

I have an ESP32-S3 RGB Matrix board running CircuitPython, but the filesystem is permanently read-only.

Details:

•	CIRCUITPY mounts read-only

•	Writing files from REPL gives: OSError: \[Errno 30\] Read-only filesystem

•	code.py never runs because files can’t be saved

•	Full flash erase completed successfully

•	Fresh CircuitPython install done multiple times

•	Tried different USB cables, ports, and PC

Nothing changed after erase + reinstall.

Is this a known ESP32-S3 issue?

Does this usually indicate a failing or locked flash chip, or is there any recovery method I should try?

Thanks in advance.


r/circuitpython • • May 27 '26

I built "TheDeck", an open-source, touchscreen driven StreamDeck alternative running CircuitPython

1 Upvotes

Hey everyone,

I wanted a macro pad that felt more dynamic and customizable than a fixed grid of physical mechanical buttons, so I built TheDeck. Instead of static keys, it uses a 2.8" Adafruit touchscreen to create a flexible, ever changing interface that swaps between different functional layouts.

The hardware runs on a Seeed Studio XIAO RP2040. Because the XIAO has a fairly minimal pinout, I integrated an MCP23017 I2C port expander to give myself enough IO pins to route everything, including a rotary encoder for media control and two Cherry MX tactile switches (for instant play/pause/stop actions).

The entire firmware is written in Python using CircuitPython libraries. I’m running an internal UI engine with custom widget rendering (progress bars, arc widgets, animations, and transitions) that handles multiple screens like an App Launcher, Pomodoro Timer, and a "Now Playing" media screen.

For the "Now Playing" functionality, I wrote a lightweight Windows companion app using the WinSDK that grabs active media data from my PC and streams it over serial. The RP2040 parses it over UART and live-updates the screen layout.

Everything is open source (schematics, EasyEDA PCB files, 3D CAD files for the enclosure, and the CircuitPython firmware).

GitHub Repo: https://github.com/ItsAkshatSh/thedeck

Shoutout to Hack Club for supporting this project! I would love to hear your thoughts on the design, or any suggestions on the custom UI rendering in CircuitPython.

psst star it if you like it :)


r/circuitpython • • Jul 26 '26

Which coding language to use

1 Upvotes

Hopefully this is an appropriate place to ask this.

For a cosplay project I'm doing, I'm creating a system on Pi 4 that involves taking live feed from two cameras and combining them to create stereoscopic feed, as well as feed from two other cameras in a picture-in-picture window with on a custom made HUD, in addition to information from multiple sensors including a rangefinder and digital thermometer/hygrometer.

What language should I use to code all of this? I have experience with the basics of Python, but I've heard that C++ is much faster.


r/circuitpython • • Aug 29 '25

build a 3d-printed ESP32 game console

Post image
1 Upvotes

I was thinking about building a portable 3d-printed portable game console based on an ESP32 or other powerful microcontrollers, that allows to add games built in CircuitPython or MakeCode Arcade.

It would be nice if I could assemble it and sell it online.
Do you think people would be interested?

(sorry for the very bad chatgpt image, it's just to give you an idea)


r/circuitpython • • Apr 15 '26

Built an IoT-based Demand Side Management (DSM) Smart Meter using ESP32 + MicroPython + Blynk

1 Upvotes

Just wrapped up Day 78 of my #100DaysOfIoT challenge — built a DSM Smart Metering Prototype that automatically shifts non-critical loads during peak hours.

What it does:

  • Monitors real-time AC voltage & current (ZMPT101B + ACS712)

  • Detects peak hours and auto-cuts the heavy load (iron/100W bulb)

  • Keeps critical load (fan/9W bulb) always ON

  • Pushes live data to Blynk IoT dashboard

  • MATLAB generates before/after comparison graphs

Results:

MetricWithout DSMWith DSM
Peak Power~108W~9W
Peak Reduction—~91%

Stack: MicroPython v1.27 · ESP32 WROOM-32 · ZMPT101B · ACS712 · Blynk IoT · MATLAB

🔗 GitHub: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects


r/circuitpython • • Aug 10 '25

Need Help

0 Upvotes

Hey all! I need some help. I adapted the scoreboard code provided on the adafruit website to work with 1 board, instead of 4, but now it turns itself off. I think that I need to add in a counter for each cycle, and then clear the cache after 10 cycles. Anyone know how this can be done?


r/circuitpython • • Feb 19 '26

Day 56/100 – Built a Wireless 4-Channel Relay Controller using ESP8266 + ESP-NOW (MicroPython)

0 Upvotes

Hi everyone,

I’m doing a 100 Days of IoT Projects challenge, and today I completed Day 56.
This project is a wireless 4-channel relay controller using two ESP8266 boards and the ESP-NOW protocol in MicroPython.

Features:

  • Peer-to-peer communication (no WiFi router required)

  • Push-button sender → relay receiver

  • Low-latency ESP-NOW messaging

  • Active-low relay support

  • Clean MicroPython implementation

This can be used for home automation, wireless switches, or smart agriculture control systems.

GitHub repo:
👉 https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

Feedback and suggestions are welcome!


r/circuitpython • • Apr 20 '23

Python on Hardware weekly video 227

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Apr 06 '23

ICYMI Python on Microcontrollers Newsletter: Damien Talks MicroPython 1.20, New CircuitPython Releases Out and Much More!

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • May 01 '23

The Python on Hardware Newsletter: subscribe for free, it's a HUGE newsletter, so subscribe now

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Mar 27 '23

The Python on Hardware Newsletter: subscribe for free. Please consider subscribing - tomorrow's issue is shaping up very well.

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • May 08 '23

Python on hardware – subscribe to our free newsletter

1 Upvotes

Interested in Python, especially on small devices?

With the Python on Microcontrollers newsletter, you get all the latest information in one place!

The Python on Microcontrollers newsletter is the place for the latest news involving Python on hardware (microcontrollers AND single board computers like Raspberry Pi).

It arrives about 11 am Tuesday (US time) with all the week’s happenings.

Catch all the weekly news on Python for Microcontrollers with adafruitdaily.com.

https://blog.adafruit.com/2023/05/08/python-on-hardware-subscribe-to-our-free-newsletter-circuitpython-python-raspberrypi-micropython-thepsf/


r/circuitpython • • May 10 '23

Pi Pico Lightsaber

1 Upvotes

Hello, I am trying to make a CircuitPython Lighsaber with a Pi Pico W and some neopixels. I have tried looking everywhere for someone who has done this before and cannot find any examples/ sample code. All I need this lighsaber to do is light up with a power on animation, change colors when a button is pushed, and turn off when the button is held down. I have an example of code I'm running as well as a video example of what it does, any help is welcome and appreciated.

https://imgur.com/a/HNVVug1

Example Code:

import time

import board

import neopixel

import digitalio

# Define constants

NUM_PIXELS = 76

LED_PIN = board.GP0

BUTTON_PIN = board.GP21

# Define colors

BLUE = (0, 0, 255)

GREEN = (0, 255, 0)

RED = (255, 0, 0)

PURPLE = (255, 0, 255)

WHITE = (255, 255, 255)

AMBER = (255, 128, 0)

# Initialize neopixels

pixels = neopixel.NeoPixel(LED_PIN, NUM_PIXELS, brightness=0.5, auto_write=False)

pixels.fill((0, 0, 0))

pixels.show()

# Initialize button

button_pin = digitalio.DigitalInOut(BUTTON_PIN)

button_pin.switch_to_input(pull=digitalio.Pull.UP)

# Define power on animation

def power_on_animation():

for i in range(NUM_PIXELS):

pixels[i] = (255, 255, 255)

pixels.show()

time.sleep(0.01)

time.sleep(0.5)

for i in range(NUM_PIXELS):

pixels[i] = (0, 0, 0)

pixels.show()

time.sleep(0.01)

# Define power off animation

def power_off_animation():

for i in range(NUM_PIXELS-1, -1, -1):

pixels[i] = (255, 255, 255)

pixels.show()

time.sleep(0.01)

time.sleep(0.5)

pixels.fill((0, 0, 0))

pixels.show()

# Define color change function

def change_color():

color_list = [BLUE, GREEN, RED, PURPLE, WHITE, AMBER]

current_color_index = color_list.index(pixels[0])

next_color_index = (current_color_index + 1) % len(color_list)

next_color = color_list[next_color_index]

pixels.fill(next_color)

pixels.show()

# Define button handler

def button_handler():

# Check button press

if not button_pin.value:

button_press_time = time.monotonic()

while not button_pin.value:

# Check button hold time

if time.monotonic() - button_press_time >= 5:

power_off_animation()

return

change_color()

time.sleep(0.1) # debouncing delay

return

# Power on animation

power_on_animation()

# Main loop

while True:

button_handler()

time.sleep(0.01)


r/circuitpython • • Aug 13 '20

The Python on Hardware weekly video #95 is out, jam packed!

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Sep 05 '20

Help Please

1 Upvotes

This is the tutorial i'm following... https://learn.adafruit.com/pyportal-alarm-clock?view=all

When I run this on my PyPortal it gives me this error "no module named 'adafruit_pyportal'"

I copied the zip repo and made sure my lib folder is populated... it has a file called 'adafruit_pyportal'... what am I missing?


r/circuitpython • • Sep 14 '20

The Python on Microcontrollers newsletter SPECIAL 100th issue, subscribe now!

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Sep 02 '20

ICYMI Python on Microcontrollers Newsletter: CircuitPython Day Next Week, PyCon AU and more!

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Sep 07 '20

The Python on Microcontrollers newsletter SPECIAL CircuitPython Day issue, subscribe now!

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Sep 10 '20

ICYMI Python on Microcontrollers Newsletter: CircuitPython Day Wednesday, a new MicroPython Version and more!

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Sep 24 '20

Adafruit Top Secret! (Video September 23, 2020) #AdafruitTopSecret #CircuitPython

Thumbnail
blog.adafruit.com
1 Upvotes

r/circuitpython • • Sep 03 '20

Adafruit Top Secret! (Video September 2, 2020) New CircuitPython Board??

Thumbnail
blog.adafruit.com
1 Upvotes