╔══════════════════════════════════════════════════════════════════════════════╗
║ ____ _ ____ ____ _ _ _ _____ ____ _ _ _____ __ __ ___ _ _ ║
║ / ___/ | _ \ / ___| | | / |___ | | _ \| || ||___ /| \/ |/ _ \| \ | | ║
║ | | | | |_) | | | | | | | / / | | | | || |_ |_ \| |\/| | | | | \| | ║
║ | |___| | _ <| |___| |_| | | / / | |_| |__ _|__) | | | | |_| | |\ | ║
║ \____|_|_| \_\\____|\___/|_|/_/ |____/ |_||____/|_| |_|\___/|_| \_| ║
╚══════════════════════════════════════════════════════════════════════════════╝
Version 0.0.2 | CircuitPython Daemon for Embedded Displays
C1RCU17_D43M0N is a cyberpunk-inspired, CircuitPython-based daemon designed for small embedded devices with displays. It behaves like a living digital entity: always running, always watching, and driven by an internal state loop.
No more manual pin assignments! Just select your board and display:
BOARD = "pico_2w"
SCREEN = "waveshare_lcd_1.3"
RTC = "ds3231"- 13 Supported Boards: Pico W/2W, Pimoroni Pico Lipo 2, ESP32 variants, and more
- 12 Display Types: OLEDs (SSD1306, SH1106, SH1107), Color LCDs (ST7789, ILI9341), integrated displays
- 5 RTC Modules: DS3231, PCF8523, DS1307, RV3028, PCF8563 with battery backup
- Automatic Pin Resolution: Logical names (
I2C_SDA,SPI_MOSI) map to board-specific pins - Offline Mode: WiFi detection with graceful degradation for boards without connectivity
- Dynamic Display Support: Face animation adapts to any screen size (240×240, 320×240, 240×135)
For offline boards, set time via REPL:
>>> from datetime import quick_set_time
>>> quick_set_time()Time persists across power cycles with RTC battery backup!
- Cross-platform support for RP2040/RP2350, ESP32 families
- Multi-display support:
- Monochrome I2C OLEDs (SSD1306, SH1106, SH1107)
- Color LCDs (ST7789, ILI9341)
- Waveshare Pico LCDs (0.96", 1.3", 1.44", 2")
- Integrated displays (MacroPad, ESP32 Reverse TFT)
- Animated eye-based UI with smooth idle motion and blinking
- Persistent main loop (daemon-style architecture)
- Hardware abstraction - swap boards by changing 3 lines in settings.toml
- ✅ Clock with RTC support - DS3231, PCF8523, and more with battery backup
- ✅ Weather display when network connectivity is available
- ✅ Hardware configuration system - automatic pin resolution
- ✅ Offline mode - works without WiFi on battery-powered boards
- 🚧 Alarm functionality (planned)
- 🚧 Notification framework (planned)
- 🚧 Tamagotchi-like core mechanics (planned)
- 🚧 Expandable mini-games for small screens (planned):
- Snake
- Dino Run
- Breakout
- Asteroids
A daemon never sleeps.
C1RCU17_D43M0N is built around the idea of a continuously running loop that blends utility, personality, and play.
It is not just an application, but a presence on the device—part system monitor, part companion, part arcade.
- Touch Screen Support - Interactive UI for Sunton displays (CYD)
- Battery Monitoring - Display battery level on boards with BAT_SENSE pins (Pimoroni Pico Lipo 2, etc.)
- Additional Display Drivers - ILI9341, ST7735, and more color LCD support
- Enhanced Animation Patterns - More personality expressions for the eye UI
- RTC Integration in Main Loop - Dynamic time updates without full NTP sync
- Web Configuration Interface - Browser-based settings editor over WiFi
- OTA Updates - Over-the-air firmware updates for network-enabled boards
- Custom Icons & Themes - User-uploadable sprites and color schemes
- Buzzer & Vibration Support - Haptic feedback and audio alerts
- Screen-based Button Configuration - Visual button mapping for user actions
- Alarm System - Persistent alarms with customizable actions
- Notification Framework - MQTT/HTTP webhooks for external event triggers
- Tamagotchi Mechanics - Interactive companion with mood states and needs
- Mini-games - Snake, Dino Run, Breakout, Asteroids
- Multi-device synchronization (shared state across multiple daemons)
- Custom scripting engine for user-defined behaviors
- Sensor integration (temperature, motion, light)
- E-ink display support for ultra-low power deployments
- Modular plugin architecture for community extensions