Raspberry Pi Pico Virtual Pet
A Tamagotchi-like virtual pet that you can interact with and take care of.
Author: Craciun Denisa-Gabriela
GitHub Project Link: link_to_github
Description
My goal is to make a Tamagotchi-like virtual pet using the Raspberry Pi Pico. The pet will appear in the middle of the screen and will have four "needs": energy, hunger, health and happiness. The interface will consist of two toolbar menus, one on the top and one on the bottom, that are navigable using the three buttons. Using the options in the toolbar, you can:
- feed (↑ hunger + health + happiness)
- turn off light => the pet falls asleep (↑ energy + health)
- clean poop (↑ health + happiness)
- give medicine (↑ energy + health)
- play (↑ health + happiness, ↓ energy)
- check stats
All the stats will decrease over time and, when low enough, the pet will die.
Motivation
I always wanted a Tamagotchi when I was little but never got one. I was recently reminded of them, so I wanted to recreate the concept on my own.
Architecture
The main component is the program running on the Raspberry Pi Pico W. The subcomponents are the LCD that is showcasing the interface and the animated pet and the buttons that are used to interact with the pet.
Log
Week 6 - 12 May
I purchased the components needed for the project and drew the initial Kicad design.
Week 7 - 19 May
I designed the interface, drawing icons for each interaction and editing a sprite of my favorite Pokemon, Quagsire, to act as my pet. I also made an animation for it by looping two sprites.
Week 20 - 26 May
Hardware
Detail in a few words the hardware used.
Schematics
Bill of Materials
Device | Usage | Price |
---|---|---|
Rapspberry Pi Pico W | The microcontroller | 35 RON |
Breadboard HQ (830P) | Platform | 10 RON |
Cables (M-M) | Wire connections | 8 RON |
LCD Module 128x128 px | Display | 28 RON |
Buttons | Input | 1 RON |
Total cost = 82 RON |
Software
Library | Description | Usage |
---|---|---|
st7735 | Display driver for ST7735 | Used for the display for the LCD |
embedded-graphics | 2D graphics library | Used for drawing to the display |