- Animated Expressions — 6 emotion GIFs (anger, disdain, horror, excited, sad, idle) played randomly on a 1.47" IPS screen
- Shake to Wake — LSM6DS3TRC accelerometer detects motion; auto-dims after 10s of inactivity
- Charging Animation — Displays a battery animation when USB-C is plugged in
- Ultra Low Power — Screen off during idle, wakes instantly on shake
- 3D-Printed Enclosure — Cat-ear design with Rhino source files and print-ready STLs
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Component | Spec |
|---|---|
| MCU | ESP32-C3FN4 |
| Display | 1.47" IPS ST7789 (172×320) |
| IMU | LSM6DS3TRC (6-axis) |
| Charging | TP4057, USB-C |
| Battery | 3.7V Li-Po |
| PCB Thickness | 0.8mm |
Schematic
PCB Layout
pocket/
├── src/
│ ├── Arduino/
│ │ ├── Pocket.ino # Arduino firmware
│ │ └── partitions.csv # ESP32 partition table
│ ├── filesystem/
│ │ ├── flash.bat # SPIFFS flash script
│ │ └── FS/
│ │ ├── spiffs.py # SPIFFS image generator
│ │ ├── UpLoad.py # Serial upload tool
│ │ └── SPIFFS/ # GIF assets for firmware
│ └── Emoji/ # After Effects animation sources
├── hardware/
│ ├── ProPrj_ESP32C3_Pendant_JLC.epro2 # EasyEDA Pro PCB project (JLC)
│ ├── model.3dm # Rhino 3D model
│ ├── shell.stl # Enclosure (print-ready)
│ └── back-cover.stl # Back cover (print-ready)
├── libs/ # Arduino library dependencies
├── images/ # Photos & screenshots
└── README.md
Extract the archives in libs/ to your Arduino libraries folder, or install via Arduino Library Manager:
- Arduino_GFX_Library — Display driver
- Adafruit_LSM6DS — IMU driver
- AnimatedGIF — GIF decoder (install via Library Manager)
- Open
src/Arduino/Pocket.inoin Arduino IDE - Select board: ESP32C3 Dev Module
- Set partition scheme to use the custom
partitions.csv - Upload
Requires Python. Install the dependency first:
pip install esptoolThen run the flash script:
cd src/filesystem
flash.batThis generates a SPIFFS image from the GIF files and uploads it to the ESP32-C3.
| Emotion | GIF File | Trigger |
|---|---|---|
| Anger | anger.gif |
Random on wake |
| Disdain | disdain.gif |
Random on wake |
| Excited | excited.gif |
Random on wake |
| Sad | once.gif |
Random on wake |
| Idle | twece.gif |
Random on wake |
| Charging | charge.gif |
USB-C plugged in |
MIT License









