Bongo Cat is a cute digital pet that lives on your desk and types along with you! This ESP32-based project displays a charming cat that responds to your typing speed, shows system statistics (CPU, RAM, WPM), and features adorable animations that bring joy to your workspace.
- Real-time Typing Detection - Cat types faster when you type faster
- System Monitoring - Displays CPU usage, RAM usage, and current time
- WPM Tracking - Shows your words per minute in real-time
- Multiple Animations - Various cute expressions and movements
- Sleep Mode - Cat goes to sleep when you're not active
- Customizable Settings - Adjust display preferences and behavior
- Cross-Platform - π Now available on Mac! Windows and macOS support
- Open Source - Complete source code available
- Easy Assembly - No soldering required, around $10 to build
π Mac users can now enjoy Bongo Cat! We've added full macOS support with:
- Native Mac app - Download and install like any other Mac application
- Universal binary - Works on both Intel and Apple Silicon Macs
- Easy installation - Simple drag-and-drop setup with step-by-step guide
- Proper permissions - Seamless integration with macOS security
π₯ Download for Mac | π Mac Installation Guide
You'll need an ESP32 board with 2.4 inch TFT display. We used this board:
ESP32-2432S028R 2.4" TFT Display Board
This board includes:
- ESP32-WROOM-32 module
- 2.4" ILI9341 TFT LCD (240x320 resolution)
- Touch screen capability
- USB-C connector
- All necessary components integrated
- Flash the ESP32: Visit our Web Flasher
- Connect your ESP32 board with 2.4 inch TFT display to your computer's USB port
- Click "Connect" and select your ESP32 device
- Click "Install" and wait for the process to complete
- Open
bongo_cat.ino
in Arduino IDE - Install required libraries (see Configuration section)
- Select your ESP32 board and upload
- Download the Mac DMG file from GitHub Releases
- Follow our detailed Mac Installation Guide
- Enjoy your Bongo Cat with native Mac integration!
- Download the PC application archive:
BongoCat_v1.0.0_Windows.zip
- Extract the ZIP file to a temporary folder
- Run
BongoCat_Setup.exe
from the extracted files - Install and run the application
- The app will automatically find and connect to your ESP32 board
- Check system tray - the app runs in the background
- Right-click tray icon to access settings and configure display options
βββ π animations/ # Animation sprite data
β βββ π body/ # Body movement animations
β βββ π faces/ # Facial expressions
β βββ π paws/ # Paw movement animations
β βββ π effects/ # Special effects (clicks, sleep)
β βββ π table/ # Table/background elements
β βββ π Animation guidelines.md
βββ π bongo_cat_app/ # Desktop companion application (Windows)
β βββ π main.py # Application entry point
β βββ π engine.py # Core logic and serial communication
β βββ π gui.py # Settings GUI
β βββ π tray.py # System tray functionality
β βββ π config.py # Configuration management
β βββ π requirements_app.txt
βββ π bongo-cat-electron/ # π Cross-platform Electron app (Mac & Windows)
β βββ π main.js # Main Electron process
β βββ π MAC_USER_GUIDE.md # Step-by-step Mac installation guide
β βββ π renderer/ # UI components
β βββ π src/ # Core functionality modules
β βββ π package.json # Dependencies and build configuration
βββ π BongoCat_Release/ # Windows installer package
β βββ π BongoCat_Setup.exe # Ready-to-install executable
β βββ π README.md # Installation instructions
β βββ π LICENSE.txt
βββ π web resources/ # Web flasher assets
β βββ πΌοΈ cat1.png, cat2.png # High-quality cat images
β βββ ποΈ typing.gif # Typing animation examples
β βββ ποΈ typing fast.gif # Fast typing animation
β βββ ποΈ sleeping.gif # Sleep mode animation
β βββ πΈ settings.png # Screenshots for documentation
βββ π 3d_printing/ # 3D printable case files (coming soon)
β βββ π case.3mf # 3MF format case file
βββ π bongo_cat.ino # Main ESP32 firmware
βββ π animations_sprites.h # Sprite data header
βββ π lv_conf.h # LVGL configuration
βββ π User_Setup.h # TFT_eSPI library configuration
βββ π Free_Fonts.h # Font definitions
βββ π manifest.json # Web flasher configuration
βββ π LICENSE.txt # MIT License
The Bongo Cat features a sophisticated animation system with multiple states:
- Idle States: Default cat expressions and subtle movements
- Typing States: Paw movements that match your typing speed
- Sleep Mode: Peaceful sleeping animations when inactive
- Special Effects: Click effects and transitions
State | Speed | Description |
---|---|---|
![]() |
Normal | Regular typing animation |
![]() |
Fast | High-speed typing animation |
![]() |
Idle | Sleep mode when inactive |
- Create your sprite data in the
animations/
folder - Update
animations_sprites.h
with new sprite definitions - Modify the animation logic in
bongo_cat.ino
The User_Setup.h
file contains the display configuration for your specific ESP32 board:
#define ESP32_2432S028R // Enable this for the recommended board
#define TFT_MOSI 23
#define TFT_MISO 19
#define TFT_SCLK 18
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST 4
The lv_conf.h
file configures the LVGL graphics library:
- Display resolution: 240x320 pixels
- Color depth: 16-bit
- Animation settings
- Memory allocation
- TFT_eSPI (configured with User_Setup.h)
- LVGL (version 8.x)
- WiFi (for time synchronization)
-
Clone the repository
git clone https://github.com/your-username/bongo-cat-esp32.git
-
ESP32 Firmware
- Open
bongo_cat.ino
in Arduino IDE - Ensure libraries are installed
- Upload to your ESP32
- Open
-
Desktop Application
cd bongo_cat_app pip install -r requirements_app.txt python main.py
- Windows: Use
installer.nsi
with NSIS - Executable: Use
bongo_cat.spec
with PyInstaller
The application runs quietly in your system tray and provides:
- Automatic ESP32 detection and connection
- Real-time data transmission
- System resource monitoring
Customize your Bongo Cat experience:
- Display Options: Choose what information to show
- Sleep Timer: Set inactivity timeout
- Animation Speed: Adjust responsiveness
- Connection Settings: COM port configuration
You can download and 3D print the standing case for this project. It contains .step, .stl and .3mf files available in the 3D printing folder of this repo or from MakerWorld.
We welcome contributions! Here's how to help:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- New animations and sprites
- Additional display layouts
- Case designs and 3D models
- Code optimizations
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE.txt file for details.
- Original Bongo Cat meme creators
- Web Flasher: https://vostoklabs.github.io/Bongo_cat_webflasher/