Close
0%
0%

ESP32 Epaper Virtual Pet

This is a project for a conventional 510 threaded vaporizer battery that has a status screen made of Epaper

Public Chat
Similar projects worth following
The epaper screen is the display. The original Face is is a test and the actual graphics will be the bunny in the other pic.

epaper virtual pet HUGE update

ESP32 Virtual Pet ESP32 Virtual Pet Overview :

This is my ESP32-based virtual pet project that combines hardware tinkering with nostalgic digital pet gameplay. I created this project to explore e-paper display technology while building something fun and interactive.

The virtual pet lives on a 1.54" Waveshare e-paper display and features animations, score tracking, battery management, and time display. Your pet reacts to button presses and can be interacted with through a custom menu system. There will eventually be more I/O options.

 To build your own, you'll need:

ESP32 development board Waveshare 1.54" e-Paper display module 2× Push buttons Jumper wires Micro USB cable 3D printed case (optional) Software Dependencies The project uses the following libraries:

Arduino core for ESP32 Waveshare e-Paper ESP32 driver library ESP32 WiFi libraries SNTP (Simple Network Time Protocol) How It Works I designed the program with several key components:

Time Management The ESP32 connects to WiFi and synchronizes time with NTP servers. I added a custom 12-hour time format display since the Waveshare library only supports 24-hour format by default. The time is shown at the bottom of the screen and updates every second.

Button Interaction:

 Two buttons control the interface:

The main button wakes up the pet, increases your score, and selects menu items A double-click on the main button opens the settings menu The scroll button navigates through menu options Menu System I implemented a simple menu system that lets you:

Reset your score Reset the battery level Exit the menu The menu is designed to be expandable for future features.

Battery Simulation A virtual battery indicator shows in the top status bar. The battery gradually depletes over time to simulate a real virtual pet. You can recharge it through the menu.

Installation Clone this repository or download the source code Install the required libraries through Arduino Library Manager Connect your ESP32 to the e-paper display according to the pin definitions Update the WiFi credentials in the code Compile and upload to your ESP32 Configuration Adjust these constants to customize behavior:

Usage Power on the device Wait for WiFi connection and time synchronization Press the main button to interact with your pet Double-click to enter the menu Use the scroll button to navigate menu options Press the main button to select a menu item Enjoy watching your virtual pet animate! Technical Notes The program uses the ESP32's SPI interface to communicate with the e-paper display. I implemented partial refresh mode to improve animation performance, though e-paper displays are still relatively slow compared to traditional LCDs.

The power consumption is very low due to the e-paper display's ability to maintain an image without power. This makes it perfect for battery-powered applications.

Future Improvements I'm planning to add:

More pet animations and interactions Mini-games to earn points Custom pet naming Battery-saving sleep mode Weather display integration License This project is open source and available under the MIT License.

Built with ❤️ by me

IMG_8670.mov

just a movie showing whats up

quicktime - 24.76 MB - 09/28/2024 at 09:43

Download

  • 1 × Waveshare epaper dev module 1.54" 200x200 epaper screen with partial refresh
  • 1 × Inland ESP32 dev module

  • ANOTHER UPDATEEEEE

    TheCatwoman06/24/2025 at 17:13 0 comments

    Big Update: We Got Sponsored by PCBWay!

    Super excited to share that we got sponsored by PCBWay! The folks over there were incredibly helpful and walked me through the process of getting my PCB printed and shipped honestly couldn’t have done it without them.

    Since this was my very first time designing a PCB, I was kind of overwhelmed and had no idea where to start.

    To keep things manageable, I decided to make the first version of the board pretty straightforward. Rather than designing a complex schematic with all new components, I focused on simply connecting the discrete parts I already had just a clean layout of wires and pads to solder everything together.

    “I’m all about biting off more than I can chew sometimes… but I still have to swallow it either way.”
    – someone wiser than me, probably

    That quote randomly came up at my old job, but it stuck with me and it really captures the spirit of this project.

    For this board, I knew I’d need holes to mount the ESP32 dev board, spots for two buttons, and space for the coil. The idea was to make a super simple, clean board that would tie everything together nicely.

    That was the plan. Here's what I came up with:

    As you can see, there are vertical rows of holes for the ESP32, horizontal ones for the e-paper display, and space for the coil and two buttons (those little 3-hole clusters). I felt like a genius for a moment and sent it off to PCBWay to work their magic.

    Oh and I picked this awesome purple color for the board. It doesn’t add anything technically, but it definitely earns some serious style points. Check it out:

    Isn’t it beautiful?? PCBWay absolutely crushed it.

    Now, one thing I didn’t initially think about was the BMS (Battery Management System). The vapes I’d been salvaging had their own built-in regulation, but I realized I’d need to design something myself to integrate power management directly onto the board.

    That said the board does work, and it is beautiful. This version has been a huge step forward.

    Since getting it back, I’ve also cleaned up and reorganized the code. The next version of the PCB will be even better with all the components integrated from the start, and way less soldering after the fact.

    Wrapping It Up

    This part of the project has been a huge learning experience. I honestly don’t think I would’ve pushed myself this far if it weren’t for PCBWay’s support. Just hearing that they were interested in backing the project gave me a real sense of validation like, okay, maybe I am on the right track.

    Massive thanks to PCBWay for helping bring this to life. I’m seriously hyped to work with them again on the next phase!

View project log

Enjoy this project?

Share

Discussions

neatloaf7 wrote 03/05/2025 at 18:10 point

Are you using an off the shelf vape battery or will you be doing a custom coil and bms? Cool project, might try taking apart my pen style battery and see if I can hook up a dev board to it haha

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates