Skip to content

RasTacsko/CircuitDaemon

Repository files navigation

╔══════════════════════════════════════════════════════════════════════════════╗
║   ____ _ ____   ____ _   _ _ _____     ____  _  _  _____ __  __  ___  _   _  ║
║  / ___/ |  _ \ / ___| | | / |___  |   |  _ \| || ||___ /|  \/  |/ _ \| \ | | ║
║ | |   | | |_) | |   | | | | |  / /    | | | | || |_ |_ \| |\/| | | | |  \| | ║
║ | |___| |  _ <| |___| |_| | | / /     | |_| |__   _|__) | |  | | |_| | |\  | ║
║  \____|_|_| \_\\____|\___/|_|/_/      |____/   |_||____/|_|  |_|\___/|_| \_| ║
╚══════════════════════════════════════════════════════════════════════════════╝

C1RCU17_D43M0N

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.

🎯 What's New in v0.0.2

Hardware Configuration System

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)

Manual Time Setting

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!

Overview

  • 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

Features

  • 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

Design Philosophy

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.

🗺️ Roadmap

Version 0.0.3 (Near-term)

  • 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

Version 0.1.0 (Future)

  • 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

Long-term Vision

  • 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages