Upgraded firmware for Simone Giertz's Every Day Calendar that links an ATProto-powered ESP32, for sync with goals.garden 🌱
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update README with PlatformIO instructions

- Add quick start guide for PlatformIO builds
- Document ESP32 goals.garden sync setup and configuration
- Document hardware wiring for WiFi sync
- Reorganize to highlight fork features
- Keep Arduino IDE instructions as alternative

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+61 -29
+61 -29
README.md
··· 1 - # foolmoron's Fork 2 - Changes: 3 - - VSCode setup - all you need is the Arduino extension, and do `Arduino: Upload`. The libraries will be copied automatically. 4 - - Simplified brightness button - pressing darken/brigthen will fully turn off/on the lights with one tap. 5 - - Light wave effect when turning on a light - animates a wave of brightness across the columns. 6 - - Starburst effect when turning on a light - animates lights around the one you touched, like fireworks. 1 + # Every Day Calendar (Fork) 7 2 8 - # The Every Day Calendar 3 + This fork adds WiFi sync with [goals.garden](https://goals.garden) via an ESP32 co-processor, plus visual enhancements. 9 4 10 - ![edc](/images/edc.gif) 5 + ## Features 11 6 12 - ## Overview 7 + **New in this fork:** 13 8 14 - This repository contains firmware and schematics of the [Every Day Calendar](https://www.kickstarter.com/projects/simonegiertz/the-every-day-calendar) project. 9 + - WiFi sync with goals.garden (ATProto) via ESP32-S2 co-processor 10 + - Real-time updates via Jetstream WebSocket 11 + - Simplified brightness buttons (single tap for on/off) 12 + - Light wave animation when enabling a day 13 + - Starburst animation around touched lights 15 14 16 - Please note that this is a finished project. The files are provided as is and we will not be maintaining this repository. 15 + ## Quick Start (PlatformIO) 17 16 17 + This project uses [PlatformIO](https://platformio.org/) for building and uploading firmware. 18 18 19 - ## Installation 19 + ### Building the Calendar Firmware 20 20 21 - To download the firmware and schematic files, run the following command on your terminal: 21 + ```bash 22 + pio run -e calendar 23 + pio run -e calendar -t upload 24 + ``` 22 25 26 + ### Building the ESP32 Sync Firmware 23 27 24 - git clone https://gitlab.com/simonegiertz/the-every-day-calendar.git 25 - ## Firmware 28 + 1. Copy the config template and fill in your credentials: 26 29 27 - ### Connecting the Every Day Calendar to the Arduino IDE 30 + ```bash 31 + cp firmware/esp32/GoalsGardenSync/config.local.h.example \ 32 + firmware/esp32/GoalsGardenSync/config.local.h 33 + ``` 28 34 29 - 1. Power on the Every Day Calendar with a 5V adapter and connect the calendar to your computer using a USB Type-B to USB Typ-A cable. 35 + 2. Edit `config.local.h` with your WiFi and Bluesky credentials: 30 36 31 - 2. Open the Arduino IDE 37 + ```cpp 38 + #define WIFI_SSID "your-wifi-ssid" 39 + #define WIFI_PASSWORD "your-wifi-password" 40 + #define BLUESKY_IDENTIFIER "your-handle.bsky.social" 41 + #define BLUESKY_APP_PASSWORD "xxxx-xxxx-xxxx-xxxx" 42 + #define GOAL_URI "at://did:plc:xxx/garden.goals.goal/xxx" 43 + ``` 44 + 45 + 3. Build and upload: 46 + 47 + ```bash 48 + pio run -e esp32sync 49 + pio run -e esp32sync -t upload 50 + ``` 51 + 52 + ### Hardware Setup for WiFi Sync 32 53 33 - - Configure the board type to **Arduino Pro or Pro Mini** 54 + Connect an ESP32-S2 (e.g., Adafruit QT Py) to the calendar's "Unused I/O" header: 55 + 56 + - Calendar A2 (TX) -> ESP32 RX 57 + - Calendar A3 (RX) -> ESP32 TX 58 + - GND -> GND 59 + - 3.3V -> 3.3V 60 + 61 + The ESP32 will be available at `everydaycalendar.local` on your network. 62 + 63 + --- 34 64 35 - ![board_config](/images/board_config.png) 65 + ## The Every Day Calendar (Original) 36 66 37 - - Configure the processor and clock speed to **Atmega328P (3.3V, 8MHz)** 67 + ![edc](/images/edc.gif) 38 68 39 - ![clockconfig](/images/clockconfig.png) 69 + ## Overview 40 70 41 - ### Installing Arduino Libraries 71 + This repository contains firmware and schematics of the [Every Day Calendar](https://www.kickstarter.com/projects/simonegiertz/the-every-day-calendar) project. 42 72 43 - 1. Copy the contents of this repository's *firmware > libraries* directory into your computer's Arduino libraries folder. 73 + ## Alternative: Arduino IDE 44 74 45 - - Typically that's located in **Documents/Arduino/libraries** 75 + If you prefer the Arduino IDE over PlatformIO: 46 76 47 - **Note:** If more instruction is needed, follow Arduino's guide: https://www.arduino.cc/en/guide/libraries 77 + 1. Power on the Every Day Calendar with a 5V adapter and connect via USB Type-B cable. 48 78 49 - To test and see if the custom libraries are working, you can run our sample code provided in the *firmware > sketches* directory of this Github repository. Simply upload one of the sample code files onto the calendar using the Arduino IDE, open the **Serial Monitor** and set the baud rate to **9600**. 79 + 2. Configure the Arduino IDE: 80 + - Board: **Arduino Pro or Pro Mini** 81 + - Processor: **ATmega328P (3.3V, 8MHz)** 50 82 51 - ![serialmonitor](/images/serialmonitor.png) 83 + 3. Copy the contents of `firmware/libraries` to your Arduino libraries folder (typically `Documents/Arduino/libraries`). 52 84 53 - Once everything is working, you're ready to play with the Every Day Calendar! Have fun! 85 + 4. Open and upload `firmware/sketches/EverydayCalendar/EverydayCalendar.ino`. 54 86 55 87 ## License 56 88