Inspiration

IF YOU'RE READING THIS: the device you're using might be disproportionately contributing to the climate crisis.

Energy consumption is something that attributes greatly to climate change (IT energy demand accounts for approximately the same global CO2 emissions as aviation!), but as users doesn't don't have a feel for how much energy they consume, it is difficult to take action.

What it does

We present WattAboutit?!, a custom web socket and online dashboard to inform users and companies how much data they personally consume, with insights on how to reduce it. The web socket tracks the live energy consumption of the computer, and the dashboard display this information live in a friendly format, with a duck mascot that stays happy if you keep within good energy consumption, but gets electrocuted if you use too much ....

The "insights" page will provide AI-driven insights that include the best time to run energy-intensive code, and areas in which you could limit your energy consumption. It could also reveal abnormal activity such as bitcoin mining or no energy usage. We also have features to help businesses understand their energy consumption, which is particularly important under the Energy Efficiency Directive (https://energy.ec.europa.eu/topics/energy-efficiency/energy-efficiency-targets-directive-and-rules/energy-efficiency-directive_en#audit-obligations-technical-competence-requirements-and-investments-reporting) which will soon force European companies to improve their energy efficiency.

We also provide friendly leadboards for each employee, and an admin dashboard so that directors have a comprehensive overview of their company's energy usage.

How we built it

The electronics for the smart wall socket were designed using KiCAD. A circuit schematic was produced using an Analog Devices ADE9153A energy monitor IC. This was developed into a full schematic, with a current transformer to step down the mains current draw to 1/200th of its original value. This current is then sensed by the ADE9153A, which converts this into a power usage statistic. This is communicated over SPI to a Pi Pico, which collects and transmits the data. An AC/DC converter is included to convert power from the mains 230vAC down to 3.3VDC for use by the IC and microcontroller.

Once the schematic was finished, a full PCB was designed using KiCAD's PCB editor. It is a 2-layer FR4 board, with full mains isolation for added safety. As we do not have the required IC, a full electronics prototype couldn't be produced.

For a looks-like prototype, a wall socket was designed using Autodesk Fusion 360, and then printed on a Bambu Labs A1 printer in PLA. The first iteration was printed to check component tolerancing, beforen a second iteration was produced. The second iteration features both a male and female plug socket for power pass through, and space for the designed PCB, along with the required connections to the mains for the board.

We built a backend in Rust, using advanced database technologies like TimescaleDB to ensure highly scalable support. The system is designed to work with thousands of client devices, and has been benchmarked to 1000+ writes per second functioning very smoothly. We used OpenAPI3 to automatically generate bindings for the frontend, speeding up development time and simplifying collaboration. Complex SQL queries were needed for some of the more nuanced lookups (such as departmental leaderboards), which were made possible by Timescale's additional features on top of Postgres.

For the front end, we used React and Tailwind, in combination with custom artwork and designs (made with Affinity Designer) for the webpage.

Challenges we ran into

Tackling the issue of reducing power consumption is broad in scope. Narrowing down our idea into something that could be produced in 24 hours by a team of sleepy students was tough. We used design thinking techniques such as blurting and mindmaps to unite our vision, and conducted agile ceremonies like standups and kept a Jira Kanban up-to-date to control project progress.

Another issue faced was dealing with 3D print scheduling. Ben was making use of his lab's 3D printer, and was providing prints for another team as well. As each print would take multiple hours, being able to turn around design iterations and having them printed within the allocated 24 hours was difficult.

To solve this, we decided to do 2 print runs, the first taking 6 hours, and the second taking 9 hours. Ben notified the other team ahead of time as to when the prints would be sent off, to ensure their CAD designs and .step files were prepared in time, and pipelined his own design process so that our second iteration was being worked on while the first print was running. This meant that downtime on the printer was minimised to maximise the amount of hardware we could produce in time.

Pal was unfortunately taken ill in the early hours of Sunday morning. He is very sleep-deprived but otherwise ok, and we hope he gets well soon!

Accomplishments that we're proud of

We have managed to complete a full mock-up of the front-end, which was a first for our front-end designers!

Getting a full 3D printed web socket was also pretty cool!

What we learned

We learnt a HUGE amount! Each of us had to learn new skills and technologies!

Bella and Caroline used React and Tailwind for the first time to build the front-end from scratch! They had no idea what they were doing but figured it out with the help of some prolonged stack overflow stalking and help from PalGPT (or help from our teammate Pal).

Ben learnt how long it takes to 3D print something with 330 layers, and how much longer that process becomes when you're running on three hours of sleep. Ben has asked us to clarify that what he actually learnt was how much he loves digital callipers

Pal learnt how quickly the human body shuts down after being deprived of sleep for 26 hours, fueled only by bourdon biscuits and Pepsi (he is currently tucked into his little bed and resting up! We are super grateful to Pal and the incredible all-nighter he pulled to help us finish <3)

What's next for WattAboudit?!

Bigger, better, MORE! We want to make our infrastructure support scaling to entire office buildings and beyond, so that organisations can get the data they need to generate meaningful insights that reduce their power consumption. We could then implement our machine-learning-driven insights process.

We would love to perform more iterations on the 3D print, and complete more elec integration.

Finally, we will conduct a round of pre-seed funding via Y Combinator before taking this global.

Built With

Share this project:

Updates