Inspiration

We were inspired at first by the coin acceptor component we saw while scrolling through the parts list on the Ideahacks website. However, as we all agreed, we thought it would be a great idea to incorporate the classic piggy bank with a refurbished UI as well as modern technology.

What it does

The Smart Piggy Bank allows users to connect to the internet, and input any of their desired items to purchase. By using serpapi, the website is able to search for a reasonably priced match to the input, and send this information to the in-device microcontrollers to display on the screens. The multiple screens on the Smart Piggy Bank provide users with all the information required to function, such as current money stored, progress on certain items on the wishlist, and a interactive touchscreen to cycle between items.

How we built it

The frame of the Smart Piggy Bank was laser cut using the UCLA Makerspace laser cutters. The various displays were secured using bolts, and the breadboards within the body were secured with hot glued blocks. Our dispensing pig was 3d printed and controlled with a motor. To control the different displays, an esp32 was used, specifically using SPI protocol. The coin acceptor was pre-programmed to accept quarters, dimes, and nickels.

Challenges we ran into

SPI Conflict Management: Controlling multiple displays and components with a single ESP32 using the SPI protocol proved tricky. We had to carefully manage the Chip Select (CS) pins to ensure the microcontroller wasn't sending "garbage" data to the wrong screen during high-speed updates.

Accomplishments that we're proud of

We successfully bridged the gap between a web-based API (SerpApi) and physical hardware. Creating a physical reward mechanism (the 3D-printed pig) adds a level of tactile feedback that makes saving money feel more rewarding than just watching numbers change on a phone app.

What we learned

We learned how to handle JSON data from the web and strip it down to the essentials (item name and price) to fit the limited memory of an ESP32. Designing an interface for a small touchscreen taught us to prioritize high-contrast text and large touch targets for better usability.

What's next for Smart Piggy Bank

We want to build a dedicated app so users can add items to their wishlist while on the go, rather than using a static web interface. We also want to add more effects based on how close the user is to their item goal.

Built With

Share this project:

Updates