Files
pico-clock/README.md
T
gballan 5e00c5c8ed
ci/woodpecker/push/woodpecker Pipeline was successful
[Issue #2] - Updating README with timezone info
2026-09-11 00:31:11 -04:00

3.4 KiB

Pico Clock

Woodpecker CI badge shields.io version badge

Raspberry Pi Pico clock app for an SSD1306 display module.

Made in Go with TinyGo.

Hardware

The following hardware is what I used for a deployment:

Most (or all?) of these components can be swapped for equivalent components. You just need to make sure the code is compatible with whatever board you choose (not likely), and an SSD1306 display.

Support for other hardware types may come in the future, but if there's a specific board or display module you're interested in then submit an issue or pull request!

Tested On

This app has been tested to work on the following microcontrollers:

  • Raspberry Pi Pico 2W
  • Raspberry Pi Pico W

Prototyping

To help with debugging/testing deployments, I also used these components:

Software Deployment

Requirements

  • TinyGo - TinyGo installation guide

Configuration

While Pico Clock supports timezones, the TinyGo environment doesn't include the IANA database for timezones. This means that each timezone has to be manually added in the code. If you would like a timezone added, open an issue and I will look into adding it.

Currently the list of supported timezones is:

  • UTC - No timezone offset
  • US/Eastern - Dynamic DST timezone for US Eastern; alias ET
  • US/Central - Dynamic DST timezone for US Eastern; alias CT
  • US/Mountain - Dynamic DST timezone for US Eastern; alias MT
  • US/Pacific - Dynamic DST timezone for US Eastern; alias PT
  • EST - Static set -5 offset (no DST change).
  • EDT - Static set -4 offset (no DST change).
  • CST - Static set -6 offset (no DST change).
  • CDT - Static set -4 offset (no DST change).
  • MST - Static set -7 offset (no DST change).
  • MDT - Static set -5 offset (no DST change).
  • PST - Static set -8 offset (no DST change).
  • PDT - Static set -7 offset (no DST change).

Steps

  1. Clone this git repository git clone https://git.metaunix.net/BitGoblin/pico-weather.
  2. Copy config.go.example to config.go and modify the values to match your environment.
  3. Hold down the BOOTSEL button on your Raspberry Pi Pico 2W.
  4. Plug in your Pico to a USB port on your PC.
  5. Wait 2-3 seconds then release the BOOTSEL button.
  6. Flash the program to the Pico: tinygo flash -target=pico2-w .. Or tinygo flash -target=pico-w .
    1. Note: On Pop!_OS I needed to open the file browser and mount the RP2350 partition manually while tinygo was attempting the flash, otherwise it would fail.
  7. Monitor the app: tinygo monitor.

At this point, you should be able to deploy this. Unplug the Pico, connect your SSD1306 display and power it back on - you should see some messages about it booting up and connecting to Wi-Fi, then it should display the time.

License

This project is made available under the BSD 3-Clause license.