Roni Bandini — Buenos Aires, Argentina — November 2023
XIAO Round Internet Time is a desktop clock that brings back the late-1990s idea of Internet Time: replacing hours and minutes with a universal day divided into 1,000 .beats.
The project is built with a Seeed Studio XIAO nRF52840 and the Seeed Studio Round Display for XIAO.
It pays tribute to the story of Charly Alberti, drummer of Soda Stereo, who proposed his own Internet-oriented time system called i-Time in Argentina in 1998, shortly before Swatch introduced its .beat Internet Time concept.
The clock displays:
@458.32
instead of a conventional time such as:
12:59
- ⌚ Swatch-style Internet Time display
- 🥁 Tribute to Charly Alberti's 1998 i-Time concept
- 🔢 1,000
.beatsper day - 🕐 BM8563 hardware Real Time Clock
- 🖥️ 1.28" circular 240×240 TFT
- 🎨 Embedded PNG graphics
- 🔤 Custom Noto Sans fonts
- 🔋 Battery-compatible Round Display
- 🧱 Custom 3D-printed desktop stand
- 📡 No Internet connection required during operation
- 🔌 XIAO + display plug-and-play hardware
Swatch Internet Time divides a complete day into:
1000 .beats
Therefore:
1 day = 1000 beats
1 beat = 86.4 seconds
Examples:
| Conventional time at UTC+1 | Internet Time |
|---|---|
| 00:00 | @000 |
| 06:00 | @250 |
| 12:00 | @500 |
| 18:00 | @750 |
| 24:00 | @000 |
Unlike ordinary local time, .beats were conceived as a common reference for people communicating through the Internet.
Background:
👉 Swatch Internet Time — Wikipedia
In 1998, Argentine musician Charly Alberti, drummer of Soda Stereo, promoted an Internet-oriented universal time concept called i-Time.
The project included a website where users could check the common Internet hour.
This clock was created as a physical tribute to that story, using the circular format of the XIAO display to evoke late-1990s Internet watches.
Full background in Spanish:
👉 El Internet Time de Charly Alberti — Medium
Project story and construction:
👉 The Curious Case of (Swatch?) Internet Time — Hackaday.io
flowchart LR
SET["🕐 Set UTC+1 Time"]
RTC["⏱️ BM8563 RTC"]
XIAO["🧠 XIAO nRF52840"]
CALC["🔢 Convert to .beats"]
PNG["🎨 Embedded PNG"]
TFT["⌚ 240×240 Round Display"]
SET --> RTC
RTC --> XIAO
XIAO --> CALC
PNG --> XIAO
CALC --> TFT
XIAO --> TFT
The nRF52840 version does not require Wi-Fi.
Time is entered once before uploading the sketch and then maintained by the BM8563 RTC integrated into the Round Display.
The conversion is very simple.
The number of seconds elapsed since midnight in UTC+1 is:
seconds =
hour × 3600
+ minute × 60
+ seconds
Since one .beat equals 86.4 seconds:
beats = seconds / 86.4
The firmware implements exactly this:
float myBeats =
(
3600 * timeStruct.hours +
60 * timeStruct.minutes +
timeStruct.seconds
) / 86.4;For example:
UTC+1 = 03:30:00
(3 × 3600 + 30 × 60) / 86.4
12600 / 86.4
≈ @145.83
| Component | Quantity |
|---|---|
| Seeed Studio XIAO nRF52840 | 1 |
| Round Display for XIAO | 1 |
| USB-C cable / power bank | 1 |
| 3D-printed stand | Optional |
No wiring is required between the XIAO and Round Display.
The XIAO simply plugs into the rear connector.
The Seeed Studio XIAO nRF52840 is based on the Nordic nRF52840.
| Specification | Value |
|---|---|
| CPU | ARM Cortex-M4F |
| Clock | 64 MHz |
| RAM | 256 KB |
| Internal Flash | 1 MB |
| Onboard Flash | 2 MB |
| Wireless | Bluetooth LE / NFC |
| Size | 21 × 17.8 mm |
The project does not use Bluetooth; the board acts as the clock controller and graphics processor.
The Seeed Studio Round Display provides most of the hardware required by the project.
| Specification | Value |
|---|---|
| Display | 1.28" circular TFT |
| Resolution | 240 × 240 |
| Colors | 65K |
| Touch | Capacitive |
| RTC | BM8563 |
| Storage | TF / microSD up to 32 GB |
| Battery charging | Integrated |
| Diameter | 39 mm |
The onboard RTC is particularly useful because the XIAO nRF52840 itself does not need to retrieve time from the Internet.
Before uploading the sketch, check the current UTC+1 time:
👉 Current UTC+1 time — Time.is
Then edit:
uint8_t h = 13;
uint8_t m = 44;
uint8_t s = 40;During startup:
timeStruct.hours = h;
timeStruct.minutes = m;
timeStruct.seconds = s;
rtc.setTime(&timeStruct);
rtc.begin();Afterwards, the clock reads the BM8563 using:
rtc.getTime(&timeStruct);The default refresh interval is:
int refreshSeconds = 5000;Every five seconds the sketch:
- Reads the RTC.
- Calculates
.beats. - Loads the background image.
- Draws the Internet Time.
- Draws the conventional UTC+1 time.
- Waits five seconds.
- Repeats.
flowchart TD
RTC["Read BM8563 RTC"]
CALC["Calculate .beats"]
BG["Load Background PNG"]
BEAT["Draw @xxx.xx"]
TIME["Draw Conventional Time"]
WAIT["Wait 5 seconds"]
RTC --> CALC
CALC --> BG
BG --> BEAT
BEAT --> TIME
TIME --> WAIT
WAIT --> RTC
The repository contains two graphics converted into C header arrays:
The firmware loads them directly from flash:
png.openFLASH(
(uint8_t *)itime,
sizeof(itime),
pngDraw
);PNG decoding uses:
The display background graphics used in the original project were generated with DALL·E and converted into embedded image arrays.
Two custom Noto Sans fonts are included:
The larger font displays .beats:
tft.loadFont(NotoSansBold36);
tft.drawString(
"@" + String(myBeats),
40,
100
);The smaller font displays conventional time near the bottom of the screen.
Install the following libraries:
👉 Seeed-Studio/Seeed_Arduino_RoundDisplay
Official setup guide:
👉 Getting Started with Round Display for XIAO
In:
File
→ Preferences
→ Additional Boards Manager URLs
add:
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
Then:
Tools
→ Board
→ Boards Manager
search:
seeed nrf52
and install the Seeed nRF52 boards package.
Complete instructions:
👉 XIAO nRF52840 Getting Started
The original project includes the configuration files required for the Round Display:
Seeed's Round Display library documents the TFT_eSPI and LVGL configuration here:
👉 Seeed Arduino Round Display — GitHub
Clone:
git clone https://github.com/ronibandini/XiaoRoundInternetHour.git
cd XiaoRoundInternetHourRepository:
👉 github.com/ronibandini/XiaoRoundInternetHour
Open:
Set the current UTC+1 time, connect the XIAO nRF52840 and upload.
Serial Monitor runs at:
115200 baud
Startup output includes:
Internet Time Beats Clock
with XIAO Round TFT and nrf52840
Roni Bandini, 11/2023
XiaoRoundInternetHour/
│
├── itime1.ino
├── charly.h
├── itime.h
│
├── NotoSansBold15.h
├── NotoSansBold36.h
│
├── User_Setup_Select.h
├── lv_conf.h
│
├── README.md
└── LICENSE
- ⌚
itime1.ino— main clock firmware - 🥁
charly.h— startup graphic - 🎨
itime.h— Internet Time background - 🔤
NotoSansBold36.h— main font - 🔧
User_Setup_Select.h— TFT configuration - ⚖️
LICENSE— MIT License
A custom desktop stand was designed for the Round Display and a cylindrical power bank.
It consists of two STL files:
Base.stl
InternetTime.stl
The original model was designed for PLA printing.
👉 XIAO Round Display TFT Internet Time Stand — Cults3D
An alternative is simply mounting the clock on a helping-hands soldering stand for a more industrial appearance.
Hackaday featured the project in November 2023.
👉 Swatch Internet-Time Clock Doesn't Miss A Beat — Hackaday
Hackster covered the XIAO nRF52840 implementation, .beats, Round Display, RTC and generated graphics.
👉 Roni Bandini's Nordic nRF52840 Desk Clock Brings Back Internet Time — Hackster.io
Complete construction tutorial and historical background:
👉 The Curious Case of (Swatch?) Internet Time — Hackaday.io
Spanish-language article about Charly Alberti, i-Time, Swatch and the clock:
👉 El Internet Time de Charly Alberti — Medium
Build article with parts, .beat formula, RTC configuration and enclosure:
👉 Swatch Retro Internet Time Clock with XIAO Round Display — PCBWay
Hardware documentation:
👉 Seeed Arduino Round Display Library
Machine Learning motion classification using the same XIAO nRF52840 Sense platform.
👉 github.com/ronibandini/XIAOnRF52840TireCare
Conway's Game of Life running on the Arduino UNO R4 WiFi onboard LED matrix.
👉 github.com/ronibandini/GameOfLifeUNOR4
TinyML soccer forecasting with Arduino UNO R4 Minima and Edge Impulse.
👉 github.com/ronibandini/soccerForecast
Contracultura Maker is a book by Roni Bandini about maker culture, experimental electronics, AI, physical computing and technological autonomy.
📂 Contracultura Maker — GitHub repository
📕 Download Contracultura Maker PDF
Roni Bandini Maker · AI Developer · Writer Buenos Aires, Argentina
- 🐙 GitHub — @ronibandini
- 🌐 Medium — @ronibandini
- 𝕏 X / Twitter — @RoniBandini
- 📸 Instagram — @ronibandini
▶️ YouTube — @RoniBandini- 💼 LinkedIn — Roni Bandini
Built with ⌚ + .beats + XIAO + a bit of 1998 Internet history.