Like htop (CPU and memory usage), but for your case LEDs. 😄

Related tags

Hardwareledtop
Overview

ledtop

Like htop (CPU and memory usage), but for your case LEDs. 😄

Demo

In this setup, memory is the left strip, CPU is the right strip.

Install

  1. Install OpenRGB.
  2. Run: $ pip install ledtop

Run

  1. Launch OpenRGB.
  2. Click the tab SDK Server and the button Start Server.
  3. Run: $ python -m ledtop

Configuration

The config file location is defined by appdirs (ex: ~/.config/ledtop/config.toml) based on your OS, in TOML format. If no config file exists, running python -m ledtop will tell you where it should be.

To see your detected devices, zones and sensors, run python -m ledtop --info. Example:

$ python ledtop.py --info
--------------
 LED Displays
--------------
Device: 'B550I AORUS PRO AX' (id:0)
 - zone: 'D_LED1' (id:0)
 - zone: 'Motherboard' (id:1)

---------------------
 Temperature Sensors
---------------------
Device: 'acpitz'
 - sensor: '' (17°C)
Device: 'nvme'
 - sensor: 'Composite' (44°C)
Device: 'k10temp'
 - sensor: 'Tctl' (34°C)
 - sensor: 'Tdie' (34°C)
 - sensor: 'Tccd1' (45°C)
 - sensor: 'Tccd2' (42°C)
Device: 'iwlwifi_1'
 - sensor: '' (36°C)

Example configuration file:

[cpu]
device = 'B550I AORUS PRO AX'
zone = 'D_LED1'
leds = '1-21'

[memory]
device = 'B550I AORUS PRO AX'
zone = 'D_LED1'
leds = '42-22'
brightness = 20

[temp.ssd]
device = 'B550I AORUS PRO AX'
zone = 'Motherboard'
component = 'nvme'
leds = '1-2'

[temp.cpu]
device = 'B550I AORUS PRO AX'
zone = 'Motherboard'
component = 'k10temp'
sensor = 'Tctl'
leds = '3-5'

There are three section types with the following options:

Section: cpu

Option Details Required
device A string or an integer, corresponding to OpenRGB's device name or ID.
zone A string or an integer, corresponding to OpenRGB's zone name or ID.
size The number of LEDs in your zone. Will call zone.resize() in OpenRGB.
leds Which LEDs to use (a range), inclusive starting at 1. If the first number is larger than the second, the displayed order will be reversed. (Say if your strip is mounted upside-down.) Example: 1-21
brightness The brightness of your LEDs, an integer 0-100.
custom cpu colors A hex RGB string like #0000ff. Options: nice_color, user_color, system_color, iowait_color, irq_color, softirq_color, idle_color

Section: memory

Option Details Required
device A string or an integer, corresponding to OpenRGB's device name or ID.
zone A string or an integer, corresponding to OpenRGB's zone name or ID.
size The number of LEDs in your zone. Will call zone.resize() in OpenRGB.
leds Which LEDs to use (a range), inclusive starting at 1. If the first number is larger than the second, the displayed order will be reversed. (Say if your strip is mounted upside-down.) Example: 41-22
brightness The brightness of your LEDs, an integer 0-100.
custom memory colors A hex RGB string like #ff4400. Options: used_color, buffers_color, cached_color, unused_color

Section: temp

Option Details Required
device A string or an integer, corresponding to OpenRGB's device name or ID.
zone A string or an integer, corresponding to OpenRGB's zone name or ID.
size The number of LEDs in your zone. Will call zone.resize() in OpenRGB.
leds Which LEDs to use (a range), inclusive starting at 1. If the first number is larger than the second, the displayed order will be reversed. (Say if your strip is mounted upside-down.) Example: 1-4
component The component (motherboard, CPU, SSD, etc.) to measure the temp of. Run python -m ledtop --info to see what's detected.
sensor Some components have multiple sensors. Run python -m ledtop --info to see your options.
low Low temperature - integer in °C. (Default: 20)
high High temperature - integer in °C. (Default: 90 or self-reported by the sensor.)

If you want more than one display of each type, name them like:

[cpu.1]
...
[cpu.2]
...

Colors

Default LED colors are the same as htop. For CPU usage the color key is:

  • Blue: low priority processes (nice > 0)
  • Green: normal (user) processes.
  • Red: kernel processes.
  • Yellow: IRQ time.
  • Magenta: Soft IRQ time.
  • Grey: IO Wait time.

Memory:

  • Green: Used memory pages.
  • Blue: Buffer pages.
  • Orange: Cache pages.
  • Grey: Free (unused)
Owner
Derek Anderson
Derek Anderson
Brogrammer-keyboard - FIrmware for the Brogrammer Keyboard v1.0

Brogrammer Keyboard Firmware The package contains the firmware that runs on the Brogrammer Keyboard v1.0 See https://imgur.com/a/oY5QZ14 This keyboard

Devin Hartleben 1 Apr 21, 2022
A dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc. written in Python

Weather Clock for Raspberry PI This project is a dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc.

Markus Geiger 1 May 01, 2022
Christmasvillage-rpi - Raspberry Pi relay controller for ChristmasVillage.io

ChristmasVillage.io Relay Controller Links ChristmasVillage.io - Live Stream & Controls Youtube Instagram About This repository controls the light rel

Grant Windes 2 Feb 15, 2022
Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API.

Hildebrand Glow (DCC) Integration Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API. T

Aniket 153 Dec 30, 2022
Vvim - Keyboardless Vim interactions

This is done via a hardware glove that the user wears. The glove detects the finger's positions and translates them into key presses. It's currently a work in progress.

Boyd Kane 8 Nov 17, 2022
I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee public API

TAPO-And-Govee-Controller I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee publi

James Westhead 0 Nov 23, 2021
Implementation of Forwards Kinematics, Inverse Kinematics, Point to Point Movement and Synchronous movement for Kuka KR 120 R2700-2.

I made this project for my university course in robotics. I rarely found any information regarding the implementation of mathematics in code. So I decided to make this repo in order to help others :)

2 Dec 27, 2022
OctoPrint is the snappy web interface for your 3D printer!

OctoPrint OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero Genera

OctoPrint 7.1k Jan 03, 2023
Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.

Scapy Scapy is a powerful Python-based interactive packet manipulation program and library. It is able to forge or decode packets of a wide number of

SecDev 8.3k Jan 08, 2023
A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler.

Env-MCRO A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler. (btw this image is a bit outdated, some of the silkscreen

EnviousData 68 Oct 14, 2022
The ABR Control library is a python package for the control and path planning of robotic arms in real or simulated environments.

The ABR Control library is a python package for the control and path planning of robotic arms in real or simulated environments. ABR Control provides API's for the Mujoco, CoppeliaSim (formerly known

Applied Brain Research 277 Jan 05, 2023
An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi.

An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi. This is the source codes of my programming assignmen

StardustDL 4 Oct 19, 2022
Count the number of people around you 👨‍👨‍👦 by monitoring wifi signals 📡 .

howmanypeoplearearound Count the number of people around you 👨‍👨‍👦 by monitoring wifi signals 📡 . howmanypeoplearearound calculates the number of

Zack 6.7k Jan 07, 2023
Create a low powered, renewable generation forecast display with a Raspberry Pi Zero & Inky wHAT.

GB Renewable Forecast Display This Raspberry Pi powered eInk display aims to give you a quick way to time your home energy usage to help balance the g

Andy Brace 32 Jul 02, 2022
Hardware: CTWingSKIT_BC28 Development Toolkit

IoT Portal Monitor Tools hardware: CTWingSKIT_BC28 Development Toolkit serial port driver: ST-LINK hardware development environment: Keli 5 MDK IoT pl

Fengming Zhang 1 Nov 07, 2021
ArduinoWaterHeaterIOT - IoT Probe of a solar PV water heating system - Arduino, Python, MQTT, MySQL

ArduinoWaterHeaterIOT IoT Probe of a solar PV water heating system - Arduino, Raspberry Pi, Python, MQTT, MySQL The Arduino sends the AC and DC watts

Jacques Fourie 1 Jan 11, 2022
Hook and simulate global keyboard events on Windows and Linux.

keyboard Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

BoppreH 3.2k Dec 30, 2022
HomeAssistant - Polyaire AirTouch 4 Integration

HomeAssistant - Polyaire AirTouch 4 Integration Custom integration to add an AirTouch 4 AC Controller Installation: Copy contents of custom_components

7 Aug 05, 2022
Open-Source board for converting RaspberryPI to Brain-computer interface

The easiest way to the neuroscience world with the shield for RaspberryPi - PIEEG (website). Open-source. Crowdsupply This project is the result of se

Ildaron 436 Jan 01, 2023
Claussoft Personal Digital Assistant

Claussoft Personal Digital Assistant Install on Linux $ sudo apt update $ sudo apt install espeak ffmpeg libespeak1 portaudio19-dev $ pip install -r r

Christian Clauss 3 Dec 14, 2022