Instructables user [Jan] likes to keep close tabs on his computer’s memory usage, but wanted something more interesting to look at than the standard resource manager. He preferred to have an external display available that would show his computer’s status with a quick glance, and thus this system monitor was born.
His status panel contains a trio of constantly updated LED bars that show his computer’s CPU usage, available physical memory, and virtual memory consumption. With a small footprint being a priority, [Jan] kept the indicator’s size down by using SMD components and by including an on-board UART to USB converter to go along with his ATTiny microcontroller.
He uses a Python script to gather usage information from his computer, feeding it to his display over USB. The system works pretty well as you can see in the video below, though the virtual memory indicator doesn’t seem to get a ton of action – perhaps it could be used to indicate hard drive activity instead.
If you are looking to build something similar, [Jan] has made all of his code and schematics available for anyone’s use.
[youtube=http://www.youtube.com/watch?v=LU2NwO662H4&w=470]
Nice!
I like how he’s included the virtual memory. I’m working on a similar project and hadn’t thought to include the virtual memory.
[Blatant self promotion]
http://waitwhatquestionmark.wordpress.com/2011/05/18/new-project-analog-cpu-and-ram-usage-meters/
http://waitwhatquestionmark.wordpress.com/2011/05/27/analog-ram-and-cpu-meters-update/
http://waitwhatquestionmark.wordpress.com/2011/06/24/updates-projects-and-new-toys/
[/Blatant self promotion]
Quite a nice little gadget, I’d buy one :)
It would be nice to compile this down from Python to something like C++. I feel Python takes a lot more time and resources than something not interpreted. It could be a lot faster in it’s polling process.
It’s just a simple status indicator so the speed difference must be negligible. However, some people find Python code much nicer to write and maintain.
I don’t think speed would be the only reason to compile this. I would want it compiled to reduce resource usage. Although, seeing as the machine doesn’t get into virtual memory, that may not be so much of a problem.
Now, if this were on a linux box, it could be compiled as a kernal module…
And I do agree with juice, Python would probably be easier to write and maintain.
Is there an equivalent chip I’d have an easier time soldering onto a bigger board?
Wouldn’t it have been better to use the virtual usb firmwares for the atinys if he was concerned about footprint?
Virtual mem might not have a lot of action, but when it does change it’s a good thing to be aware of, so that actually makes it a good choice for an external display you could argue.
Bit like a smoke alarm you could say, just sits there, but when it makes itself known it’s good to have the info because something is going on that might need some attention.
Oh I’d like to add that this is a pretty good job, seemingly simple but nice and complete including links to the required python modules and code for the chip and schematics and PCB layout, and even an updated dual-core python script in the comments, so different from many articles lately that often just have a site where a guy tells he made something and that’s it.
Kudos to the author JanW.
I like it, and would like to see it done with non-SMD parts and PCB, then our local Linux club could have a “build night”.
A neat project, I’m strongly tempted to build one.
I think that I’d just make one change: for audio/volume applications, you can get the 10 element LED bar displays in green/yellow/red instead of a single color. My taste for slightly over-dramatic blinkenlights would be much more gratified if it were possible to drive the system ‘into the red’…
If this guy made this himself and wrote the software… I think he could sell it to computer manufacturers or produce them himself. Even if it was an insert for a FDD/CD bay I would buy it. Useful for server info at a glance and I TOTALLY see something like this embedded in a computer case :)
Very ingenius. Is there a kit to buy ? I dont see where to find the info to make one or an outline for the plans.