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
Make your MacOS keyboard brightness fade in and out

Make your MacOS keyboard brightness fade in and out. (It's working depends on the Kbrightness file, which only works for 2015 Macs, so this will only work on 2015 Macs.)

1 Dec 16, 2021
Andreas Frisch 1 Jan 10, 2022
Doughskript interpreter for converting simple command sequences into executable Arduino C++ code.

Doughskript interpreter for converting simple command sequences into executable Arduino C++ code.

Svjatoslav 2 Jan 11, 2022
Home Assistant custom integration for Yi cameras: yi-hack-MStar, yi-hack-Allwinner and yi-hack-Allwinner-v2

yi-hack Home Assistant integration Overview yi-hack Home Assistant is a custom integration for Yi cameras (or Sonoff camera) with one of the following

roleo 131 Jan 03, 2023
a library for using WS2812b leds (aka neopixels) with Raspberry Pi Pico

pico_ws2812b a library for using WS2812b leds (aka neopixels) with Raspberry Pi Pico You'll first need to save the ws2812b.py file to your device (for

76 Nov 25, 2022
Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Julen Smith 3 Jan 12, 2022
Easyeda2kicad.py - Convert any LCSC components (including EasyEDA) to KiCad library

easyeda2kicad.py A Python script that convert any electronic components from LCSC or EasyEDA to a Kicad library Installation git clone https://github.

uPesy Electronics 150 Jan 06, 2023
The robot is an autonomous small scale racing car using NVIDIA Jetson Nano.

The robot is an autonomous small scale racing car using NVIDIA Jetson Nano. This project utilizes deep learning neural network framework Keras/Tensorflow, together with computer vision library OpenCV

1 Dec 08, 2021
Play a song with a 3D printer.

MIDI to GCODE Play a song with a FDM 3D printer. SLA printers don't have motors, so they cannot play music. Warning: Be ready to turn off the 3D print

Patrick 6 Apr 11, 2022
A Home Assistant integration for Solaredge inverters

A Home Assistant integration for Solaredge inverters. Supports multiple inverters chained through RS485.

Seth 50 Dec 23, 2022
A python script for macOS to enable scrolling with the 3M ergonomic mouse EM500GPS in any application.

A python script for macOS to enable scrolling with the 3M ergonomic mouse EM500GPS in any application.

3 Feb 19, 2022
Lenovo Legion 5 Pro 2021 Linux RGB Keyboard Light Controller

Lenovo Legion 5 Pro 2021 Linux RGB Keyboard Light Controller This util allows to drive RGB keyboard light on Lenovo Legion 5 Pro 2021 Laptop Requireme

36 Dec 16, 2022
Micropython automatic watering

micropython-automatic-watering micropython automatic watering his code was developed to be used with nodemcu esp8266, but can be modified to work with

1 Nov 24, 2021
🏡 My Home Assistant Configs. Be sure to 🌟 my repo to follow the updates!

Home Assistant Configuration Here's my Home Assistant configuration. I have installed HA on a Lenovo ThinkCentre M93P Tiny with an Intel Dual-Core i5-

iLyas Bakouch 25 Dec 30, 2022
Get input from OLED Joystick, Runs command, Displays output on OLED Screen (Great for P4wnP1)

p4wnsolo-joyterm Gets text input from OLED Joystick Runs the command you typed Displays output on OLED Screen (Great for P4wnP1 - even better on Raspb

PawnSolo 7 Dec 19, 2022
Code for the onshape macropad.

Onshape_Macropad Code for the onshape macropad. This is a macropad built using the Pimoroni Keybow and the KPrepublic Enclosure. pimoroni_keybow kprep

Justin Cole 1 Nov 23, 2021
This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

Stanford Student Robotics 1.2k Dec 25, 2022
PyTorch implementation of paper "MT-ORL: Multi-Task Occlusion Relationship Learning" (ICCV 2021)

MT-ORL: Multi-Task Occlusion Relationship Learning Official implementation of paper "MT-ORL: Multi-Task Occlusion Relationship Learning" (ICCV 2021) P

Panhe Feng 12 Oct 11, 2022
Designed a system that can efficiently sort recyclables and transfer them to corresponding bins using Python, a Raspberry Pi, and Quanser Labs.

System for Sorting and Recycling Containers - Project 3 Table of contents Overview The challenge Screenshot My process Built with Code snippets What I

Mit Patel 2 Dec 02, 2022
Inykcal is a software written in python for selected E-Paper displays.

Inykcal is a software written in python for selected E-Paper displays. It converts these displays into useful information dashboards. It's open-source, free for personal use, fully modular and user-f

Ace 727 Jan 02, 2023