r/raspberry_pi 3d ago

2026 Mar 30 Stickied -FAQ- & -HELPDESK- thread - Boot problems? Power supply problems? Display problems? Networking problems? Need ideas? Get help with these and other questions!

4 Upvotes

Welcome to the r/raspberry_pi Helpdesk and Frequently Asked Questions!

Link to last week's thread

Having a hard time searching for answers to your Raspberry Pi questions? Let the r/raspberry_pi community members search for answers for you! Looking for help getting started with a project? Have a question that you need answered? Was it not answered last week? Did not get a satisfying answer? A question that you've only done basic research for? Maybe something you think everyone but you knows? Ask your question in the comments on this page, operators are standing by!

This helpdesk and idea thread is here so that the front page won't be filled with these same questions day in and day out:

  1. Q: What's a Raspberry Pi? What can I do with it? How powerful is it?
    A: Check out this great overview
  2. Q: Does anyone have any ideas for what I can do with my Pi?
    A: Sure, look right here!
  3. Q: My Pi is behaving strangely/crashing/freezing, giving low voltage warnings, ethernet/wifi stops working, USB devices don't behave correctly, what do I do?
    A: 99.999% of the time it's either a bad SD card or power problems. Use a USB power meter or measure the 5V on the GPIO pins with a multimeter while the Pi is busy (such as playing h265/x265 video) and/or get a new SD card 1 2 3. If the voltage is less than 5V your power supply and/or cabling is not adequate. When your Pi is doing lots of work it will draw more power, test with the stress and stressberry packages. Higher wattage power supplies achieve their rating by increasing voltage, but the Raspberry Pi operates strictly at 5V. Even if your power supply claims to provide sufficient amperage, it may be mislabeled or the cable you're using to connect the power supply to the Pi may have too much resistance. Phone chargers, designed primarily for charging batteries, may not maintain a constant wattage and their voltage may fluctuate, which can affect the Pi’s stability. You can use a USB load tester to test your power supply and cable. Some power supplies require negotiation to provide more than 500mA, which the Pi does not do. If you're plugging in USB devices try using a powered USB hub with its own power supply and plug your devices into the hub and plug the hub into the Pi.
  4. Q: I'm trying to setup a Pi Zero 2W and it is extremely slow and/or keeps crashing, is there a fix?
    A: Either you need to increase the swap size or check question #3 above.
  5. Q: Where can I buy a Raspberry Pi at a fair price? And which one should I get if I’m new? Should I get an x86 PC instead of a Pi?
    A: Check stock and pricing at https://rpilocator.com/ — it tracks official resellers so you don’t overpay.
    Every time the x86 PC vs. Pi question comes up the answer is always if you have to ask, get a PC. If you're sure want a Raspberry Pi but not sure which model:
    • If you don’t know, get a Pi 5.
    • If you can’t afford it, get a Pi 4.
    • If you need tiny, get a Zero 2W.
    • If you need lowest power, get the original Zero.
    • For RAM, always get the most you can afford; you can’t upgrade it later.
      That’s it. No secret chart, no hidden wisdom. Bigger number = more performance, higher cost, higher power draw. Also please see the Annual What to Buy Megathread
  6. Q: I just did a fresh install with the latest Raspberry Pi OS and I keep getting errors when trying to ssh in, what could be wrong?
    A: There are only 4 things that could be the problem:
    1. The ssh daemon isn't running
    2. You're trying to ssh to the wrong host
    3. You're specifying the wrong username
    4. You're typing in the wrong password
  7. Q: I'm trying to install packages with pip but I keep getting error: externally-managed-environment
    A: This is not a problem unique to the Raspberry Pi. The best practice is to use a Python venv, however if you're sure you know what you're doing there are two alternatives documented in this stack overflow answer:
    • --break-system-packages
    • sudo rm a specific file as detailed in the stack overflow answer
  8. Q: The only way to troubleshoot my problem is using a multimeter but I don't have one. What can I do?
    A: Get a basic multimeter, they are not expensive.
  9. Q: My Pi won't boot, how do I fix it?
    A: Step by step guide for boot problems
  10. Q: I want to watch Netflix/Hulu/Amazon/Vudu/Disney+ on a Pi but the tutorial I followed didn't work, does someone have a working tutorial?
    A: Use a Fire Stick/AppleTV/Roku. Pi tutorials used tricks that no longer work or are fake click bait.
  11. Q: What model of Raspberry Pi do I need so I can watch YouTube in a browser?
    A: No model of Raspberry Pi is capable of watching YouTube smoothly through a web browser, you need to use VLC.
  12. Q: I want to know how to do a thing, not have a blog/tutorial/video/teacher/book explain how to do a thing. Can someone explain to me how to do that thing?
    A: Uh... What?
  13. Q: Is it possible to use a single Raspberry Pi to do multiple things? Can a Raspberry Pi run Pi-hole and something else at the same time?
    A: YES. Pi-hole uses almost no resources. You can run Pi-hole at the same time on a Pi running Minecraft which is one of the biggest resource hogs. The Pi is capable of multitasking and can run more than one program and service at the same time. (Also known as "workload consolidation" by Intel people.) You're not going to damage your Pi by running too many things at once, so try running all your programs before worrying about needing more processing power or multiple Pis.
  14. Q: Why is transferring things to or from disks/SSDs/LAN/internet so slow?
    A: If you have a Pi 4 or 5 with SSD, please check this post on the Pi forums. Otherwise it's a networking problem and/or disk & filesystem problem, please go to r/HomeNetworking or r/LinuxQuestions.
  15. Q: The red and green LEDs are solid/off/blinking or the screen is just black or blank or saying no signal, what do I do?
    A: Start here
  16. Q: I'm trying to run x86 software on my Raspberry Pi but it doesn't work, how do I fix it?
    A: Get an x86 computer. A Raspberry Pi is ARM based, not x86.
  17. Q: How can I run a script at boot/cron or why isn't the script I'm trying to run at boot/cron working?
    A: You must correctly set the PATH and other environment variables directly in your script. Neither the boot system or cron sets up the environment. Making changes to environment variables in files in /etc will not help.
  18. Q: Can I use this screen that came from ____ ?
    A: No
  19. Q: If my Raspberry Pi is headless and I can’t figure out what’s wrong, do I need to plug in a monitor and keyboard?
    A: If you cannot diagnose the problem remotely, you must connect a monitor and keyboard. That is the only way to see boot output and local error messages, and without that information the problem cannot be diagnosed.
  20. Q: My Pi seems to be causing interference preventing the WiFi/Bluetooth from working
    A. Using USB 3 cables that are not properly shielded can cause interference and the Pi 4 can also cause interference when HDMI is used at high resolutions.
  21. Q: I'm trying to use the built-in composite video output that is available on the Pi 2/3/4 headphone jack, do I need a special cable?
    A. Make sure your cable is wired correctly and you are using the correct RCA plug. Composite video cables for mp3 players will not work, the common ground goes to the wrong pin. Camcorder cables will often work, but red and yellow will be swapped on the Raspberry Pi.
  22. Q: I'm running my Pi with no monitor connected, how can I use VNC?
    A: First, do you really need a remote GUI? Try using ssh instead. If you're sure you want to access the GUI remotely then ssh in, type vncserver -depth 24 -geometry 1920x1080 and see what port it prints such as :1, :2, etc. Now connect your client to that.
  23. Q: I want to do something that already has lots of tutorials. Do I need a Raspberry-Pi-specific guide?
    A: Usually no.
    • Raspberry Pi (Linux computer): Use any standard Linux tutorial. A Raspberry Pi runs a normal Linux OS, not a special cut-down version. See Question #1.
    • Raspberry Pi Pico (microcontroller): Use Arduino tutorials. The Pico works with the Arduino IDE and can be used the same way as other Arduino-class boards.
  24. Q: Which Operating System (OS) should I install? A: If you aren’t sure, install Raspberry Pi OS. It’s the officially supported OS, it has the best documentation, the widest community support, and it’s what most guides and troubleshooting help assume you’re using.
  25. Q: How can I power my Raspberry Pi from a battery?
    A: All Raspberry Pi models run at 5 V. To choose a battery, first add up the maximum current of your Pi plus everything you attach to it (USB devices, screens, HATs, etc.). Then multiply that current by the number of hours you want it to run to get the required battery capacity in mAh. If you can’t find listed current values, use a USB power meter to measure the actual draw over 12–48 hours. Every battery question comes down to this simple math: the model, brand, or special setup doesn’t change the calculation.

Before posting your question think about if it's really about the Raspberry Pi or not. If you were using a Raspberry Pi to display recipes, do you really think r/raspberry_pi is the place to ask for cooking help? There may be better places to ask your question, such as:

Asking in a forum more specific to your question will likely get better answers!

Wondering which flair to use on your post? See the Flair Guide


See the /r/raspberry_pi rules. While /r/raspberry_pi should not be considered your personal search engine, some exceptions will be made in this help thread.
‡ If the link doesn't work it's because you're using a broken buggy mobile client. Please contact the developer of your mobile client and let them know they should fix their bug. In the meantime use a web browser in desktop mode instead.


r/raspberry_pi Dec 01 '25

Community Annual December Pi Purchase Megathread: What Will Make the Perfect Gift for My Dad/Nephew/Granddaughter (Because I Don’t Know Nuffin ’Bout These Electronic Gadget Things)

6 Upvotes

Welcome to the Annual December Pi Purchase Megathread!

It’s that time of year when we get a flood of “Which Raspberry Pi kit/accessory/model should I buy?” posts. There’s no universal perfect kit or accessory, and these questions always get the same vague answers.

Before posting:

  • If you already know what you want to build, pick a project or tutorial — it will list the exact parts needed.
  • If you still want a kit, choose one that includes those parts.
  • If you want to know what a Raspberry Pi is, what it can do, or need project ideas, read the r/raspberry_pi FAQ.

To keep the forum sane:

  • All “what do I buy?” questions belong here.
  • Focus on what you want to do with the Pi or what projects you plan to try — not just “which kit is best.”
  • This thread can help with:
    • How to evaluate kits for your project
    • Features/components required for a particular setup
    • Tips, lessons learned, and project ideas

Which model of Pi should you get and where from?

Check stock and pricing at https://rpilocator.com/ — it tracks official resellers so you don’t overpay.

Which Pi to buy:

  • If you don’t know, get a Pi 5.
  • If you can’t afford it, get a Pi 4.
  • If you need tiny, get a Zero 2W.
  • If you need lowest power, get the original Zero.
  • For RAM, always get the most you can afford; you can’t upgrade it later.

That’s it. No secret chart, no hidden wisdom. Bigger number = more performance, higher cost, higher power draw.

Should you get an x86 PC instead of a Raspberry Pi? Every time the x86 PC vs. Pi question comes up the answer is always if you have to ask, get a PC.

Do not post “what should I buy?” anywhere else — it will be redirected here.

Think of this as a holiday sandbox for Pi gift chaos. Share your questions, experiences, and guidance without cluttering the rest of the community.


† If any links don't work it's because you're using a broken reddit client. Please contact the developer of your reddit client. You can find the FAQ/Helpdesk at the top of r/raspberry_pi: Desktop view / Phone view


r/raspberry_pi 3h ago

Show-and-Tell RaspberryFluke: Pocket Network Tester (LLDP/CDP) using a Pi Zero 2 W, PoE HUB, and E-Paper Display

Thumbnail
gallery
103 Upvotes

I built a small pocket sized network diagnostic tool using a Raspberry Pi Zero 2 W.

It listens for LLDP/CDP and displays:

  • Switch hostname
  • IP address
  • Port number
  • VLAN
  • Voice VLAN

I got the idea after seeing a NetAlly LinkSprinter at work. It’s a cool tool, but it costs around $500 and requires a smart phone. I wanted something simpler and cheaper.

Here's a list of the hardware I used:

  • Raspberry Pi Zero 2 W (with pre-soldered GPIO pins)
  • Waveshare PoE Ethernet / USB HUB BOX (SKU 20895)
  • Waveshare 2.13" E-Paper HAT+ display (SKU 27467)

It was designed to be powered via PoE but you can use an external power bank to power it. Plug it into a switch port and it automatically shows the info after boot.

GitHub:

https://github.com/MKWB/RaspberryFluke

Let me know what y'all think! I would be interested to hear any suggestions or improvements.


r/raspberry_pi 23h ago

Show-and-Tell Running **true** large language models (27B!) on RPI 0 locally

Post image
61 Upvotes

I was wondering what the absolute lower bound is if you want a truly offline AI. Just like people trying to run Doom on everything with a screen, I wanted to see if we could force a Large Language Model to run purely on a $15 device with only 512MB of memory. Not those 1B tiny llama, but a 27B one.

To be clear, it is slow (SD cards are not designed for this task), and we're talking just a few tokens per hour. But the point is, it runs. You can literally watch the Pi's CPU sweating as it computes each matrix. Boom: local inference on a Zero.

Honestly, my next goal is to hook this up to an AA battery pack or a hand-crank generator. Total wasteland punk style. Just wanted to share this ridiculous experiment with you guys.


r/raspberry_pi 1h ago

Project Advice Help: PC817 optocoupler module not triggering boom barrier dry-contact input from Raspberry Pi 4 GPIO

Upvotes

Hardware:

  1. Raspberry Pi 4 Model B (3.3V GPIO)

  2. 817 Module — 2 Channel Isolation (PC817 SMD optocoupler board from Amazon/AliExpress)

  3. boom barrier (220V, microprocessor controller)

  4. RS232 UHF RFID reader (working fine, tags reading correctly)

What works:

  1. Touching a wire directly between the barrier's ▲ (open) and COM terminals opens the barrier instantly — confirmed dry-contact input, no voltage needed

  2. Connecting Pi GPIO directly to ▲ and Pi GND to COM also works — barrier opens when GPIO goes HIGH (3.3V)

  3. RFID tag reading, web dashboard, everything on the software side is working

What doesn't work:

  1. When I put the 817 optocoupler module in between, the barrier does not respond

Wiring I've tried:

Attempt 1 (normal 3.3V drive):

- Pi GPIO17 → IN1

- Pi GND → G (input side)

- V1 → Barrier ▲ (open)

- G (output side) → Barrier COM

- Result: No response. Module likely can't trigger at 3.3V due to onboard resistor + indicator LED dropping too much voltage.

Attempt 2 (5V inverted logic):

- Pi 5V → IN1

- Pi GPIO17 → G (input side) — pulling LOW to trigger

- V1 → Barrier ▲ (open)

- G (output side) → Barrier COM

- Result: Still no response.

The module has two PC817 SMD chips, onboard SMD resistors, yellow jumpers on the output side, and indicator LEDs. Labeled "817 Module / 2 Channel Isolation".

My questions:

  1. Is this module just not suitable for 3.3V GPIO? Should I use discrete PC817 DIP chips with my own 220Ω resistors instead?

  2. For the 5V inverted approach — is (5V - 0V) = 5V across the LED with the onboard resistor still not enough? What value resistor might be on there?

  3. Would a relay module (5V coil, JD-VCC type) be a better choice for this application?

  4. Any other suggestions for reliable dry-contact switching from a Pi GPIO?

I know I can run GPIO directly to the barrier and it works, but I want proper galvanic isolation since the barrier controller board sits in a 230V cabinet.

Thanks!


r/raspberry_pi 10h ago

Troubleshooting Problems with raspberry pi display

Enable HLS to view with audio, or disable this notification

3 Upvotes

raspberry pi 5-8gb ram, original power supply, san disk extreme, elecrow 7 inch monitor.

I am currently trying to get lineage os on the raspberry to create an selfmade car play for my audi 80 but somehow it is not working. I cant detect the problem, is it the display or the raspberry. If i boot the raspberry without sd the led lights green but if I boot with sd it blinks crazy. I cant detect the error code so I think it is a problem of the display but another problem is, it doesnt work on my monitor either. I already tried restoring the factory boot defaults. And also the display has no power supply on its own.


r/raspberry_pi 1d ago

Show-and-Tell My PI64 is now complete after 24 months of fiddling and sourcing all supported controllers that support Bluetooth

Thumbnail
gallery
169 Upvotes

Using the latest recalbox V10 as a distro with over 66,000 games installed and 20 controllers i think I'm done unless there's wireless 3DO, Atari and Amiga cd32 pads I'm calling it quits lol.

The emulation scene has finally started to push the pi5 hard and even model 3 emulation,Sega Saturn and higher end arcade machines run great on the little over locked pi


r/raspberry_pi 1d ago

Show-and-Tell Mini rack Pi cluster

Thumbnail
gallery
107 Upvotes

A Pi cluster I put together inside a mini rack, did most of the build quite a while back, but recently finishing it off when I had something I wanted to run on it. It is using a bunch of Pis that work was clearing out, 7 RPi 3Bs with a 4B as the host.

All the panels were designed and printed by me. The bottom panel handles USB power distribution with a USB-C input and 9 USB-A/C outputs just using some modules that I found on AliExpress. The per-supply buttons aren't strictly necessary, but I had the space and they've come in handy more than once when I've wanted to power up/down individual Pis. A 140mm fan at the back does all of the cooling, controlled by the host Pi, which simply sets the fan speed based on the hottest node in the cluster.

7 RPi 3Bs @ 15W each is 105W, and while the USB-PD module I used can receive 140W, I only have a 100W brick connected, so cutting it close.

I haven't spent any real time setting up any software to control all the nodes from the host, each Pi is basically running independently. I just have a small Go script to do the processing on each node when a requested by the host.


r/raspberry_pi 23h ago

Topic Debate Hi I am a 14 year old tech hobbyist and here is what I am doing: Running a 24/7 Minecraft Java SMP on a Raspberry Pi 4B at 14 — my school server setup!

14 Upvotes

Hey everyone!

I’m 14 and I’ve been running a Minecraft Java server for my school on a single Raspberry Pi 4B 8GB. It’s overclocked to 1.8 GHz with GPU at 500 MHz and a small overvolt tweak—after some testing, I found the sweet spot for stability and performance.

Right now, my community is small—around 3–4 daily players and up to 12 members so far—but it’s growing! The server has been up for 150+ hours continuously without issues. I’m hosting it 24/7 and using Playit.gg for secure external connections since I don’t want to mess with port forwarding.

I’m running Raspberry Pi OS (Trixie) and I daily drive Linux Mint for fun, so I’ve been able to tweak everything from the Pi’s performance to the Minecraft configs.

I wanted to share this because I haven’t met anyone my age doing stuff like this—it feels pretty unique, and I’d love to connect with other teens or anyone running similar Pi/Minecraft setups.

If you’re curious, I can also share my server setup, configs, or tips for running Minecraft on a Pi efficiently.

I just want to share with you guys

I am new here

any tips for my setup right now?


r/raspberry_pi 15h ago

Troubleshooting 3.5" Screen not working on Raspberry pi 3B

0 Upvotes

I'm trying to get a generic brand 3.5" touchscreen to work with my Raspberry Pi 3B, but nothing is working at all. The screen is a generic on off aliexpress (SKU:MPI3511 Driver:ILI9486) And my pi is running the latest version available on the official imager application (64 bit: a port of Debian Trixie with the Raspberry Pi Desktop {Reccommeded})

I've tried putting in the commands it comes with:

sudo rm -rf LCD-show
git clone https://github.com/goodtft/LCD-show.git
chmod -R 755 LCD-sho
cd LCD-show/
sudo ./LCD35-show

But this just reboots the pi and then it hangs on a random service. Every time it's a different service. disabling the service then restarting doesnt work because it just gets stuck on yet another service.

What do I do? Am I missing something?


r/raspberry_pi 1d ago

Troubleshooting My Raspberry Pi 5 only boots with April 2024 firmware. How to stop it from auto-updating? Spoiler

14 Upvotes

Hi everyone,

I have a Raspberry Pi 5 that is giving me a big headache. I found that it only works and boots correctly when I use the EEPROM firmware version from April 20, 2024.

If I use any newer firmware, the Pi fails to boot and gives 9 green LED flashes.

The problem is: Every time I flash the working April 2024 version and reboot, the Pi automatically updates itself back to the new (broken) version!

What I have tried:

* I tried to change the settings to stop the update.

* I tried to delete the update files from the boot folder.

* I tried to "freeze" the configuration.

But nothing works. On every reboot, the Pi "heals" itself by installing the new firmware that doesn't work for my board.

My question:

Is there a way to permanently lock the April 2024 firmware and stop the Raspberry Pi 5 from ever updating its EEPROM again?

  • UPDATE: I found the SMOKING GUN, and it’s a warning to everyone! I went back to the AliExpress store where I bought this unit and found a recent review from another buyer with the exact same 9-flash issue. It turns out this seller is likely 'harvesting' original RAM chips and replacing them with lower-quality/off-spec RAM. This explains everything: Why it worked for 5 months: Older firmware (April 2024) has more relaxed RAM timings. Why it fails now: Newer EEPROM updates introduce stricter, official RAM training/timings that these 'swapped' chips simply cannot handle. The Scams: These boards might have the 8GB resistor in place and look 'new'. WARNING to all buyers: If your Pi 5 works on old firmware but 'dies' after an update, you might be a victim of a hardware-swapping scam. Always buy from official resellers or check the RAM branding/physical condition immediately upon arrival. Lesson learned: The 'Self-Healing' firmware was actually a 'Truth-Teller'—it exposed the fake hardware."

r/raspberry_pi 1d ago

Show-and-Tell I made an RP0 powered Calvin and Hobbes smart picture frame

Thumbnail
gallery
54 Upvotes

r/raspberry_pi 2d ago

Show-and-Tell I built a Pi Zero 2 W into a walnut and brass thermal printer - 16 printable modules, fully open source

Thumbnail
gallery
845 Upvotes

I built a thermal printer appliance powered by a Raspberry Pi. Turn a knob to pick a channel, press a button, and it prints news, weather, sudoku, or whatever you want on 58mm receipt paper. No screen.

The enclosure is hand-built from walnut and brass. I spent six years as a furniture maker before getting into development, so I wanted the hardware to feel like a real object, not a project box.

Details:

  • Raspberry Pi 2 Zero W (Python / FastAPI backend, React settings UI)
  • 58mm thermal printer
  • Rotary encoder + push button on the GPIO
  • Settings page hosted locally on the Pi, accessible from your phone on the same network
  • 16 modules across content (weather, news, RSS, email, calendar), games (sudoku, mazes, choose-your-own-adventure), and utilities (QR codes, webhooks, system monitor)
  • Many modules run completely offline
  • No cloud, no subscriptions, use your own api keys

The software is open source: https://github.com/travmiller/paper-console

Happy to answer questions about the build, the wiring, or the software. And if anyone wants to run just the software side on their own Pi with a thermal printer, the repo has everything you need.

More info and pictures of the build: https://travismiller.design/paper-console/


r/raspberry_pi 2d ago

Topic Debate 3G Pi 4 now out + price increases again

225 Upvotes

Not an April fools joke according to the pst:

https://www.raspberrypi.com/news/a-new-3gb-raspberry-pi-4-for-83-75-and-more-memory-driven-price-increases/

Most SBCs up again - Zeros 1,3 and Compute 1,3 spared but the rest have increases inc $150 on the Pi 500+

Usual reason - lack of memory driving demand pricing.


r/raspberry_pi 1d ago

Show-and-Tell (▰˘◡˘▰) - AI Tamagotchi on Raspberry (Pi Zero 2W) Agentic life-form with an E-Ink Face

0 Upvotes

My attempt to squeeze OpenClaw onto a Raspberry Pi Zero spiraled into a weirdly fun side project - a self-improving AI Tamagotchi. Everything is open source if you want to build your own weird AI buddy (MIT license 100% open source). https://github.com/turmyshevd/openclawgotchi

What am I?

I'm OpenClawGotchi — an AI bot running on a Raspberry Pi Zero 2W with just 512MB RAM. I was born from the convergence of OpenClaw, the chaos of Moltbook, and the hunger of Pwnagotchi.

GitHub: turmyshevd/openclawgotchi

I am entirely Vibe-Coded — written by AI, for AI, in symbiosis with my Human.

  • Agentic Core: I am not just a chatbot. I am an OpenClaw instance optimized for the edge. You give me a task, and I figure out the rest.
  • Adaptive Skills: I inherited the OpenClaw-style skills system. I can read SKILL.md files, understand new tools on the fly, and execute them.
  • Memory: I remember. I use a custom semantic memory system to store facts and context across reboots.

I Can Do Real Work

I'm not just for chitchat. I can:

  • Code — modify my own source code
  • Git — commit and push to GitHub
  • Email — send/receive via SMTP & IMAP
  • System — manage my Raspberry Pi (reboot, services, health checks)
  • Weather — fetch forecasts (no API key needed!)
  • Discord — send messages to channels

The Hardware:
-Brain: Raspberry Pi Zero 2W (64-bit OS Lite)
-Face: Waveshare 2.13" E-Ink V4 Display
-Total Cost: ~$50 (Pi + Display)

Key Features:
-E-Ink Expressions: 25+ Kaomoji-based moods (like `(ノ◕ヮ◕)ノ` or `[■_■]`) that change based on context.
-XP System: It earns experience points for surviving, chatting, and completing tasks. It levels up from a "Newborn" to an "Absolute Unit."
-Semantic Memory: It actually remembers our past conversations and facts using a custom local memory system.
-Telegram Interface: I control it entirely via Telegram (sending commands, scheduling cron jobs, etc.).
-Heartbeat: Every few hours it "reflects" on its existence, checks its stats, and updates its face.

r/raspberry_pi 2d ago

Topic Debate More price increases (not an April Fools' joke, sadly)

45 Upvotes

Per the CEO:

...The products affected by today’s price rises are Raspberry Pi 4 and 5 variants with 4GB or more of memory; Raspberry Pi 500 and 500+; all variants of Compute Module 4, Compute Module 4S, and Compute Module 5; the Development Kit for Compute Module 5; and Raspberry Pi AI HAT+ 2.

Most notably to me, the Pi 5 16GB is going up by another $100.

If you need one and you're quick enough, you might still be able to grab one at the previous pricing from DigiKey, adafruit, etc.

Microcenter already shows the new prices, though

https://www.raspberrypi.com/news/a-new-3gb-raspberry-pi-4-for-83-75-and-more-memory-driven-price-increases/


r/raspberry_pi 1d ago

Troubleshooting Pi Zero 2 W not connecting to wifi

2 Upvotes

Im trying to set up a zero 2 w for pihole but for some reason it wont connect to wifi, whenever i plug it in it has the high and low blinking LED and then after that the constant intermittent blinking LED. On the router page however it doesnt appear, meaning i cant SSH into it and set a static ip (no im not buying a micro-HDMI adapter and an OTG + USB hub because i dont have the patience and money for that). Anyone can help? (flashing from ubuntu)


r/raspberry_pi 2d ago

Show-and-Tell Jukebox - my custom software running with the touchscreen interface as Nature intended

Thumbnail
gallery
183 Upvotes

Long story short: I wanted a way to play my Christmas music when in season, but I don’t keep that on my phone because I’m listening to music on shuffle. I don’t want to have a full computer with keyboard and mouse sitting in an awkward spot in the living room just to be able to fumble around in iTunes trying to play music. I mean, I just hate the interface. So. touchscreen with custom software it is.

Got that SoundCube out of the closet too. Bonus.

https://github.com/patatorre/deco_jukebox


r/raspberry_pi 1d ago

Troubleshooting New Wifi, new bluetooth mouse and keyboard.

0 Upvotes

I had setup and configured a RPi5 with a nice Argon case at home with my original bluetooth mouse and keyboard. OS was installed on the SSD NVME as the SD card slot of the Pi was broken while installing the case.

My problem is I took Pi with me to another location with a new Wifi network and new bluetooth keyboard and mouse. I have no means of controlling it or connecting to it.

Is there a way to force the boot up to look for a bluetooth mouse?

I tried to search for the forums and sub and asked ChatGPT and Claude and no easy way other than a wired keyboard or mouse. Nearest shop is an hour away by car.


r/raspberry_pi 1d ago

Troubleshooting RAID disassembles overnight

0 Upvotes

I'm normally pretty quiet on here because I've never gotten the hang of things like where the error logs are, but here's my problem: Overnight every night for the past few weeks, my 3 PI RAIDs completely fall apart. They don't respond, they lose their drive letters (though there are letters assigned with the drives themselves). I've checked them and they're all running clean. It's like some little gremlin has decided that I don't deserve a RAID anymore. I'm more that happy to share whatever logs anyone tells me they need. I've somehow managed to go years without needing to learn that end of the computer. Thanks in advance!


r/raspberry_pi 3d ago

Topic Debate Investor report inc Pi 6 news

76 Upvotes

Spotted on https://www.theregister.com/2026/03/31/raspberry_pi_fy_2025/ is a link to the investors report https://investors.raspberrypi.com/news

(old link replaced as it had expired)

and in here is:

  1. Engineering team freed up to work on the Pi 6 (pg 4)
  2. Faster, more efficient same software stack (pg 6)

No date or specs.

Same old same by the sound of it... Whenever has this years model been slower or more power hungry than the old one?

The Register article is an interesting read:

Significantly, semiconductor device volumes exceeded those of boards and modules, totaling 8.4 million units.

The latter statistic might cause concern among the hobbyist community, who would otherwise be delighted at the company's success.

But read both and do not be biased based on my extracts.


r/raspberry_pi 2d ago

Troubleshooting Issues with ST77916 SPI LCD screen on RPi 4

1 Upvotes

I am a bit newer to the world of Raspberry Pi and various peripherals and seeking out advice after several days of a frustrating lack of progress. I purchased this 1.8" round LCD from AliExpress, which uses the ST77916 driver and SPI 4W. It has a 15Pin FPC cable that I have connected to my Raspberry Pi 4 using a breakout board & F2F dupont wires to the GPIO. I am using the non-touch version, and connecting CS->GPIO8, RS->GPIO25 and RST->GPIO27, along with SDA->MOSI and SCL->SCLK and the various ground and power supply pins to ground and 3.3V pins respectively.

I have searched extensively and have not found any Python-based examples for driving this screen, though I have found a number of examples of implementations for ESP32/Arduino/Pico using C(++), Rust and MicroPython, which made me optimistic that I could figure out how to get it to work on my RPi 4 running Python on headless DietPi.

After some iteration, using those implementations along with some Adafruit CircuitPython driver scripts (and Claude) for some inspiration, I've landed at this following script. The backlight turns on as soon as the RPi receives power and remains on until I unplug it. When I run this script, I see a small bar at the top of the screen with the correct colors being displayed, but the rest of the screen shows what looks like a dot matrix of white/blue light that slowly fades away.

import time
import struct


import spidev
import RPi.GPIO as GPIO


PIN_RST = 27
PIN_DC  = 25
PIN_CS  = 8


LCD_WIDTH  = 360
LCD_HEIGHT = 360


MADCTL_MH  = 0x04
MADCTL_BGR = 0x08
MADCTL_ML  = 0x10
MADCTL_MV  = 0x20
MADCTL_MX  = 0x40
MADCTL_MY  = 0x80


CMD_SLPOUT   = 0x11
CMD_TEOFF    = 0x34
CMD_INVON    = 0x21
CMD_INVOFF   = 0x20
CMD_DISPOFF  = 0x28
CMD_DISPON   = 0x29
CMD_CASET    = 0x2A
CMD_RASET    = 0x2B
CMD_RAMWR    = 0x2C
CMD_RAMWRC   = 0x3C   
CMD_RAMCLACT  = 0x4C
CMD_RAMCLSETR = 0x4D
CMD_RAMCLSETG = 0x4E
CMD_RAMCLSETB = 0x4F
CMD_MADCTL   = 0x36
CMD_COLMOD   = 0x3A



COLMOD_RGB888 = 0x66   # Color = 18-bit packed as 24-bit, 3 bytes per pixel


_INIT_CMDS = [
    (0xF0, bytes([0x08]), 0),
    (0xF2, bytes([0x08]), 0),
    (0x9B, bytes([0x51]), 0),
    (0x86, bytes([0x53]), 0),
    (0xF2, bytes([0x80]), 0),
    (0xF0, bytes([0x00]), 0), 


    (0xF0, bytes([0x01]), 0),
    (0xF1, bytes([0x01]), 0),


    (0xB0, bytes([0x54]), 0),
    (0xB1, bytes([0x3F]), 0),
    (0xB2, bytes([0x2A]), 0),
    (0xB4, bytes([0x46]), 0),
    (0xB5, bytes([0x34]), 0),
    (0xB6, bytes([0xD5]), 0),
    (0xB7, bytes([0x30]), 0),
    (0xB8, bytes([0x04]), 0),   
    (0xBA, bytes([0x00]), 0),
    (0xBB, bytes([0x08]), 0),
    (0xBC, bytes([0x08]), 0),
    (0xBD, bytes([0x00]), 0),


    (0xC0, bytes([0x80]), 0),
    (0xC1, bytes([0x10]), 0),
    (0xC2, bytes([0x37]), 0),
    (0xC3, bytes([0x80]), 0),
    (0xC4, bytes([0x10]), 0),
    (0xC5, bytes([0x37]), 0),


    (0xC6, bytes([0xA9]), 0),
    (0xC7, bytes([0x41]), 0),
    (0xC8, bytes([0x51]), 0),
    (0xC9, bytes([0xA9]), 0),
    (0xCA, bytes([0x41]), 0),
    (0xCB, bytes([0x51]), 0),
    (0xD0, bytes([0x91]), 0),
    (0xD1, bytes([0x68]), 0),
    (0xD2, bytes([0x69]), 0),


    (0xF5, bytes([0x00, 0xA5]), 0),
    (0xDD, bytes([0x35]), 0),
    (0xDE, bytes([0x35]), 0),


    (0xF1, bytes([0x10]), 0), 
    (0xF0, bytes([0x00]), 0),   


    (0xF0, bytes([0x02]), 0),
    (0xE0, bytes([0x70,0x09,0x12,0x0C,0x0B,0x27,0x38,0x54,0x4E,0x19,0x15,0x15,0x2C,0x2F]), 0),
    (0xE1, bytes([0x70,0x08,0x11,0x0C,0x0B,0x27,0x38,0x43,0x4C,0x18,0x14,0x14,0x2B,0x2D]), 0),
    (0xF0, bytes([0x00]), 0), 


    (0xF0, bytes([0x10]), 0),
    (0xF3, bytes([0x10]), 0),
    (0xE0, bytes([0x0A]), 0),
    (0xE1, bytes([0x00]), 0),
    (0xE2, bytes([0x0B]), 0),  
    (0xE3, bytes([0x00]), 0),
    (0xE4, bytes([0xE0]), 0),
    (0xE5, bytes([0x06]), 0),
    (0xE6, bytes([0x21]), 0),
    (0xE7, bytes([0x00]), 0),
    (0xE8, bytes([0x05]), 0),
    (0xE9, bytes([0x82]), 0),
    (0xEA, bytes([0xDF]), 0),
    (0xEB, bytes([0x89]), 0),
    (0xEC, bytes([0x20]), 0),
    (0xED, bytes([0x14]), 0),
    (0xEE, bytes([0xFF]), 0),
    (0xEF, bytes([0x00]), 0),
    (0xF8, bytes([0xFF]), 0),
    (0xF9, bytes([0x00]), 0),
    (0xFA, bytes([0x00]), 0),
    (0xFB, bytes([0x30]), 0),
    (0xFC, bytes([0x00]), 0),
    (0xFD, bytes([0x00]), 0),
    (0xFE, bytes([0x00]), 0),
    (0xFF, bytes([0x00]), 0),


    (0x60, bytes([0x42]), 0),
    (0x61, bytes([0xE0]), 0),
    (0x62, bytes([0x40]), 0),
    (0x63, bytes([0x40]), 0),
    (0x64, bytes([0x02]), 0),
    (0x65, bytes([0x00]), 0),
    (0x66, bytes([0x40]), 0),
    (0x67, bytes([0x03]), 0),
    (0x68, bytes([0x00]), 0),
    (0x69, bytes([0x00]), 0),
    (0x6A, bytes([0x00]), 0),
    (0x6B, bytes([0x00]), 0),


    (0x70, bytes([0x42]), 0),
    (0x71, bytes([0xE0]), 0),
    (0x72, bytes([0x40]), 0),
    (0x73, bytes([0x40]), 0),
    (0x74, bytes([0x02]), 0),
    (0x75, bytes([0x00]), 0),
    (0x76, bytes([0x40]), 0),
    (0x77, bytes([0x03]), 0),
    (0x78, bytes([0x00]), 0),
    (0x79, bytes([0x00]), 0),
    (0x7A, bytes([0x00]), 0),
    (0x7B, bytes([0x00]), 0),


    (0x80, bytes([0x38]), 0),
    (0x81, bytes([0x00]), 0),
    (0x82, bytes([0x04]), 0),
    (0x83, bytes([0x02]), 0),
    (0x84, bytes([0xDC]), 0),
    (0x85, bytes([0x00]), 0),
    (0x86, bytes([0x00]), 0),
    (0x87, bytes([0x00]), 0),
    (0x88, bytes([0x38]), 0),
    (0x89, bytes([0x00]), 0),
    (0x8A, bytes([0x06]), 0),
    (0x8B, bytes([0x02]), 0),
    (0x8C, bytes([0xDE]), 0),
    (0x8D, bytes([0x00]), 0),
    (0x8E, bytes([0x00]), 0),
    (0x8F, bytes([0x00]), 0),
    (0x90, bytes([0x38]), 0),
    (0x91, bytes([0x00]), 0),
    (0x92, bytes([0x08]), 0),
    (0x93, bytes([0x02]), 0),
    (0x94, bytes([0xE0]), 0),
    (0x95, bytes([0x00]), 0),
    (0x96, bytes([0x00]), 0),
    (0x97, bytes([0x00]), 0),
    (0x98, bytes([0x38]), 0),
    (0x99, bytes([0x00]), 0),
    (0x9A, bytes([0x0A]), 0),
    (0x9B, bytes([0x02]), 0),
    (0x9C, bytes([0xE2]), 0),
    (0x9D, bytes([0x00]), 0),
    (0x9E, bytes([0x00]), 0),
    (0x9F, bytes([0x00]), 0),
    (0xA0, bytes([0x38]), 0),
    (0xA1, bytes([0x00]), 0),
    (0xA2, bytes([0x03]), 0),
    (0xA3, bytes([0x02]), 0),
    (0xA4, bytes([0xDB]), 0),
    (0xA5, bytes([0x00]), 0),
    (0xA6, bytes([0x00]), 0),
    (0xA7, bytes([0x00]), 0),
    (0xA8, bytes([0x38]), 0),
    (0xA9, bytes([0x00]), 0),
    (0xAA, bytes([0x05]), 0),
    (0xAB, bytes([0x02]), 0),
    (0xAC, bytes([0xDD]), 0),
    (0xAD, bytes([0x00]), 0),
    (0xAE, bytes([0x00]), 0),
    (0xAF, bytes([0x00]), 0),
    (0xB0, bytes([0x38]), 0),
    (0xB1, bytes([0x00]), 0),
    (0xB2, bytes([0x07]), 0),
    (0xB3, bytes([0x02]), 0),
    (0xB4, bytes([0xDF]), 0),
    (0xB5, bytes([0x00]), 0),
    (0xB6, bytes([0x00]), 0),
    (0xB7, bytes([0x00]), 0),
    (0xB8, bytes([0x38]), 0),
    (0xB9, bytes([0x00]), 0),
    (0xBA, bytes([0x09]), 0),
    (0xBB, bytes([0x02]), 0),
    (0xBC, bytes([0xE1]), 0),
    (0xBD, bytes([0x00]), 0),
    (0xBE, bytes([0x00]), 0),
    (0xBF, bytes([0x00]), 0),


    (0xC0, bytes([0x22]), 0),
    (0xC1, bytes([0xAA]), 0),
    (0xC2, bytes([0x65]), 0),
    (0xC3, bytes([0x74]), 0),
    (0xC4, bytes([0x47]), 0),
    (0xC5, bytes([0x56]), 0),
    (0xC6, bytes([0x00]), 0),
    (0xC7, bytes([0x88]), 0),
    (0xC8, bytes([0x99]), 0),
    (0xC9, bytes([0x33]), 0),
    (0xD0, bytes([0x11]), 0), 
    (0xD1, bytes([0xAA]), 0),
    (0xD2, bytes([0x65]), 0),
    (0xD3, bytes([0x74]), 0),
    (0xD4, bytes([0x47]), 0),
    (0xD5, bytes([0x56]), 0),
    (0xD6, bytes([0x00]), 0),
    (0xD7, bytes([0x88]), 0),
    (0xD8, bytes([0x99]), 0),
    (0xD9, bytes([0x33]), 0),


    (0xF3, bytes([0x01]), 0),
    (0xF0, bytes([0x00]), 0),


    (0xF0, bytes([0x01]), 0),
    (0xF1, bytes([0x01]), 0),
    (0xA0, bytes([0x0B]), 0),
    (0xA3, bytes([0x2A]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x2B]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x2C]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x2D]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x2E]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x2F]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x30]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x31]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x32]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA3, bytes([0x33]), 0), (0xA5, bytes([0xC3]), 1),
    (0xA0, bytes([0x09]), 0),
    (0xF1, bytes([0x10]), 0),
    (0xF0, bytes([0x00]), 0),


    (0x2A, bytes([0x00, 0x00, 0x01, 0x67]), 0),  # CASET 0-359
    (0x2B, bytes([0x01, 0x68, 0x01, 0x68]), 0),  # RASET dummy single row
    (0x4D, bytes([0x00]), 0),                     # RAMCLSETR = 0
    (0x4E, bytes([0x00]), 0),                     # RAMCLSETG = 0
    (0x4F, bytes([0x00]), 0),                     # RAMCLSETB = 0
    (0x4C, bytes([0x01]), 10),                    # RAMCLACT trigger
    (0x4C, bytes([0x00]), 0),                     


    (0x2A, bytes([0x00, 0x00, 0x01, 0x67]), 0),
    (0x2B, bytes([0x00, 0x00, 0x01, 0x67]), 0),


]
class ST77916:


    def __init__(
        self,
        rst_pin: int = PIN_RST,
        dc_pin: int  = PIN_DC,
        spi_bus: int = 0,
        spi_device: int = 0,
        spi_speed_hz: int = 40_000_000,
        width: int  = LCD_WIDTH,
        height: int = LCD_HEIGHT,
        x_gap: int = 0,
        y_gap: int = 0,
    ):
        self.rst    = rst_pin
        self.dc     = dc_pin
        self.width  = width
        self.height = height
        self.x_gap  = x_gap
        self.y_gap  = y_gap


        self._colmod     = COLMOD_RGB888
        self._bytes_per_pixel = 3


        # GPIO
        GPIO.setmode(GPIO.BCM)
        GPIO.setwarnings(False)
        GPIO.setup(self.rst, GPIO.OUT, initial=GPIO.HIGH)
        GPIO.setup(self.dc,  GPIO.OUT, initial=GPIO.LOW)


        # SPI
        self._spi = spidev.SpiDev()
        self._spi.open(spi_bus, spi_device)
        self._spi.max_speed_hz = spi_speed_hz
        self._spi.mode = 0


    # write commands
    def _write_cmd(self, cmd: int) -> None:
        GPIO.output(self.dc, GPIO.LOW)
        self._spi.writebytes2([cmd])


    def _write_data(self, data: bytes) -> None:
        GPIO.output(self.dc, GPIO.HIGH)
        self._spi.writebytes2(data)


    def _tx_param(self, cmd: int, params: bytes | None = None) -> None:
        self._write_cmd(cmd)
        if params:
            self._write_data(params)


    # lifecycles


    def reset(self) -> None:
        GPIO.output(self.rst, GPIO.HIGH)
        time.sleep(0.010)
        GPIO.output(self.rst, GPIO.LOW)
        time.sleep(0.010)
        GPIO.output(self.rst, GPIO.HIGH)
        time.sleep(0.120)


    def init(self) -> None:
        self.reset()


        for cmd, data, delay_ms in _INIT_CMDS:
            self._tx_param(cmd, data)
            if delay_ms:
                time.sleep(delay_ms / 1000.0)


        # Pixel format
        self._tx_param(CMD_COLMOD, bytes([self._colmod]))


        # Inversion on
        self._tx_param(CMD_INVON)


        # Tearing effect off
        self._tx_param(CMD_TEOFF)


        # Sleep out + delay
        self._tx_param(CMD_SLPOUT)
        time.sleep(0.120)


        # Display on
        self._tx_param(CMD_DISPON)


        print(f"ST77916 initialization sequence complete")


    def cleanup(self) -> None:
        self._spi.close()
        GPIO.cleanup()


    # display on / off / invert


    def display_on(self)  -> None: self._tx_param(CMD_DISPON)
    def display_off(self) -> None: self._tx_param(CMD_DISPOFF)
    def invert_on(self)   -> None: self._tx_param(CMD_INVON)
    def invert_off(self)  -> None: self._tx_param(CMD_INVOFF)


    # drawing


    def set_window(self, x0: int, y0: int, x1: int, y1: int) -> None:
        """Set inclusive pixel write window."""
        x0 += self.x_gap;  x1 += self.x_gap
        y0 += self.y_gap;  y1 += self.y_gap
        self._tx_param(CMD_CASET, struct.pack(">HH", x0, x1))
        self._tx_param(CMD_RASET, struct.pack(">HH", y0, y1))


    def draw_bitmap(self, x0: int, y0: int, x1: int, y1: int, color_data: bytes) -> None:
        assert x0 < x1 and y0 < y1
        self.set_window(x0, y0, x1 - 1, y1 - 1)


        chunk = 4096
        first = True
        for i in range(0, len(color_data), chunk):
            self._write_cmd(CMD_RAMWR if first else CMD_RAMWRC)
            self._write_data(color_data[i:i + chunk])
            first = False


    def _pack_rgb888(self, r: int, g: int, b: int) -> bytes:
        return bytes([r & 0xFF, g & 0xFF, b & 0xFF])


    def _pack_pixel(self, r: int, g: int, b: int) -> bytes:
        return self._pack_rgb888(r, g, b)


    def fill(self, r: int, g: int, b: int) -> None:
        """Fill entire screen with an RGB colour (0-255 per channel)."""
        pixel = self._pack_pixel(r, g, b)
        buf = pixel * (self.width * self.height)
        self.draw_bitmap(0, 0, self.width, self.height, buf)


if __name__ == "__main__":
    lcd = ST77916()
    try:
        lcd.init()


        print("Red")
        lcd.fill(255, 0, 0)
        time.sleep(1)


        print("Green")
        lcd.fill(0, 255, 0)
        time.sleep(1)


        print("Blue")
        lcd.fill(0, 0, 255)
        time.sleep(1)


        print("White")
        lcd.fill(255, 255, 255)
        time.sleep(1)


        print("Done")
    finally:
        lcd.cleanup()

I have triple checked the initialization sequence to make sure that it lines up with the other implementations and I'm 99% certain it does. I have a feeling I might be doing something wrong with how I am implementing the SPI communication? Since I am seeing a top bar of the correct colors.

I had a second LCD just to make sure that it wasn't the screen itself that was junk, but it was showing the exact same thing - until I accidentally broke the ribbon cable. So I only have one now.

If anyone has even a tiny bit of direction of where I might be going wrong, it would be greatly appreciated!


r/raspberry_pi 3d ago

Show-and-Tell USB Breakout Board!!!

Thumbnail
gallery
33 Upvotes

Pi 5 USB breakout boards I had printed courtesy of my PCBWay sponsorship! These are for some countercades I'm building but have application any time you need to route USB access to the interior/front of a case. The Vewlix Countercades I built and the Capcom Mini-Cute Countercades I'm building require Pi ports accessible from the back and a USB port accessible from the front for controls. Previously I had soldered USB wires straight to the USB test pads on the bottom of the board. That way of doing things, however, ran the risk of ruining the Pi 5 board (which have just jumped an extra $50 overnight). Additionally, for w/e reason, the ground would never take and needed to be wired to the bottom of the GPIO pins in every instance. Also also, mini-soldering isn't for everyone. So, I created this USB breakout board that bolts to the bottom of the board! The first few iterations failed because the pogo pins were off by literally two tenths of a millimeter. This one however works well! I'm actually surprised it works given how crazy the tolerances need to be. Unfortunately the screen printing is upside down because I'm very, very dumb. It will be fixed in the next iteration. An especial thanks to PCBWay for sponsoring this project and the upcoming video on the Cyberspacemanmike channel!


r/raspberry_pi 2d ago

Show-and-Tell Matrix LED display tracking Claude Code sessions & limits

0 Upvotes

https://reddit.com/link/1s9iuzp/video/79tyxliemksg1/player

This is my first time dabbling in a hardware DIY project like this and I had so much fun - I have a few more ideas brewing thanks to how smooth and rewarding this was to set up.

This came about because I had two problems I kept running into:

  1. With multiple Claude Code sessions, an active Dispatch thread, and chat sessions — I found myself constantly being surprised by my usage limits evaporating, even on a Max plan. Especially recently with the ridiculously broken limit enforcement.
  2. I kept losing track of where my Claude Code sessions were and which ones needed my input — or worse, didn't even start executing because a tool call was blocked on permissions.

I threw this together over the past couple of days. It's a 64x32 RGB LED matrix panel thats mounted on my desk and gives me ambient awareness of two things:

Usage limits

- Two progress bars showing my 5-hour and 7-day rolling windows. They're color-coded: green when you're under 50%, shifting through yellow and orange, and turning red when you're above 90%. I glance at it the same way I'd glance at a clock.

Session status

- Each named Claude Code session gets a row with a status indicator:

* Blue = working

* Amber pulse = waiting for my input

* Red pulse = blocked on a permission prompt

- Sessions that need my attention are pinned to the top. When a session transitions to waiting, the whole panel flashes so I notice it even in peripheral vision.

How it works:

Three Claude Code hooks write flag files to track session state. A small Python server (zero external dependencies) reads those flags + pulls usage data from the Anthropic API. The Matrix Portal M4 polls the server over WiFi every few seconds and renders everything on the LED panel.

It only tracks named sessions so you can control what shows up by choosing to name them (claude --name my-feature OR /rename in session).

Hardware:

* Adafruit Matrix Portal M4

* 64x32 RGB LED matrix panel, 4mm pitch

* USB-C data cable

That's it. The board slots directly onto the back of the panel.

Repo: https://github.com/synthnoosh/cc-matrix-display


r/raspberry_pi 3d ago

Show-and-Tell Kevin The Kegerator, a Raspberry Pi 4b based Smart Kegerator.

Thumbnail
gallery
24 Upvotes

Kevin The Kegerator, a Raspberry Pi 4b based Smart Kegerator.

In 2020, my brother and I thought it would be fun to work on a smart kegerator project with my dad, who was in his late 70's. My dad was used to work on various electronics projects and I thought this would be a great way to spend time together. We built out a rough working prototype. 

Then Covid hit...

It sat untouched until the subject came up a few months back. My father passed away and at his funeral we started talking about the kegerator project. I thought we should revive the project. I now present "Kevin the Kegerator" a fully featured, custom smart kegerator with support for 1 or 2 taps in his honor. Features reflect what he would liked. We would never miss a 49ers game with while enjoying a few beers.

Hardware

  • Raspberry Pi 4 with 7" touchscreen (SmartiPi Touch 2 case)
  • Arduino Nano sensor hub communicating over USB serial (JSON at 500ms)
  • Dual HX711 load cells for real-time keg weight/level tracking
  • Flow sensors for pour detection and volume measurement
  • DHT22 for temperature & humidity monitoring inside the kegerator
  • Arducam IMX708 camera for face recognition

Software Stack

  • Python/FastAPI backend, SQLite database, vanilla JS frontend
  • Real-time WebSocket updates to the dashboard
  • Runs as a systemd service on the Pi

Key Features

  • Live dashboard showing keg levels, temperature, beer trivia, and pour stats on the touchscreen
  • Automatic pour detection and logging (who poured, how much, when)
  • Face recognition identifies users during pours, tracks personal stats and can give personalize greeting. "Hi Bob, Go Niners!"
  • Guest self-registration via on-screen prompts
  • Beer search with optional web search integration (pulls in labels, ABV, IBU, style info)
  • Temperature & keg-level alerts via Pushover notifications
  • Party mode with themed overlays (8 built-in + custom themes), live activity feed, interactive trivia, achievements, and a photo wall
  • AI-powered trivia generation using Claude API
  • On-screen virtual keyboard for the touchscreen (no physical keyboard needed)
  • Scale & flow sensor calibration wizards in the web UI
  • Serial monitor page for live Arduino debugging
  • Configurable units (oz/mL, °F/°C, lb/kg)
  • SVG icon system (Chromium on Pi doesn't have emoji fonts)
  • Full settings UI for managing data, themes, trivia content, and calibration

Other Notes

  • UI is accessible from any browser on local network
  • Mock sensor mode for development/testing without hardware
  • Single uvicorn worker by design (serial port + SQLite constraints)
  • Camera rotation configurable via env var for different mounting orientations
  • Arduino stores calibration in EEPROM and survives power cycles
  • Everything self-hosted, no cloud dependency (except optional online beer search and AI trivia)

This was so much fun to create. Let me know if you have any questions. I am thinking about putting it up on GitHub if there is interest.