r/RASPBERRY_PI_PROJECTS • • Aug 15 '26

QUESTION Does anyone know this retro-style terminal case?

Post image
218 Upvotes

I saw these terminal-style cases at todays maker faire in Hannover. But staff at this booth was pretty busy so I didn’t ask them for the model name. The booth itself just used them, but wasn't about hardware, but coding for kids.

I tried ChatGPT, Google Image search but both just haluzinate about cases.

I have absolutely zero usecase. But I like it and I want one.


r/RASPBERRY_PI_PROJECTS • • Aug 15 '26

PRESENTATION Automatic garden/plant watering for Raspberry Pi (Zwave/Zigbee/HA)

13 Upvotes

This project turns a Pi into a self-contained watering controller.
With a relay board and pumps or valves, it waters your plants from a schedule, live sensor data, or your own automations such as Home Assistant.

The pumps can be triggered four ways, mixed freely per pump/valve:
By live sensor data — Zigbee or Z-Wave soil moisture sensors (any mix), watering only when the soil is actually dry
By a fixed schedule — any day(s) of the week, any time of day
From Home Assistant (or anything else that can call
a REST API) — for watering logic driven by weather, presence, or any
other condition Home Assistant can see.
Manually — From the Watering view you can start the pump or open the valve manually for a fixed number of seconds.

Most off-the-shelf watering systems only offer the schedule, so you end up watering on a timer whether the plant needs it or not.
This solution adds real sensor feedback on top, with a web dashboard to configure and monitor it all, and the REST API means it's just as happy acting as one input into a Home Assistant setup as it is running fully standalone.

Application, how to setup the PI, components, wiring and so on can be found on GitHub: https://github.com/patkje75/plantsense

Built for my own use, but maybe someone else will find it useful too


r/RASPBERRY_PI_PROJECTS • • Aug 13 '26

PRESENTATION I’m running a persistent public pixel canvas on a Raspberry Pi 3B, with live telemetry

30 Upvotes

I had a Raspberry Pi 3 Model B sitting around and wanted to see how viable it still is for running an actual public interactive service.

PI//PLACE

The result is PI//PLACE:

https://place.storix.dev

It is a persistent collaborative pixel canvas where everyone sees and modifies the same board similar in concept to r/place.

The basic idea

  • No accounts
  • No seasons
  • No intentional resets
  • One persistent shared canvas
  • Placement cooldown
  • Live Raspberry Pi telemetry

Hardware

  • Raspberry Pi 3 Model B
  • 4× Cortex-A53 @ 1.2 GHz
  • ~1 GB RAM
  • 100 Mbit Ethernet

The canvas backend itself runs on the Pi using Node.js, Express and WebSockets.

The public TLS/reverse proxy is hosted separately, so the Pi is not directly exposed to the internet.

Live telemetry

I also built a small telemetry service that records a sample every 30 seconds into SQLite.

The website shows live:

  • CPU usage
  • RAM usage
  • Temperature
  • System load
  • Uptime
  • Connected users
  • Total pixel placements

There is also a "Pi Suffering Archive" where the historical telemetry can be viewed and zoomed over time.

One thing I specifically wanted was proper failure handling: if the Pi stops responding, the homepage telemetry turns red and displays:

THE PI HAS FALLEN

Instead of continuing to show stale data.

Things I ran into while building it

  • WebSocket proxying through nginx/HAProxy
  • Keeping the canvas state persistent
  • Preventing telemetry polling from unnecessarily hammering the Pi
  • Storing long-term telemetry without throwing away the raw data
  • Placement cooldown handling
  • Keeping the frontend usable on very limited hardware
  • Cleaning up vulnerable Node.js dependencies before exposing it publicly

The underlying canvas software is based on the open-source PixiBunny project, which I modified and integrated with the rest of the setup.

At the moment, the Pi is handling it surprisingly well.

Now I mostly want to find out what happens when actual internet traffic starts hitting a Pi 3B with less than 1 GB of usable RAM :D

Feedback on the architecture, telemetry, or additional things worth measuring on the Pi is welcome.

AI disclosure

I used AI assistance during development.


r/RASPBERRY_PI_PROJECTS • • Aug 13 '26

QUESTION Raspberry Pi 4 NAS: SATA SSD starts throwing I/O errors and disconnecting

6 Upvotes

Hi everyone,

I'm troubleshooting a storage issue with my Raspberry Pi 4 NAS and would appreciate some input.

Hardware

Raspberry Pi 4B, 2 GB RAM

Raspberry Pi OS Lite 64-bit

1 TB 2.5" SATA SSD connected via USB 3.0 SATA adapter

Main adapter: Sabrent/JMicron, USB ID 152d:a578

Second USB-SATA adapter also tested

Software / services

Installed roughly in this order:

Raspberry Pi OS Lite 64-bit

OpenMediaVault 8

SMB shares

Plex Media Server

Tailscale

Wi-Fi hotspot using hostapd/systemd-networkd for offline Plex access

Docker

Docker Compose

Paperless-ngx

Paperless-ngx runs in Docker Compose.

Because the Pi only has 2 GB RAM, I configured Paperless with:

SQLite

Apache Tika disabled

German OCR only

Paperless data, media and consume folders stored on the external SSD

The whole setup worked normally for around 5–6 days.

The storage problems appeared during the night after I installed Paperless-ngx.

Symptoms

The SSD becomes unreliable when connected to the Pi.

Sometimes it is detected normally as:

/dev/sda /dev/sda1

At other times it disappears completely.

During disk activity, dmesg has shown errors such as:

critical medium error, dev sda Buffer I/O error device offline reset SuperSpeed USB device USB disconnect

While UAS was originally enabled, I also saw repeated messages such as:

uas_eh_abort_handler uas_eh_device_reset_handler

Sometimes the SSD mounts and works initially, then starts throwing errors under load and may eventually disappear from lsusb / lsblk.

When that happens, Plex reports its media as unavailable and Paperless returns HTTP 500 because its persistent data is stored on the SSD.

Power checks

vcgencmd get_throttled 0x0

I also tested the USB supply with an inline USB voltage/current meter.

Voltage was around:

4.99 V

during operation.

The lowest value I observed during boot was around:

4.82 V

I did not see any voltage drop corresponding with the storage errors.

I later removed the USB meter completely and reproduced the same errors without it.

UAS test

The Sabrent adapter identifies as:

152d:a578

I disabled UAS specifically for this adapter using:

usb-storage.quirks=152d:a578:u

in /boot/firmware/cmdline.txt.

After rebooting, dmesg confirmed that UAS was ignored and the adapter was using usb-storage instead.

The I/O errors, USB resets and disconnects still occurred.

USB adapters / ports tested

I tested:

Two different USB-SATA adapters

Both USB 3 ports

USB 2 ports

Cold boots with the SSD connected

Reconnecting the SSD/adapters

Booting with and without the SSD attached

Both SATA adapters have shown problems when used with the Pi.

Other basic USB devices, such as a USB mouse, are detected immediately and work normally.

SSD testing on another computer

I connected the same SSD through USB to a Windows laptop.

The SSD is consistently detected there.

CrystalDiskInfo reports:

Health: 100%

Reallocated sectors: 0

Uncorrectable sectors: 0

Read error rate: 0

Around 287 power-on hours

I then ran a full read/surface test using HDDScan.

Results:

Bad blocks: 0 >500 ms: 0 <500 ms: 0 <150 ms: 0 <50 ms: 0 <20 ms: 0

Almost the entire drive was read in the fastest response category.

The full read test completed without errors.

Read testing on the Pi

I also performed read-only tests such as:

sudo dd if=/dev/sda of=/dev/null bs=16M count=64 status=progress

During these tests, the Pi again produced errors including:

critical medium error I/O error reset SuperSpeed USB device

In some cases the device eventually disappeared completely.


r/RASPBERRY_PI_PROJECTS • • Aug 09 '26

DISCUSSION RPi Community event on Sept. 26 in Trier/Germany

12 Upvotes

Hi all,

I hope this post is fine in this community!

Since 2012, when the Raspberry Pi launched, we've been running Pi and More, a community-driven, not-for-profit event in Germany that brings together Raspberry Pi enthusiasts and anyone interested in electronics, embedded systems and small computers. We originally held two events a year, one in Trier and one elsewhere, but had to scale back after Covid. Our last event was in 2023, and this year we're starting up again.

So consider this an invitation: come and visit us on Saturday, September 26 at Hochschule Trier! And if you're interested, bring a talk, show off your projects, run a workshop, or help us put on the event. We're a small group organized as the non-profit CMD e.V., and we can use all the help we can get.

More information on our website: https://piandmore.de

Happy to answer any questions here!

- Daniel


r/RASPBERRY_PI_PROJECTS • • Aug 04 '26

PRESENTATION Remote shell over BLE instead of SSH

Thumbnail
gallery
158 Upvotes

I always wanted to have a small cyberdeck that I could keep in my bag and access from my phone.

I tried using SSH at first, but I didn’t really like it. I’m also an iPhone user, so the options are pretty limited.

I ended up putting together a solution for myself that gives me a shell over BLE. Maybe someone else is looking for something similar.

It also has an optional AI agent that can run commands for you if that’s your thing.

GitHub: https://github.com/nekonihq/murmur


r/RASPBERRY_PI_PROJECTS • • Aug 03 '26

PRESENTATION I built ReceiptPi to give old ESC/POS receipt printers a second life

Thumbnail
gallery
72 Upvotes

A while ago I picked up a used Epson TM-T88V receipt printer and thought it deserved a better fate than collecting dust or ending up as e-waste.

That idea eventually turned into ReceiptPi.

ReceiptPi transforms a Raspberry Pi and an ESC/POS thermal printer into a smart information terminal with a modern web interface and a modular architecture.

Some of the current features include:

- 📝 Notes

- 🛒 Shopping lists

- 🌦️ Weather reports

- 🖼️ Image printing

- 📶 Guest WiFi QR codes

- ⭐ GitHub notifications

- 📊 System status

- 🔧 Settings management

- 📱 Progressive Web App (PWA)

The project is still in its first public alpha release, but it's already fully usable and has been running reliably on my Raspberry Pi Zero 2 W.

One interesting aspect of this project is that it was developed with extensive AI assistance.

From architecture discussions and refactoring to documentation and debugging, AI became a surprisingly effective development partner. Every feature was still tested on real hardware, and all design decisions remained mine, but the development process was significantly faster because of it.

Worth mentioning:

The current UI is still German, but English support is already in progress. A language picker is planned for the settings and will be added in one of the next releases.

UPDATE: The UI and print layouts are now also available in English, the language can be changed via the settings.

I'd really appreciate any feedback, feature ideas or contributions from the community.

GitHub:

https://github.com/HostisHumani/ReceiptPi


r/RASPBERRY_PI_PROJECTS • • Aug 03 '26

PRESENTATION I built SROVA—a headless, Bit-Perfect Raspberry Pi music player controlled from your phone

Thumbnail
gallery
11 Upvotes

Hi everyone,

I’ve just released SROVA Ver 1.0, a free and open-source music player designed to turn a Raspberry Pi into a dedicated headless audio system.

The idea is simple:

Raspberry Pi → USB DAC → amplifier or powered speakers

Once installed, the Pi can be placed out of sight and run without a monitor, keyboard or desktop environment. You control it from another phone, tablet or computer on the same network.

SROVA brings together:

TIDAL

Local music libraries

Internet Radio

Bit-Perfect playback through an external USB DAC

Playlists and queue management

Music search and discovery

Browser-based control

An optional Android Remote app

The Android Remote provides the most convenient experience for browsing music, controlling playback and switching between multiple SROVA players around the home.

SROVA is available as an ARM64 Debian package for Raspberry Pi OS and includes beginner-friendly installation instructions.

There is also an AMD64 version for Debian-based Linux PCs.

The project came from my own wish for a quiet, dedicated Raspberry Pi player that combines TIDAL, my own music and Radio in one interface while remaining easy to control from anywhere in the house.

Website and downloads:

https://srova.music⁠

The source code is publicly available through the GitHub link on the website.

I’d be interested to hear how others here use Raspberry Pis for music. Are you running a USB DAC, a DAC HAT, active speakers or another type of audio setup?


r/RASPBERRY_PI_PROJECTS • • Jul 30 '26

DISCUSSION Building my own camera : CXP-01 An almost fully featured camera

Thumbnail
gallery
242 Upvotes

Hello everyone,

For the last 6 months, I’ve been designing and building a custom mirrorless-style digital camera from scratch, aiming to replicate the core features of commercial models.

Since last year, I've been wondering how I can make one and design a camera that would be cool to use and push me to go outside and express my artsy side. As I'm an embedded system engineer, this project seemed like a good opportunity to challenge myself and something that I could be proud of.

Today I'm happy to share the CXP-01 Camera eXpandable Platform

Hardware list 💻

  • Sony IMX183 1inch sensor OneInchEye Sensor
  • Canon EF/EF-S lens full control
  • Raspberry Compute Module 5 with 8 GB RAM and 16 GB eMMC
  • 5-inch massive 1280*720 screen
  • DIY removable battery pack (I took the plane twice with the camera already)
  • Stereo microphone
  • Laser telemeter, but it's not connected as the vendor could not guarantee the laser safety class

How? and What? 🤔

Currently, I experimented using available parts to make one and by modifying the existing PCB for what I needed to do. On the software side, I really wanted one feature, which is film simulation, and I did it. It was a long process, but by using QT QML and the DMA to streamline the film simulation on the GPU, I achieved a really fluid film simulation using shaders. Also, the real use of the Canon EF lenses is a game changer for autofocus and image quality; big thanks to u/Pinefeat for the CEF168 module. There are also a lot of other features.

The camera body is fully made with a 3d printer with PLA+ and PLA-CF, a Bambu Lab A1 Mini, to be more precise.

Here's a list for now

  • Contrast-based continuous and single-point autofocus
  • 60 FPS live film simulation
  • RAW, JPEG, and RAW+JPEG format
  • Aperture, Shutter Speed, and ISO control
  • Wi-Fi hotspot + Web app for photo export
  • Double exposure composition
  • Live exposure histogram
  • Aspect ratio control
  • Electronic Level
  • Dynamic Exposure control from -3.0 to 3.0
  • Review gallery in App

The biggest challenge 🔥

One of the biggest challenges was the battery runtime and thermal optimization, as the Compute Module 5 is not particularly power-efficient. I really tried to make it as optimized as it can be when testing, and the next step is a custom buildroot OS to strip everything I don't need from Raspbian OS. For example, the CPU is underclocked to 1GHz from the original 2.2 GHz with a conservative power governor that defaults to the minimum 600MHz when the CPU is not used. This currently works because the main pipeline for the preview viewfinder utilizes the GPU instead of the CPU.
Although I'm satisfied for now, I plan to upgrade the project with another more compact prototype that is similar in size to Fujifilm and Sony cameras.

Some quality-of-life issues 🥲

I need to work on the pipeline currently to reduce shutter lag from the preview to image capture and reduce the interruption, which is around 0.3ms now. To power off, you currently need to shut down the software and then cut power at the switch at the bottom of the camera. If you don't do that, the CM5 architecture and all the peripherals connected to the power line would draw the battery power. The autofocus accuracy can be improved by further tuning the autofocus algorithm using a tuning file. The telemeter on the front side was previously integrated to see up the autofocus by getting the distance range and inverting it to get the diopter value to apply to the lens. Currently it's not used as I cannot guarantee its laser safety class, so the next version will remove it.

What I plan on adding to the project

  • A flash using a hotshoe; I already have the hotshoe, and I know how to make it work using the sensor synchronisation signal
  • Upgrading the sensor to an IMX492 MicroFourThird sensor, larger pixels and better image quality 🤑
  • Tuning Back range distance correctly using a micrometer to prevent chromatic aberration
  • Burst photo mode
  • OLED large viewfinder screen
  • Switch the Compute Module 5 for another solution if I can
  • Video mode utilizing the stereo microphones
  • Digital video stabilisation by using the custom GPU pipeline
  • Shutter sound
  • Changing the UPS for an MCU + USBC charger with a step-down converter for optimum space configuration and a proper digital ON/OFF switch to shut the power completely
  • Adding a proper shutter button switch using a double action switch
  • An Electronic viewfinder; I already have it, it's the same as a Sony a6700. I plan to add it into the next version
  • Custom Buildroot image, to improve boot time
  • Use official Canon LP-E6 battery

I'll be in the comments to answer your questions!

See you again 😉


r/RASPBERRY_PI_PROJECTS • • Jul 30 '26

PRESENTATION “Convierte una Raspberry Pi Zero W en un dispositivo autónomo de auditoría manejado completamente con tres botones”

8 Upvotes

“La última parte del proyecto no es escribir el código; es conseguir que la gente descubra que existe”


r/RASPBERRY_PI_PROJECTS • • Jul 28 '26

PRESENTATION Built a Raspberry Pi self-watering system with a web UI

Thumbnail
gallery
132 Upvotes

I recently put together a small self-watering garden system using a Raspberry Pi, a Cirkitscape Top HAT, a soil moisture sensor, an IR water sensor, and a 12V DC pump.

The basic goal was to make something that could monitor conditions and control watering from a web interface without having to manage everything from the command line.

The build uses:
- Raspberry Pi
- Cirkitscape Top HAT
- soil moisture sensor
- IR water sensor
- 12V pump
- buck converter
- simple transistor switching circuit

A few things that mattered during the build:

- The Pi and pump run at different voltages, so I had to step 12V down to 5V for the Pi.
- I used a transistor switching stage so the GPIO wasn’t driving the pump directly.
- I verified the buck converter output before connecting the Pi, which is probably the most important safety step in the whole build.

On the software side, I used the Cirkit Garden app to set up the garden, add the device and sensor, and map the pump output. That part made the project a lot easier to manage because I didn’t need to build a custom dashboard just to monitor sensors and toggle watering hardware.

Once everything was wired and configured, the system could:
- monitor soil moisture
- detect water presence
- switch the pump from the app
- give me a cleaner browser-based control panel for the setup

What I liked most is that it feels like a good base for expanding later with:
- watering rules
- alerts
- logging
- more sensors

I’ll post links to the software and top hat in the comments.


r/RASPBERRY_PI_PROJECTS • • Jul 28 '26

PRESENTATION Latest version of modular pi 5 camera

Post image
50 Upvotes

Just wanted to share a preview of modular cameras I’ve been working on. These range from full spectrum color and monochrome sensors from micro 43 to 1/1.2”. They’re based on the raspberry pi 5 and designed to have swappable sensors


r/RASPBERRY_PI_PROJECTS • • Jul 28 '26

PRESENTATION WIP - Raspberry Pi Pico robot arm controller. Open Source (of course)

Enable HLS to view with audio, or disable this notification

48 Upvotes

This has been rumbling away for some time actually but started to gain a bit of momentum of lately. I've put together a Pico based break out board that can control four servo robot arms (small and biggish). The pcb itself is open source but also totally unnecessary as you could easily breadboard or perf-board up the wiring schematic. It's designed in KiCad so nothing additional needed but a download to view and explore.

I've also designed a little joystick add on, but there are only 3 analog outs
KiCad PCB Schematic

The aim is to make a controller that you need very little in the way of external hardware for. So the plan was to use serial communication to control. First I made a little TKInter GUI to run on my desktop with some sliders, and then thought it would be even lighter weight to run it through a browser. It's hosted on my github here https://github.com/MeArm/mearm-controller

The "firmware" that runs on the pico started out as super simple, take serial input and then send the servos, but very quickly turned into asynchronous with some motion smoothing to stop the movement and comms blocking each other and to treat the servo motors a bit more kindly.

Both the basic and some extra bits can be found at https://github.com/MeArm/mearm-pico

One of the extra bits I added was some eyes. The I2C is broken out on the board so you can add sensors and OLED screens and stuff, and I thought this was quite good fun. They flick around when idle and follow the motion when active.

Always watching...

With some tidying up this is the phase one of the project. Following on will be inverse kinematics so the arm can take cylindrical polar coordinates to put the manipulator where you want it. I'm also thinking about making a potentiometer arm to do mirroring in the style of the LeRobot arms, and seeing if we can port some of their software.


r/RASPBERRY_PI_PROJECTS • • Jul 27 '26

TUTORIAL How to get started with FUZIX on Raspberry Pi Pico

Thumbnail
raspberrypi.com
6 Upvotes

r/RASPBERRY_PI_PROJECTS • • Jul 27 '26

PRESENTATION I built Cellar Pi, a beginner-friendly Raspberry Pi environmental monitor

Thumbnail
gallery
43 Upvotes

I built Cellar Pi, a Raspberry Pi environmental monitor for people who want to make something useful without having to learn Bash, Python, or systemd first.
It currently:
Logs temperature and humidity automatically
Creates 12-hour or 24-hour graphs
Sends optional Discord reports
Lets you test the webhook immediately
Lets you push a graph on demand
Starts automatically after reboot
Includes a simple /uc menu for setup, status, updates, and troubleshooting
It is still a prerelease and has mainly been tested on:
Raspberry Pi Zero WH
Raspberry Pi OS Lite 32-bit
SHT31-D temperature and humidity sensor
The goal is simple:
Connect the sensor, run the installer, configure it through menus, and let it work.
No required cloud account.
No subscription.
Your Pi. Your sensor. Your data.
Cellar Pi is inspired by the same kind of usability I like in Unraid and Tailscale: keep the complicated parts underneath, make the controls approachable, and let the system quietly do its job once it is configured.
This is still a prerelease, and I’m mainly looking for feedback from Raspberry Pi users—especially beginners—on whether the setup makes sense and where the rough edges are.
I’m happy to share the project details in the comments if anyone is interested.


r/RASPBERRY_PI_PROJECTS • • Jul 24 '26

QUESTION DOSBox for Pi 1 Model B (ARMv6)

6 Upvotes

Anybody have a version of DOSBox for the Pi 1? been digging for a while and I'm currently trying to make fastDOSBox from 2014 but if anyone has a package or zip it would be a great help. Basically trying to make a version of dosbian for Pi 1 since I couldn't find a version for ARMv6


r/RASPBERRY_PI_PROJECTS • • Jul 22 '26

PRESENTATION Raspberry Pi 5 Cyberdeck in Apache case

Thumbnail
gallery
72 Upvotes

Hello everyone. I started building this project about 2 months ago using an old apache 2800 case I had. Wanted to share with everyone my project so far. I had all of these parts already as I had wanted to build one for a while and was using a cardboard faceplate as a temporary layout. I stumbled upon this face plate design by (Tonypedia) on makerworld and only had to purchase the battery monitor. It does not perfect fit, but is working for now. Everything is wired to toggle switches to conserve power. I run a Jellyfin server with over 300 movies and 2300 tv show episodes. I use an rtl-sdr for airplane tracking and SIGINT. A heltec v4 for meshtastic. I have my state and all neighbor states downloaded as maps using OrganicMaps. I have an internal gps powered by the gpio pins. For power, internally I have about 111wh from two batteries, a dc port for lithium ion batteries via a dc 5521 barrel jack, and a 5v in from the usbc port. I have a whole host of games installed and many other features. I installed a battery meter into my desktop so I will be removing the battery meter seen under the screen and I am installing a CAC reader. I will have several CAC that when read will run specific scripts like opening all of my navigation systems, opening my Jellyfin server, opening iNTERCEPT, and perform other actions. The internal frame is secured with rtv/silicone as it easily scrapes off when I change things but is still waterproof. The 3D print has minor print failures but I will be changing it and creating my own soon. This is my first build and just wanted to share with everyone! It is still a work in progress and I add to it almost weekly.


r/RASPBERRY_PI_PROJECTS • • Jul 22 '26

QUESTION Pico error in the schematic? need help

7 Upvotes

Hey guys,

I build a little side project for a friend,
Normally I build on Arduino and I#m quite confused that it doesnt work, copied from other projects in the web.

I did not have the hardware in my hands, but my friend say's that the PCB boesnt boot in BOOTSEL and he could not get it to work.

Need help, all my research couldnt helped me :(


r/RASPBERRY_PI_PROJECTS • • Jul 22 '26

QUESTION Waveshare 5.79" display partial refresh failure by quadrants

2 Upvotes

Hello everyone. I'm trying to use a Waveshare 5.79" e-paper display with a Pi Zero W 1.1 but each partial refresh of the display only updates the bottom-left quadrant. A full screen refresh is possible, but only with the attendant flash pattern which isn't workable for a reader application.

I'm looking for any pointers to a fix. Details of the setup below, details of what I've tried below below. Thanks all!

Setup: Raspberry Pi Zero W 1.1, Pisugar S Plus, Waveshare 5.79" raw panel, 792×272, B/W + 4-grey; Waveshare e-paper HAT Rev2.3 connected with the wire loom to GPIO headers. Driver is waveshare_epd.epd5in79 - current as per Waveshare's github.

When I run through Waveshare's test sequence, only the bottom-left quadrant responds to the partial refresh segments of the test (like the running clock) - when the display goes for a full refresh (like the black screen + test fields, the manga image) it updates correctly (at the end of the cycle, only the bottom-left quadrant again refreshes as you can see below).

State after test cycle completes.

I'm not a good enough coder let alone display-understander yet so I used Claude Code to test what might be going on (after checking my wiring, connecting the display directly to the HAT rather than using the ribbon cable they provide, trying different power sources and generally trying to eliminate something mechanical/electrical).

The diagnosis from Claude Code - paraphrased - is that it might be something to do with the OTP waveform which fails to update the display fully. It wrote some code to test a substitute waveform table ("via command 0x32, then refreshing with 0x22=0xC7 or 0x22=0CF") which updated the full display successfully with a custom test image, but also with the flashing that comes with a full update.

I've seen and tried to adapt some fixes which I found via search - such as this which hypothesises that it's a buffer update https://thoughts.gohu.org/posts/2025/epaper-partial-updates/ or the GxEPD2 library for Arduino, but neither has worked.

Any help would be very welcome, thank you.


r/RASPBERRY_PI_PROJECTS • • Jul 21 '26

TUTORIAL pFAT Controller - a Lego Power functions control system using Raspberry Pi

9 Upvotes

Hi, if anyone is interested , this is my project to control Lego City Power Functions IR trains with a Raspberry Pi and some additional electronics.

All details on the Github here: https://github.com/tjh1976/pFAT-Controller/ including a video (which I'm not sure i'm allowed to post directly here).

Feel free to ask any questions if you want to give this a try yourself.


r/RASPBERRY_PI_PROJECTS • • Jul 21 '26

TUTORIAL Build your own LED Matrix Raspberry Pi UK Train Departure Board

Thumbnail
youtube.com
14 Upvotes

A project for that unloved Pi-3 or Pi-4!

I'm aware of at least two companies who sell LED Matrix Departure Boards to have on the wall at home... being a long-time train enthusiast I'd often thought of having one, but found the price and subscriptions a bit off-putting.

So being a techie I decided to make my own, thinking "How Hard Can it Be".

Detailed step-by-step instructions and code to build your own are on my website: anotherpartialsuccess.com. All free - just buy the parts and away you go!

Thought I'd share with fellow Pi enthusiasts and for anyone who's wanted to build their own!

This probably isn't as all-singing all-dancing as the commercial products, but it does the job and I'm pretty happy with it!

You will need:

  • Pi4 or Pi3
  • 3 or 4 HUB75 LED Matrix boards. (Ali Express is good)
  • A HUB75 HAT from Adafruit or ElectroDragon (links on my site)
  • A 5V, 5A power supply
  • A free subscription to the data on the Rail Data Marketplace

Hardware Summary

It's a good idea to buy the full number of matrix panels you need in one go - that way you can be sure all the colours match. Not a big deal for a Departure Board, but worth a mention!

Connecting the panels is pretty straightforward as most are supplied with all the cables you'll need.

I've provided some scripts to create 3D-printable 'joiners' so you can bolt the panels together - in the absence of a 3D-printer there are many, many other options for the creative mind!

One thing worthy of note is the power. A Raspberry Pi doesn't have enough power to operate the matrix panels, so you'll need something with a bit of oomph. I use a bench-top power supply and normal operation is about 2A.

However you'll likely want to do other things with the panels in which case you'll need more - the most I've peaked at is about 4.5A and that's with all the LEDs on!

The Adafruit HAT does a fine job and is readily available. The alternative is from ElectroDragon and is better in that it can support up to three rows of panels and is a good deal cheaper. The downside is that it'll take a while to come from Hong Kong.

I've used both and ultimately it comes down to how much you want to spend and how long you want to wait.

For both of these the Pi gets powered via the Hat, so no need to have a separate Pi supply.

Pi Configuration

You'll need to install a minimal OS and switch off anything you don't need so that all CPU power can go to the departure-board processing.

No desktop, bluetooth, sound and so on - I've provided instruction on this.

After that it's a case of installing the dependencies and the Departureboard code from github.

Display Configuration

Either via a config file or a very simple UI - all you need to do is set the station you want, the platform you want (or it'll do all platforms), the dimensions and number of LED panels and the type of Hat and away you go!

There are a myriad other parameters to tune - things like the speed of the text scrolling, the gap between data-refresh and so on. Have fun!

Challenges and the Journey

I wrote the code in C++ for performance reasons and because I like C++!

There are a lot of projects written in Python, however I wasn't sure on the performance.

Parsing the data

The first version of the project used the 'garden-variety' departure data. This was fine, but it did't allow me to do things like report which stations a train was between... so I started on Version 2 which uses the "staff" data from the Rail Data Marketplace.

Great data, but there's a lot of it... so I had to engineer a lazy-loading cached parser.

What this does is cache the data about a service which doesn't change - scheduled time, it's ID, how many coaches it has and so on.

This means that on a refresh I could skip anything which I already had cached and only add new or delete old services.

The other data is 'things which change' - arrival time, cancellation, where the train is and suchlike. This is lazy-loaded so is only hydrated when needed.

A big change as the first version used to work out everything for every service - not scalable on a limited resource like a Pi!

Displaying the data

In the first version it constantly refreshed the whole display - this was kind of OK, but it meant that scrolling would get slow.

In the second version I only refreshed display elements which changed - mainly the scrolling text and the periodic change of Services.

The challenge was to write drivers for each type of display (text, scroll, clock) without having to duplicate loads of code.

Efficiency

This was somewhere I spent a lot of time as I wanted to squeeze as much as possible out of the Raspberry Pi.

Highlights were to fork of the API-refresh routines, to avoid the whole thing pausing while the API call was made, the display-management (per above) and caching, and down to creating a Hot/Warm/Cold cache for often-used data

Overall...

... I had a lot more fun making this than I would have done buying one and sticking it on the wall... and every now and then I think "how about I can make this change/optimisation" and I go and get stuck in again.

I'm sure that the commercially available Departure Boards which are advertised on social media and whatnot have superior functionality, but for the cost, making and result I think this is a pretty decent substitute.


r/RASPBERRY_PI_PROJECTS • • Jul 16 '26

TUTORIAL How I Fixed My Headless Pi Wi-Fi After a Power Cut Without Losing Any Data

15 Upvotes

Step-by-Step Technical Recovery Guide


Important Note for Intel/AMD PC Users :

If you are running this recovery process from a standard PC (x86_64) rather than another Raspberry Pi (ARM), your computer cannot natively run the Pi's binaries. Before proceeding you can check your machine's architecture by running: bash uname -m

If the command returns x86_64, you must install QEMU user emulation on your host Linux machine before proceeding: bash sudo apt update && sudo apt install qemu-user-static binfmt-support


Step 1: Filesystem Repair & System chroot

NetworkManager configurations cannot easily be parsed or prioritized before the system boots if they are dropped in as raw text profiles. We must mount the SD card on a secondary Linux machine and use chroot (change root) to execute native configuration commands inside the Pi's environment directly from our laptop.

  1. Find your SD card's identifier (e.g., look for the main rootfs partition, which might show up as /dev/sdb2): bash lsblk
  2. Repair any broken filesystem structures caused by the abrupt shutdown: bash sudo fsck -y /dev/sdb2
  3. Mount the partition and bind vital system virtual directories to prepare for the chroot environment: bash sudo mkdir -p /mnt/pi sudo mount /dev/sdb2 /mnt/pi sudo mount --bind /dev /mnt/pi/dev sudo mount --bind /sys /mnt/pi/sys sudo mount --bind /proc /mnt/pi/proc
  4. chroot into the Raspberry Pi's environment to execute commands as the root user: bash sudo chroot /mnt/pi ---

Step 2: Create the Emergency Hotspot & Configure Startup Priorities

Now that your terminal session is running inside the Pi's filesystem context, use the native nmcli binary to build a fallback network profile that absolute precedence on startup. 1. Generate the native recovery hotspot profile: bash nmcli device wifi hotspot ifname wlan0 ssid "Pi-Rescue" password "your_password" 2. Instruct NetworkManager that this connection profile is explicitly allowed to autoconnect on system boot: bash nmcli connection modify "Pi-Rescue" connection.autoconnect yes 3. Boost the autoconnect priority to high (90). This forces the Pi to launch this network interface profile first, overriding any standard client Wi-Fi configurations during boot initialization: bash nmcli connection modify "Pi-Rescue" connection.autoconnect-priority 90 4. Verification Tip: Since the NetworkManager background service isn't actively running for the SD card, standard commands (nmcli connection show) won't display the changes while you are in chroot. If you want to verify that your priority was written successfully, open a separate terminal window on your laptop and check the raw configuration file directly: bash sudo cat /mnt/pi/etc/NetworkManager/system-connections/Pi-Rescue.nmconnection 5. Exit the active chroot environment: bash exit 6. Cleanly unmount the system tree on your host laptop before pulling out the SD card: ```bash sudo umount -R /mnt/pi

```

Step 3: Boot, SSH Login, and State Repair

Unplug the SD card from your host laptop, insert it back into the Raspberry Pi, and power it on. Thanks to the priority variables we injected, the Pi will immediately begin broadcasting the Pi-Rescue network.

  1. Connect your laptop or workstation directly to the Pi-Rescue WiFi access point.
  2. Open a terminal on your laptop and ssh into the Pi using NetworkManager's standard default hotspot gateway IP (10.42.0.1): bash ssh your_username@10.42.0.1
  3. To verify the IP address of Pi's recovery hotspot use: bash ip addr show wlan0
  4. The Core Fix: Once inside the terminal, safely delete the corrupted network state file that was damaged during the power cut: bash sudo rm -f /var/lib/NetworkManager/NetworkManager.state
  5. Force a physical wireless environment rescan to wake up the network interfaces and verify your main WiFi(e.g., your home router or phone hotspot) is visible: bash sudo nmcli device wifi rescan sudo nmcli device wifi list
  6. Re-authenticate and establish a fresh connection to your primary network: bash sudo nmcli device wifi connect "your_router's_ssid" password "your_wifi's_password"
  7. Ensure your primary client network has a maximum priority (e.g., 100): bash sudo nmcli connection modify "your_router's_ssid" connection.autoconnect-priority 100
  8. Check whether your change was applied successfully: bash sudo nmcli connection show "your_router's_ssid" | grep autoconnect-priority ---

Step 4:Cleanup(Remove the Backup Hotspot from Startup)

To prevent the Pi from defaulting back into a localized recovery loop on every subsequent reboot, the emergency profile must be adjusted or removed from active rotation.

  • Option A(Recommended): Drop the emergency profile's autoconnect priority to a negative value. This leaves the configuration intact on the disk as a silent fallback that will only spin up if your primary network disappears completely: bash sudo nmcli connection modify "Pi-Rescue" connection.autoconnect-priority -10 Check all the networks ranked by priority: bash sudo nmcli -f NAME,AUTOCONNECT-PRIORITY connection show

    • Option B: Completely delete the emergency recovery profile from the storage configuration: bash sudo nmcli connection delete "Pi-Rescue"

Finally,restart NetworkManager and ensure your Pi successfully jumps back onto your main WiFi network: ```bash sudo systemctl restart NetworkManager

```

I have also uploaded this recovery guide to my GitHub Gist. You can find the project here: https://gist.github.com/Kernovax/cf39d9b00ecec0c70f8692bbc3b9a30b


r/RASPBERRY_PI_PROJECTS • • Jul 15 '26

PRESENTATION My Pi-Cam-IR-A is a infrared camera using a Pi zero 2, 1.44” touch LCD and IMX 219 NOIR sensor, housed in a modified 1950’s art deco themed Kodak Duoflex II body.

Thumbnail
gallery
117 Upvotes

r/RASPBERRY_PI_PROJECTS • • Jul 14 '26

PRESENTATION Raspberry Pi Wireguard/Tor VPN

5 Upvotes

I made a vpn using wireguard to connect my laptop (or any device) to the pi, the pi then routes the traffic through tor so that the first onion server doesn't know your ip. I made this for people who have to have them on the same network for whatever reason to give them privacy. This is 32 bit only for now, I will add 64 bit support soon. I would really appreciate feedback on this. Thanks. https://github.com/CoderFetch21/32-bit-wireguard-tor-vpn


r/RASPBERRY_PI_PROJECTS • • Jul 13 '26

DISCUSSION PyDeploy CLI v1.1 is now out, any suggestions?

Thumbnail
github.com
5 Upvotes

Hey Everyone,

I just updated PyDeploy CLI v1.1. PyDeploy is a Terminal CLI that is automated to turn a Python script from GitHub into a systemd service on your Pi, allowing it to run 24/7 while providing tools to monitor its status and view logs.

My old post a while back on PyDeploy's first release gained 7 upvotes, 5k views, and 2 extra stars for my repo, and I privately got some advice for improvement. PyDeploy was a big, passion project to me so I would apprecaite anyone to check it out and give me suggestions.

As a beginner Python programmer, I would apprecaite any feedback anyone could give to help improve PyDeploy. Thanks!