## Internet steam gauge: a pressure gauge to display internet usage #piday #raspberrypi @Raspberry_Pi

Check out this cool project from Ed Konowal. Via Hack a day.

Internet usage is typically measured in Mb/s (Megabits per second) and dispalyed as a graph on a monitor or smartphone. In this project I’ve taken the same data and translated it to a real world gauge. A steam pressure gauge from the early 20th century.

Data is collected by polling an Internet router, in this case the router for the Vancouver Convention Center. The data is converted to a 0-200 scale to match the steps on the pressure gauge. Next the data is sent to a microcontroller which moves a servo to the appropriate postion. The servo is connected to the needle of the pressure gauge.

While this seems relatively straight forward, it required a lot of trial and error and adjustments to get accurate physical movement that matched the Internet usage data.

The most interesting thing in this entire project was the realization that Interenet usage statistics are usually averaged over a longer period of time. The Internet Steam Gauge checks utilizaiton every 10 seconds and is therefore more accurate than most monitoring systems…

I renewed my project in 2013 satisfied that it needed to be a wired device. I didn’t want to run it from my home computer, I wanted it to be portable… maybe a cheap laptop. Cheap. hmm… I recalled a hobby computer called Raspberry Pi. I’d been playing with Linux for a couple of years so it seemed like a good fit. Next I needed a programming language to read the Internet bandwidth and send it to my servo. I’d always wanted to learn Python, ok Python it is.

The RasPi has connections to drive the servo directly. So this will be simple, connect the servo, a little programming, and done. Wrong.

Learning a new language is challanging but the real problem came when my servo developed a smilar jitter problem as my original wireless design. The problem this time was the computer itself. The RasPi is a hobby computer, designed to be inexpensive for learning. It is not very fast. The interrupts from the normal RasPi operations created enough inconsistancy in the servo output to cause the jitter. The solution was another device, an Arduino microcontroller to drive the servo.

My first thought was to use the Arduino by itself, why even connect the RasPi? The Arduino can run code but you have to tell it everything you want it to do. That’s a problem because Arduino doesn’t know the current bandwidth. To get the bandwidth I need to poll my Internet router via SNMP. Arduino can respond to SNMP, but I could find nothing that allowed it to make SNMP queries. It might be possible but I don’t know how. So my Arduino knowledge (zero), needed to be expanded. Weeks of small aggravating problems like why did I loose my serial connection, or did I just brick my Arduino, unexpected reboots, etc. It was fun-aggravating-fun.

But in the end, I found no way for the Arduino to read the bandwidth directly from my router. Instead, the RasPi will read the data and pass it to the Arduino.

Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!