close
Skip to main content
BERJAYA

r/circuitpython


Hey everyone i built picodesk a desktop companion station
Hey everyone i built picodesk a desktop companion station

hey everyone i know that i am inconsistent , i saw that everyone makes a cyberdeck with raspberry pi but i have no raspberry pi as i am 3rd yr electrical undergraduate

so i take some a break for exams and built picodesk a desktop companion station that sits next to my laptop.

OLED 1 shows live clock (NTP synced), date, and real time weather pulled from OpenWeatherMap API.

OLED 2 is the fun one animated eyes that blink and look around randomly. Every 2 minutes, hearts fall down the screen. And when I need to focus, I can switch it to a todo list from my phone and laptop browser no app install, just open the IP and it works.

The whole thing runs on MicroPython. Pico 2W hosts a tiny web server so I can control everything from my phone on the same WiFi.

Tech stack: - Raspberry Pi Pico 2W , 2x SSD1306 OLED (I2C0 + I2C1) ,MicroPython , OpenWeatherMap free API ,HTML/CSS/JS web app

Full source code on github https://github.com/kritishmohapatra/PicoDesk

100 days 100 iot projects series :- https://github.com/kritishmohapatra/100_Days_100_IoT_Projects


Hank knows pizza. Copilot knows Excel.
media poster


Rovari Circuit Studio v0.1 Initial Release
Rovari Circuit Studio v0.1 Initial Release
BERJAYA r/circuitpython - Rovari Circuit Studio v0.1 Initial Release

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

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 :)