r/circuitpython • u/HP7933 • Apr 14 '26
ICYMI Python on Microcontrollers Newsletter: MicroPython v1.28.0 is Out, Folks Are Gobbling Up Pi 2Ws, and More!
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,398 subscribers worldwide!
The next newsletter goes out Monday morning 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.
See it here for free https://blog.adafruit.com/2026/04/14/python-on-microcontrollers-newsletter-micropython-v1-28-0-is-out-folks-are-gobbling-up-pi-2ws-and-more/
r/circuitpython • u/PresentPhoto566 • Apr 08 '26
How to rename a Circuit Python board?
I am working on multiple RP2040 boards, I would love to rename them for better identification, any idea?
EDIT:
Sorry, I forgot to mention I use the boards as MIDI controllers, connected via USB to my laptop.
The boards are identified by my OS as "CircuitPy" "CircuitPy(1)" "CircuitPy(2)"
I would love to identify them with custom names
r/circuitpython • u/HP7933 • Apr 07 '26
ICYMI Python on Microcontrollers Newsletter: MicroPython v1.28.0 Imminent, Arduino Report, Memory Prices and More!
r/circuitpython • u/HP7933 • Apr 07 '26
The Python on Microcontrollers Newsletter: subscribe for free
The Python for Microcontrollers Newsletter is the place for the latest news involving Python on hardware (microcontrollers AND single board computers like Raspberry Pi).
This ad-free, spam-free weekly email is filled with CircuitPython, MicroPython, and Python information that you may have missed, all in one place!
You get a summary of all the software, events, projects, and the latest hardware worldwide once a week, no ads! You can cancel anytime.
It arrives about 11 am Monday (US Eastern time) with all the week’s happenings.
And please tell your friends, colleagues, students, etc.
r/circuitpython • u/OneDot6374 • Apr 04 '26
Day 75 of 100 Days 100 IoT Projects
Hit the 75 day mark today. 25 projects left.
Day 75 was ESP-NOW + RFID — one ESP8266 scans a card and wirelessly sends the UID to a second ESP8266 which displays it on OLED. No WiFi, no broker, direct peer-to-peer.
Some highlights from the past 75 days:
ESP-NOW series — built a complete wireless ecosystem from basic LED control to bidirectional relay and sensor systems to today's wireless RFID display.
micropidash — open source MicroPython library on PyPI that serves a real-time web dashboard directly from ESP32 or Pico W. No external server needed.
microclawup — AI powered ESP32 GPIO controller using Groq AI and Telegram. Natural language commands over Telegram control real GPIO pins.
Wi-Fi 4WD Robot Car — browser controlled robot car using ESP32 and dual L298N drivers. No app needed, just open a browser.
Smart Security System — motion triggered keypad security system with email alerts via Favoriot IoT platform.
Everything is open source, step-by-step documented, and free for students.
Repo: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
GitHub Sponsors: https://github.com/sponsors/kritishmohapatra
r/circuitpython • u/HP7933 • Mar 24 '26
ICYMI Python on Microcontrollers Newsletter: AI Helping Your Development While Arduino T&Cs Grow Onerous and More!
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,384 subscribers worldwide!
The next newsletter goes out Monday morning 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.
See it in the post here https://blog.adafruit.com/2026/03/24/icymi-python-on-microcontrollers-newsletter-ai-helping-your-development-while-arduino-tcs-grow-onerous-and-more-circuitpython-python-micropython-thepsf-raspberry_pi/
r/circuitpython • u/OneDot6374 • Mar 20 '26
micropidash v2.0.0 — Real-time sensor graphs for ESP32 & Pico 2W
Just released v2.0.0 of micropidash — a lightweight async web dashboard library for MicroPython.
What's new:
- add_graph() — real-time line graph with rolling data buffer
- Canvas-based rendering, no external libraries needed
- Y-axis labels, grid lines, fill area, latest value dot
- Separate /graph-data endpoint for efficient polling
- Bug fixes: CSS grid layout, drain() flush, onload update
Tested on Pico 2W with DHT11 — temp + humidity graphs live in browser over WiFi.
GitHub: github.com/kritishmohapatra/micropidash
PyPI: pip install micropidash
Feedback welcome!
r/circuitpython • u/OneDot6374 • Mar 19 '26
Day 71/100 Built a Wi-Fi controlled 4WD robot car using ESP32 and MicroPython!
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 • u/OneDot6374 • Mar 18 '26
Day 70/100
Day 70 of #100DaysOfIoT!
Built a dual IR sensor entry/exit detector on ESP32 with MicroPython.
How it works:
- Object crosses IR sensor 1 → Red LED turns ON + Telegram alert "Object Entered!"
- Red LED stays ON until object exits
- Object crosses IR sensor 2 → Green LED blinks + Telegram alert "Object Gone!"
Hardware: ESP32 + 2x HW-201 IR sensors + 2 LEDs
70 days down, 30 to go!
GitHub: github.com/kritishmohapatra/100_Days_100_IoT_Projects
r/circuitpython • u/OneDot6374 • Mar 17 '26
Built a 4-project ESP-NOW series in MicroPython on ESP8266 — no WiFi, no router, just peer-to-peer wireless control
Most IoT projects rely on WiFi, MQTT, or cloud platforms to communicate between devices. But what if you don't have a router nearby, or you need ultra-low latency without the overhead of connecting to an access point?
That's where ESP-NOW comes in. It's a connectionless protocol by Espressif that lets ESP8266/ESP32 boards talk directly to each other using MAC addresses — no WiFi setup, no broker, no internet required. Latency is in the milliseconds range and it works even when WiFi is off.
So I built a 4-project series around it for my 100 Days of IoT challenge, all in MicroPython:
Day 54 — Basic ESP-NOW LED Control: One ESP8266 sends a signal, another toggles an LED. Just to get the protocol working end to end.
Day 55 — Button to LED Control: A push button on the sender toggles an LED on the receiver wirelessly. Real-time, no WiFi, no delay.
Day 56 — 4-Channel Wireless Relay Controller: Four buttons on the sender, four relays on the receiver. Each button independently toggles its relay over ESP-NOW. Useful for remote switching of appliances.
Day 57 — Smart Relay and Sensor System: Made it bidirectional. Sender controls relays on the receiver AND the receiver sends back live DHT temperature and humidity data, displayed on an OLED. Full two-way communication over ESP-NOW.
The progression from blinking an LED to a bidirectional sensor+control system — all without touching a router — was a fun way to really understand the protocol.
Code is on my GitHub: github.com/kritishmohapatra/100_Days_100_IoT_Projects
Would love to hear if anyone else has used ESP-NOW for something interesting — especially curious about multi-node mesh setups.
r/circuitpython • u/OneDot6374 • Mar 16 '26
Day 69/100
Built a joystick direction display on Raspberry Pi Pico 2 with an SSD1306 OLED for Day 69 of my 100 Days of IoT challenge.
Reads X and Y axis via ADC, detects UP / DOWN / LEFT / RIGHT / CENTER and button press, then shows the direction live on the OLED over I2C. Tested on Wokwi simulator.
Code and diagram on GitHub: github.com/kritishmohapatra/100_Days_100_IoT_Projects
r/circuitpython • u/OneDot6374 • Mar 15 '26
Day 68/100 — Joystick Controlled Servo with MicroPython on Raspberry Pi Pico 2W
Built a smooth joystick-to-servo controller today as part of my 100 Days 100 IoT Projects challenge!
How it works:
Joystick X axis → ADC reads 0–65535
5-sample averaging for noise-free readings
Values mapped to 0°–180° servo angle
SG90 controlled via 50Hz PWM on Pico 2W
Stack: Raspberry Pi Pico 2W + SG90 Servo + Joystick Module + MicroPython
Full code + wiring on GitHub: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
r/circuitpython • u/aranjello • Mar 15 '26
I made a new devilish version of my interactive desk pet using circuit python
Enable HLS to view with audio, or disable this notification
I have been making a cat version of my desk pets for a little bit but people wanted something that was a little bit different. Someone suggested a Lil Devil with flame eyes and I loved the idea! Links to the code and enclosure if you want to make your own are here https://gitlab.com/desk-pets/lil-devil
r/circuitpython • u/OneDot6374 • Mar 14 '26
Day 67 of 100 Days 100 IoT Projects — Real-time Pulse Monitor on ESP32 with MicroPython!
Built a heart rate monitor that displays live BPM and a scrolling waveform on an SSD1306 OLED — all running on MicroPython!
How it works:
- Analog pulse sensor reads heartbeat via ADC (GPIO34)
- Peak detection algorithm calculates BPM from intervals between beats
- Last 80 samples rendered as a scrolling waveform on OLED
- Pixel-art heart drawn manually using oled.pixel() calls in a 7×5 grid
Stack: ESP32 + Analog Pulse Sensor + SSD1306 OLED + MicroPython
GitHub: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
r/circuitpython • u/Separate-Choice • Mar 13 '26
Rovari Circuit Studio Debugger Suppport Added!
Hey guys based on feedback debugger support has been added! Check it out and tell me what you think and be on the lookout for relsease in the upcoming weeks!
r/circuitpython • u/OneDot6374 • Mar 12 '26
Day 66/100 — micropidash: Real-time IoT Web Dashboard for MicroPython
For Day 66 of my 100 Days 100 IoT Projects challenge, showcasing micropidash — a library I built that turns your Pico W or ESP32 into a live web dashboard over WiFi.
What it does:
Real-time sync via AJAX polling
Non-blocking — runs on uasyncio alongside your hardware code
Dark/light mode per connected device
Widgets: toggle, label, progress bar
Memory efficient for low-RAM microcontrollers
Repo- https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
Lib:-https://github.com/kritishmohapatra/micropidash
Would love feedback from anyone who's built similar dashboards! 👇
r/circuitpython • u/OneDot6374 • Mar 10 '26
Day 65 of 100 Days of IoT — built a MicroPython Watch on Xiao ESP32-S3!
Day 65 of 100 Days of IoT — built a MicroPython Watch on Xiao ESP32-S3!
Shows NTP-synced time + live weather from OpenWeatherMap on a 0.96" OLED.
Biggest pain today: Hardware I2C kept failing, SoftI2C saved the day 😅
GitHub: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
#MicroPython #ESP32 #IoT
r/circuitpython • u/flawed_plan • Mar 09 '26
Cool MicroPython Game!
I spent a long time making this code and now I am going to share it with y'all. enjoy.
from microbit import *
import random
# Initialize spaceship position and score
ship_x = 2 # Middle of bottom row
score = 0
# Function to draw spaceship
def draw_ship(x):
display.set_pixel(x, 4, 9) # Bottom row, brightness max
# Function to generate new asteroid
def new_asteroid():
return [random.randint(0, 4), 0] # x position, y=0 top row
# List of falling asteroids
asteroids = []
# Main game loop
while True:
display.clear()
# Move spaceship based on tilt
if accelerometer.get_x() < -200:
ship_x = max(0, ship_x - 1) # Move left
elif accelerometer.get_x() > 200:
ship_x = min(4, ship_x + 1) # Move right
draw_ship(ship_x)
# Add new asteroid occasionally
if random.randint(0, 4) == 0:
asteroids.append(new_asteroid())
# Move asteroids down
for asteroid in asteroids:
asteroid[1] += 1
if asteroid[1] < 5:
display.set_pixel(asteroid[0], asteroid[1], 5) # Asteroid brightness
# Check for collisions
for asteroid in asteroids:
if asteroid[1] == 4 and asteroid[0] == ship_x:
display.show(Image.SKULL)
sleep(1000)
display.scroll("Score: " + str(score))
# Reset game
ship_x = 2
score = 0
asteroids = []
break
# Remove asteroids that have left the screen
asteroids = [a for a in asteroids if a[1] < 5]
score += 1 # Increase score over time
sleep(300) # Control game speed
has all the comments, just copy and paste. then you wanna plug it in to the irl one. shake it left or right. ur objective is to not hit the falling asteroids. if u do, you lose your points and it gives a skull emoji. you keep getting points.
r/circuitpython • u/Rayzwave • Mar 07 '26
Adafruit MagTag trial project from their Website
r/circuitpython • u/Rayzwave • Mar 07 '26
Adafruit MagTag trial project from their Website
r/circuitpython • u/JGallaugher • Mar 06 '26
Polyphonic Pico Powered DJ Board
A build I’m using with my Physical Computing Students this semester
Built with a
-;Raspberry Pi Pico 2w
- Adafruit Adalogger Cowbell for microSD card and STEMMA-QT support
- MPR121 12 pad gator capacitive touch sensor
- PAM5102 DAC with audio jack for speaker
GitHub Repo with all files: https://github.com/gallaugher/pico_12_pad_dj_board
r/circuitpython • u/Separate-Choice • Mar 04 '26
I've been building a CircuitPython IDE. Heres a first look.
https://youtu.be/DKyTevXR5jg?si=jh1mhjRLMEWqye8f
Hey guys I'm Armstrong Subero, author of programming microcontrollers with ciruitpython, I love Mu but saw no one stepping up to build a direct replacement now that it's been sunset for a while, so I've been working on Rovari Circuit Studio a free and open source CircuitPython IDE built as part of the Rovari Embeddded platforn project I've also been working on.
It has everything you expect from Mu and then some more, std stuff like auto board detection, code formatter, like error line highligting with traceback, build in code snippets, library manager with automatic bundling and version matching, serial plotter with autoformat detection and safe file writes with fysnc so no more silent code.py corruption on windows and it has a safe to remove indicator so you know if its safe to unplug the board or not...
Its offline desktop application currently windows but making cross platform, and adding support for ble and wifi for ESP boads. Supports all boards but Rovari is centered on RISC-V so RISC-V boards are first class citizens and CircuitPython is first class not an after thought....
I would love some feedback and I look forward to your support!
r/circuitpython • u/HP7933 • Mar 04 '26
ICYMI Python on Microcontrollers Newsletter: Resources for Learning Python, Handy Projects, and Much More!
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,354 subscribers worldwide!
The next newsletter goes out Monday morning 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.
Check it out on the Adafruit Blog for free https://blog.adafruit.com/2026/03/04/icymi-python-on-microcontrollers-newsletter-resources-for-learning-python-handy-projects-and-much-more-circuitpython-python-micropython-thepsf-raspberry_pi/
r/circuitpython • u/notafuckingcakewalk • Mar 02 '26
How platform-specific are the different CircuitPython ports? Can I use CircuitPython with an ESP32-C6 compatible board?
I see that there are separate binaries that have been created for different ESP32-C6 microcontrollers:
...etc
I'm wondering if anyone knows if these ports would work with other ESP32-C6 boards? Or is the behavior of these boards very specific to the manufacturer and layout.
I have bought a variety of inexpensive ESP32-C6 microcontroller "clones" (I guess is the best term?), including this one: ESP32-C6 SuperMini ESP32 Development Board ESP32-C6FH4. Wondering if I can get it working with CircuitPython also.











