Bouke Groenescheij

My personal adventures in the quest for virtual perfectness.

  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that have been used in the blog.
  • Login
    Login Login form

uMU, my Raspberry Pi vSphere monitor

  • Font size: Larger Smaller
  • Hits: 36448
  • 1 Comment
  • Subscribe to this entry
  • Print

Yesterday I tweeted a picture showing off my Raspberry Pi with bi coloured LEDs (Red and Green). I've always wanted something to put on my desk, with LEDs, checking vCenters and/or ESX(i) hosts. After experimenting with the Arduino, I knew this system would be a stand alone application (requiring something like an external VM, doing the checks, sending the Arduino the status). I wanted a standalone device, as small like the Arduino, capable of checks against vCenter. As you all know, the Raspberry Pi is suitable for that task.

Goals in mind

While having my thoughts run freely, I knew I wanted something:

- that would be small (small enough to fit inside a stock case);

- have like 16 Red/Green leds (so that makes 32 outputs);

- flexible programming;

- some buttons for input;

- easy to create while keeping costs low.

Hardware used

I've used a stock Raspberry Pi, a clear case from RS, 16 Red/Green common cathode LEDs, 4 74HC595 shift registers2 tumbler switches with jumpback (acting as a button), 32 220 ohms resistors, wire, 2 10k pull down resistors for the switches. That's just over 10 euro's of extra hardware, beside the Pi, case, SD card and power supply.


Programming was done in Python. There is an API for vSphere, called pyshere. I used wiringpi for python as it was an easy to 'translate' from Arduino to Raspberry Pi GPIO. I'm only using 3 pins controlling the 74HC595 shift registers. There is an *excellent* tutorial you can find here. You can find my script here. Please note I've just starting to learn Python for this project (never programmed Python before). Though syntax is quite easy, not everything is done in a 'Pythonic' way. I'll extend and improve the script in the future. So stay tuned (and tell me your improvements!).

In action

Please check this video to see it in action.

Future plans

I've got wild ideas extending the script checking servers using protocols like 'ping', 'ldap', 'mysql', 'mssql'. But also showing like the load of an host or VM (CPU load on top row, Memory load on bottom row).

Also, the current running through the shift registers is a bit too high. They seem to hold up pretty well until now (I've done a one week burn in test lighting all leds, both red and green at the same time). But if they burn out, they are easy to replace. I am looking into using RGB common anode LEDs, using the TI TLC5940 Led driver. However, this would drive the total price of the board much higher. I'm also developing a PCB, see if I can sell this thing as a shield for the Pi. Let me know if you are interested.

If you like this project, be sure to check out Richard Garsthagen his "Alarm Box". Using both Arduino and Raspberry Pi in a awesome case showing load, just brilliant!

Last modified on
Trackback URL for this blog entry.


Leave your comment

Guest Thursday, 21 September 2017