A developer pet project, a small ESP32 based device with an OLED display buttons. It connects to your computer via Bluetooth where you need to run the backend which communicates with the device via serial.
To keep your virtual pet alive and happy, you need to be active on GitHub by creating issues, pull requests, and commits. The more active you are, the healthier your pet will be. You also need to make the pet happy by listening to music on Spotify or playing the integrated minigame. Oh and don't forget to feed it with coffee regularly! ☕
To get started, you need to flash the ESP32 using the instructions from the DevPet repository if your ESP32 isn't yet flashed. Then you can pair the Bluetooth device "DevPet" from your computer. You then need to setup the tokens for API fetching for both GitHub and Spotify and run the backend using the instructions from the DevPet Backend repository.
This project have been build as a part of my studies at Hexagone School
Repository | Description |
---|---|
DevPet Meta | Instructions, 3D models, schemas, explanations |
DevPet | ESP32 code |
DevPet Backend | NodeJS serial backend code |
Name | Description | Link |
---|---|---|
ESP32 | Microcontroler | |
SSD1306 | OLED 128x64 monochrome 0.96" display | Az-Delivery |
Button x3 | 12x12x7.3mm push buttons | Amazon FR |
Description |
---|
STL Files |
3MF File (from Bambu Studio) |
Fusion360 Archive |
Fusion360 Cloud Project |
The final project have been printed on a Bambu Lab X1E using an ABS filament and a 0.4mm nozzle.
A paper box have been built to contain the DevPet.
You can find the ODG file here
- GitHub (source code hosting, CI, project management ❤️)
- PlatformIO (embed development toolkit)
- image2cpp (bitmap to C++ array converter)
- Octicons (many GitHub icons source)
- ASCII Draw (backend startup logo)
- Marp (Markdown presentations)
- Fusion 360 (modeling of 3D printed parts)
- GIMP (many textures)
- LibreSprite (the dinosaur sprites)
- LibreOffice Draw (paper box design)
- @Eladji for providing me the Fusion360 models for the base components
- @AKArien0 for the inspiration for the embed input handler
- My friend @Klhmt for the main dinosaur sprites and animations