Giter VIP home page Giter VIP logo

tiny-system-monitor's Introduction

Tiny System Monitor

An external system monitor for your computer.

Demo video

Hardware

Bill of materials

  • Raspberry Pi Pico
  • Pico Display Pack
  • Optional: LED + Resistor

Print

The 3d model can be downloaded from my Printables here.

Software

The software is written in CircuitPython and tested with the version 7.3.1

Installing CircuitPython

  1. Download the CircuitPython UF2 from the official website here.
  2. Push and hold the BOOTSEL button and plug your Pico into the USB port of your computer. Release the BOOTSEL button after your microcontroller is connected.
  3. It will mount as a Mass Storage Device called RPI-RP2.
  4. Drag and drop the CircuitPython UF2 file onto the RPI-RP2 volume.

Software installation

  1. Clone the git repository
  2. Copy the git repository to the Raspberry Pi Pico
cd ~
git clone https://github.com/dr-mod/tiny-system-monitor.git
cp tiny-system-monitor/src/pico/* <CIRCUITPY DRIVE>

The host part

For the system to work it requires a process to be running in your system collecting the necessary data and sending it to your Tiny System Monitor. It makes use of the psutil library that's mostly cross-platform, but you might want to tweak the configuration.

pip3 install psutil

To get the data about your GPU load and CPU Temperature, you need to create your own implementation as to how to fetch it. I've provided with my example for GPU.

Make sure to change the port your Tiny System Monitor is connected to before running the host, otherwise no data will be updated on the device.

python3 tiny-system-monitor/src/host/run.py

Support the project

If you would like to support what I do and keep me caffeinated, you can do it here:

"Buy Me A Coffee"

tiny-system-monitor's People

Contributors

cdrenteria avatar dr-mod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

tiny-system-monitor's Issues

Incomplete Description / Code?

I might just be to silly to understand, but could it be that you are only showing half of what is needed here?

I browsed your code to see how you are actually getting the system load and other info via USB but all you do is waiting for some data from the pc and then decoding it in lines 242 and following:

raw = usb_cdc.data.read(available)
data = struct.unpack("bbbbIIf", raw)
...

But where is that data coming from? Or does Circuit Python somehow generate this?

non availability of pico display pack

Hope you are okay in currrent difficult situaltions and sorry for being an absolute noob , but could you please help with making this work with the SSD1306 128*64 oled displays , reference link , https://robu.in/product/0-96-inch-yellow-yellow-blue-oled-lcd-led-display-module/ or https://www.amazon.in/IDUINO-SSD1306-Self-Luminous-Display-Raspberry/dp/B0BNWC7X54/ , as the display pack cant be get where i live. It would really useful to get some idea how to make it possible with this generic oled displays, please.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.