One of our Raspberry PI at home is hooked up to the rear of a small non-smart LCD TV in our bedroom. While its LibreElec is capable of doing almost anything from Live-TV and PVR, music, movies and TV series, it usually plays audiobooks only. Audio output is directed to small USB-powered active speakers attached to the 3.5mm jack (the TV’s built-in speakers sound is crappy anyway). Thanks to a KODI remote control App on a legacy Android tablet, this allows us to keep the TV screen being turned-off for anything audio-only. And the bedroom thus to remain dark.

At least up until recently.

It turned out that during summer nights, the little Raspi had issues with turning too hot, due to how and where it was installed. I decided to change that and, while we’re at, tidy up the cabling… not only to increase on cooling but also on WAF. I swapped its ugly black case for a fancy white one (of the spare Raspi 2 that I am planning to act as a RetroPie station). Not only it looked much prettier (although hardly visible at all) in its new white housing, but also had much improved air circulation. All was nice and well.

Let there be light

Then, night came and we went to bed. And I was impressed with the sheer amount of illumination that comes out of such small LEDs once they’re surrounded by darkness: The new white case acted almost like a lightbulb body, showing power and activity LED lights across its entire housing. The network interface LEDs of the RJ45 ethernet LAN socket felt like… flashlights. Sigh. Okay.

I sat down the next day and figured out what do to about that. Of course, duct tape or paint were always possible, but as last option only. Why not check out if there is a “smart” way of turning these LEDs off? Maybe with some kind of additional software or maybe even with a built-in setting?

I quickly learned from the Internet, that it is basically possible to turn off the power and activity LEDs. Depending on the OS of the Raspi, different approaches are required. But.

Ethernet socket LEDs

For the network (LAN) interface LEDs though, my gut feeling proved right that it requires a much deeper hacking into the Raspi’s software stack to turn these off. Here, I chose the “last option” and stuck 2 tiny bits of so-called “poster buddies” on each of the 2 LEDs next to the ethernet RJ45 socket:

Picture of Raspberry Ethernet socket with glue dots applied on top of the socket's LEDs

No more keepin’ us awake with ya disturbing flashing lights, Raspi.

It’s basically like a self-adhesive kind of PlayDough that can be modelled according to ones needs.

Power + Activity LEDs

For the power and activity LED though, I tried to avoid wrapping the entire case in duct tape or having to disassemble the case, pop sticky dough on the LEDs and the reassemble the case again.

According to my search results, the common way to turn off the LEDs in question is to write specific content into some files:

echo none > /sys/class/leds/led0/trigger
echo none > /sys/class/leds/led1/trigger
echo 0 > /sys/class/leds/led0/brightness
echo 0 > /sys/class/leds/led1/brightness

And apparently, that needs to happen on every (re)boot.
For some distros, these commands have to be sudo‘ed and put into /etc/rc.local. That didn’t work for me on my LibreElec so I kept searching a bit more specific and came across a this post:

https://forum.libreelec.tv/thread/4543-turn-off-led-lights-rasp-pi-3/

They were using a file .config/autostart.sh to trigger the changes to the respective files. While the last comment in that thread, however, said that this wasn’t working on Raspi 3 models, I felt it worth to just ignore this and try out.

So I SSH‘ed to the Raspi. As the partition that holds the respective file is mounted read-only by default, I remounted it in read-write mode. And then launched the editor for writing to the file:

mount -o remount,rw /flash
nano .config/autostart.sh

I then pasted what I collected from other threads on that topic:

echo none > /sys/class/leds/led0/trigger
echo none > /sys/class/leds/led1/trigger
echo 0 > /sys/class/leds/led0/brightness
echo 0 > /sys/class/leds/led1/brightness

After saving the file (ctrl+o) and closing the editor (ctrl+x) I remounted the partition as read-only and rebooted the Raspi:

mount -o remount,ro /flash
reboot

And once the boot was done, there was no light from both the power or activity LED anymore. It worked.

Note that this is no silver bullet or one-size-fits-all solution! In order to see whether this solution could work for you, here’s my setup:

  • Raspberry PI 3 Model B+
  • libreelec 8.2.5 (Linux kernel 4.9.80)

Hope this helps, cheers.


Share this post:
Facebooktwitterlinkedinmail

Copyright notice for artwork used on this page (in addition to these):