···18- Small Phillips screwdriver
1920> [!IMPORTANT] Good WiFi needed
21-> These tiny devices have tiny WiFi antennas. You'll need good signal wherever you hang your calendar. There are [variants with antennas](https://www.adafruit.com/product/5348) you may want to try!
2223<details>
24<summary>Don't have a QT Py ESP32-S3? Considering other boards?</summary>
···2728Things to consider when picking another device:
2930-- It'll need Wifi (obviously)
31- This code has been built for ESP32 hardware, you'll likely need to make significant changes if you want to use a different platform
32- Watch for space: the height between the rear & front boards of the calendar isn't much, and the width between the foam padding and the wooden edge of the calendar is small too
33- my QT Py gives off a fair amount of heat (it holds a constant WiFi connection), don't use a board that can't cope with that
34- You don't need a Qwiic connector, you can hardwire I2C lines if that's easier
35- The esp32's program/sketch is quite large (~1MB for my esp32-s3), don't skimp on program space!
03637You'll need to change the `board` in `platformio.ini` to match whatever you go for.
38···154- **Sync not working**
155156 Check the serial monitor (`pio device monitor -e esp32sync`) for error messages. If it works at your desk, but not on your wall, your WiFi may also not be strong enough for this little device at that location. There are QT Py ESP32 devices with [external antennas](https://www.adafruit.com/product/5348) that may help here?
00000000157158## Built on top of [The Every Day Calendar](https://yetch.studio/products/every-day-goal-calendar)
159
···18- Small Phillips screwdriver
1920> [!IMPORTANT] Good WiFi needed
21+> These tiny devices have tiny WiFi antennas. You'll need good signal wherever you hang your calendar. There are [variants with antennas](https://www.adafruit.com/product/5348) you may want to try, but I've not been able to get these working with the firmware just yet!
2223<details>
24<summary>Don't have a QT Py ESP32-S3? Considering other boards?</summary>
···2728Things to consider when picking another device:
2930+- Naturally, it'll need WiFi
31- This code has been built for ESP32 hardware, you'll likely need to make significant changes if you want to use a different platform
32- Watch for space: the height between the rear & front boards of the calendar isn't much, and the width between the foam padding and the wooden edge of the calendar is small too
33- my QT Py gives off a fair amount of heat (it holds a constant WiFi connection), don't use a board that can't cope with that
34- You don't need a Qwiic connector, you can hardwire I2C lines if that's easier
35- The esp32's program/sketch is quite large (~1MB for my esp32-s3), don't skimp on program space!
36+- I've struggled to get the QT Py ESP32-S2 working — but I'm working on it, as teh u.FL antenna for WiFi is very handy!
3738You'll need to change the `board` in `platformio.ini` to match whatever you go for.
39···155- **Sync not working**
156157 Check the serial monitor (`pio device monitor -e esp32sync`) for error messages. If it works at your desk, but not on your wall, your WiFi may also not be strong enough for this little device at that location. There are QT Py ESP32 devices with [external antennas](https://www.adafruit.com/product/5348) that may help here?
158+159+- **Four corners flashing**
160+161+ If the four corner days (Jan & Dec 1st & 31st) are flashing alternately once per second, then the ESP32 hasn't been able to connect to the internet.
162+163+ As soon as the connection is established, you'll see a 'raindrop' pattern ripple across the LEDs. (This happens on boot, and after being disconnected from the internet for over 1 minute).
164+165+ If you don't see a raindrop animation after boot _and_ the corners aren't flashing, then calendar can't find the ESP32 to communicate with. Try reflashing the ESP32, and checking the connections are sturdy & not connected to more than one pad.
166167## Built on top of [The Every Day Calendar](https://yetch.studio/products/every-day-goal-calendar)
168
+1
firmware/esp32/GoalsGardenSync/web_server.cpp
···183 }
184185 html += F("<button type=\"submit\" id=\"save-btn\" disabled><span class=\"btn-text\">Save Selection</span><span class=\"spinner\"></span></button>");
0186 html += F("</form>");
187 html += F("<script>");
188 html += F("var f=document.getElementById('goal-form'),b=document.getElementById('save-btn');");
···183 }
184185 html += F("<button type=\"submit\" id=\"save-btn\" disabled><span class=\"btn-text\">Save Selection</span><span class=\"spinner\"></span></button>");
186+ html += F("<p style=\"color:#888;font-size:0.85em;text-align:center;text-wrap:balance;margin-top:16px\">If your goal is missing, make sure you've migrated your account on <a href=\"https://goals.garden\" target=\"_blank\" style=\"color:inherit\">goals.garden</a>.</p>");
187 html += F("</form>");
188 html += F("<script>");
189 html += F("var f=document.getElementById('goal-form'),b=document.getElementById('save-btn');");