2.4 KiB
2.4 KiB
MicroPython variant for ESP32C3
This firmware is designed to run on ESP32-C3 boards using MicroPython. It drives a Nixie tube clock with high refresh rate, advanced dimming, and blending effects, leveraging the ESP32's RMT peripheral for precise timing
Highlights
- High Refresh Rate: Smooth, flicker-free display using RMT hardware
- Dimming & Blending: Configurable night mode brightness and digit blending transitions
- Configurable via
config.py: All major settings can be overridden by uploading aconfig.pyfile - NTP Synchronization: Periodically syncs time with NTP servers
- Timezone & DST Support: Adjustable timezone and daylight saving settings
Configuration Options
You can override any of these defaults by uploading a config.py file:
CONFIG_TIMEZONE: Timezone offset from UTC (default: 2)CONFIG_DAYLIGHT_SAVING_ENABLED: Enable/disable DST (default: True)CONFIG_NTP_SYNC_INTERVAL_HOURS: NTP sync interval (default: 24)CONFIG_DIMMING_ENABLED: Enable night dimming (default: True)CONFIG_DIMMING_BRIGHTNESS: Night brightness (default: 0.4)CONFIG_DIMMING_START: Dimming start hour (default: 15)CONFIG_DIMMING_END: Dimming end hour (default: 6)CONFIG_DIMMING_GAMMA: Dimming gamma correction (default: 2.2)CONFIG_BLENDING_ENABLED: Enable digit blending (default: True)CONFIG_BLENDING_DURATION: Blending duration in ms (default: 150)CONFIG_NETWORKS: Dictionary of SSIDs and passwords for auto-connect
Features
- WiFi Auto-Connect: Scans and connects to known networks
- NTP Time Sync: Sets system time via NTP after WiFi connection
- Display Modes: Time, date, and temperature rendering functions
- RMT-Based Display: Uses ESP32 RMT for precise display timing
- Night Mode: Automatic dimming based on configured hours
- Blending: Smooth digit transitions for improved aesthetics
Usage
- Flash MicroPython to your ESP32-C3 board
- Upload
main.pyand (optionally)config.pyto the device - Reboot the board. The clock will auto-connect to WiFi, sync time, and start displaying
Notes
- The firmware is intended for advanced users familiar with MicroPython and ESP32 hardware
- For custom settings, create and upload a
config.pyfile with your overrides - RMT and SPI pin assignments are set for typical Nixie clock hardware; adjust as needed for your build
For more details, see the source code and