Midwest Data Visualization Project:
I would like to begin my project by thanking my wonderful partner, Scarlet, who helped me through the Physical Aspects of this project. It was amazing working with her and we both learned a lot of things together, communication being the most important.
For the theme "Harvesting Light", Scarlet and I chose to do a world Climate Conference with individuals watching a presenter draw a contrast between fossil fuels and green energy. The individuals watching are ambassadors from different countries working to reduce pollution and improve their green energy presence. The LED bar represents green energy, creating light, and emphasizing it's renewable power; the analog gauge represents fossil fuels and it's more traditional sense of power. The digital VS. analog approach I took when designing this was another way to further contrast these two energy sources and really let green energy shine.
LED and SERVO Motor Config:
Designing an analog servo that displayed gauge data and an LED light bar that changed based off green energy production wasn't an easy feat to conquer. I spent a few days of the project time frame using a digital caliper and taking measurements of both the box and the frame I'd house my electronics in. Fortunately, with my background in 3D Printing, it was fairly easy and I only had to create two prototypes.
I fastened the motor to the frame through a tight fitment that the 3D Printed frame had; this made it fairly straightforward and all I needed to do was calibrate the servo motor once it was turned on, so it'd correctly displayed the data.
The LED bar was from NeoPixel, I had measured the correct distance to cut so that I could solder it and made sure that my fusion 360 Design reflected that. I hot glued the LED bar to the frame to make sure that it wouldn't move once placed. Soldering was actually a very enjoyable part of the project, I learned how to correctly use flux and solder very tiny components (most of them break quite easily).
SERVO MotorData/Interactives:
With the preface of my project focusing on an analog gauge for fossil fuels, I decided to use the USA E.I.A. Energy API to pull production numbers of all the Fossil Fuel production. After finding the correct data set (Midwest), I found a graph that updates annually, on the website, that allowed me to create a range for lowest and highest Fossil Fuel Production during the day.
The dataset I used gave yearly fossil fuel production values for the Midwest, so I took that range and scaled it to fit my physical gauge. I mapped the lowest and highest values to a 0–180° rotation so the stepper motor could show changes in fossil fuel usage in a way you can actually see.
Getting the needle to line up correctly took some trial and error. I added a mechanical offset so that when the system starts, the needle points to the right spot on the gauge. Once everything is calibrated, every time new data comes in from the Particle webhook, the system reads the fossil fuel value, converts it into an angle, and moves the motor to match.
I liked using a physical gauge for this because it feels more old-school and mechanical, which matches the idea of fossil fuels being a more traditional energy source!
LED Data/Interactives:For renewable energy, I wanted something that felt more modern and alive, so I used a NeoPixel LED strip. The water energy data controls how many LEDs light up, so higher production means more light.
I also used color to make it easier to understand:
- Red = low energy
- Yellow = medium
- Green = high
So instead of reading numbers, you can just glance at it and immediately get a sense of what’s happening. The LEDs update quickly and feel a lot more dynamic, which reflects how renewable energy is growing and changing.
Final Reflection:Putting both systems together creates a clear contrast. The analog gauge is slower and more mechanical, while the LED bar is bright, fast, and flexible. That difference is intentional; it shows how energy is shifting from older systems to newer ones:)















_3u05Tpwasz.png?auto=compress%2Cformat&w=40&h=40&fit=fillmax&bg=fff&dpr=2)
Comments