THIS 50 DOLLARS DIY GADGET PUTS 5 ROUND SCREENS ON YOUR DESK SHOWING EVERYTHING YOU TRACK

Five round TFT displays cycling weather, stocks, clocks and parcel tracking — all driven by a single ESP32 board you flash yourself.

by Brett Tech

FULL CAD BOM FIRMWARE DOCS

DisplaysHome

difficulty
●●○○○
time
an evening
license
AGPL-3.0
repo
repo ACTIVE413 stars

WHAT YOU’LL NEED

  • 3D printer + filamentprintable parts — files are in the repo
  • Electronic partsfull list with part numbers in the repo BOM
  • Dev board / microcontrollerruns the project firmware

Partner

Reach your Pi from anywhereRemote desktop to the machine running this build — no port forwarding, works right from the browser.Try Getscreen.me
1

COMPAREE VERDICT

Info Orbs is a desk-glanceable widget platform: five cheap round displays on one microcontroller, showing whatever you configure. The hardware is straightforward — wire five SPI displays to an ESP32, print a stand, flash firmware — and the code is modular enough that adding a new widget (a stock ticker, a calendar, a server uptime monitor) means writing one small class. The catch is that every data source needs an API key or a scraper, so your first evening is less 'plug and enjoy' and more 'sign up for OpenWeatherMap, find a stocks API that still has a free tier, and wrestle with timezone offsets'. If you already have those accounts or enjoy that kind of setup, this is a weekend well spent. If you expected it to work out of the box, you will be disappointed before you even solder. The single biggest trap is buying the wrong displays — search results for 'GC9A01' return half a dozen pinout variants, and only some match the wiring diagram. The most likely thing to go wrong is one screen staying black because you connected CS to the wrong GPIO.

NOT IN THE REPO

  • Repository contains STL files for the 3D-printed stand, PlatformIO firmware source, widget configuration examples and wiring diagrams.
  • Bill of materials lists five GC9A01 round TFT displays (about $4 each), one ESP32-WROOM-32 board, jumper wires and a USB power supply.
  • No pre-compiled binaries — you flash with PlatformIO or Arduino IDE after editing config.h to add your WiFi credentials and API keys.
  • Documentation covers initial setup, adding new widgets and troubleshooting display initialization failures.
  • License is AGPL-3.0, which requires that derivative works and network services using this code also be open-sourced.
  • No commercial restrictions on building or selling the hardware itself, but software modifications must remain open.

Can I build this?

PrintOne stand STL (supports all five displays), print time about 4-6 hours in PLA
BuyFive GC9A01 round TFT displays, one ESP32-WROOM-32 board, jumper wires, USB power supply — total cost $40-70 depending on where you source the displays
Tools3D printer, soldering iron (optional — some builders use jumper wires only), PlatformIO or Arduino IDE, API keys for data sources (OpenWeatherMap, stock API, etc.)
SkillsBasic ESP32 flashing and WiFi setup; ability to edit config files and troubleshoot SPI wiring. No soldering required if you use pre-wired jumpers.
TimeTwo to four hours: one hour for printing the stand, one hour for wiring and flashing, one to two hours hunting down API keys and debugging widget configs
Cost$$ — displays dominate the cost; cheap AliExpress lots bring it to $40, name-brand suppliers push it toward $70
SafetyNo mains voltage, no lithium charging circuit, no lasers. Standard low-voltage electronics care applies.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Blu-ray drive, 10 Gbps hub and card reader in one boxPartner · Kickstarter
Blu-ray drive, 10 Gbps hub and card reader in one box

BluHub reads and burns Blu-ray/DVD/CD, adds USB-C, USB-A, SD/TF and 10 Gbps data — plug and play, grand-piano finish.

See the hub

Gallery

https://media.wired.com/photos/685f81aaa51a6738a68aa30c/191:100/w_1280,c_limit/Best%20Home%20Office%20Gear_.png
https://media.wired.com/photos/685e9aac332997ce2f04fd63/master/w_1600%2Cc_limit/DSC_4730.jpg

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the README and check the parts list (Verify your ESP32 board variant matches the wiring diagram — some clones swap GPIO pins.)
  2. 2.Print the stand(Single STL, no supports needed, 0.2mm layer height works fine.)
  3. 3.Wire the displays before you flash anything (Double-check the CS pin assignments — one wrong connection and you will spend an hour debugging a blank screen.)
  4. 4.Edit config.h with your WiFi and API keys, then flash (PlatformIO is the supported path; Arduino IDE works but you may need to manually install the TFT_eSPI library.)

KNOWN ISSUES

  • Not all GC9A01 displays ship with the same pinout — compare your boards to the repository photos before you wire anything, or you will burn an evening chasing a mistake that looks like broken firmware.
  • The firmware expects specific GPIO pins for each display's chip-select line. Swapping them in config.h without also changing TFT_eSPI's User_Setup.h causes random screens to stay off or flicker.
  • Every widget that fetches live data needs an API key. Free tiers for weather and stocks exist, but hunting them down and signing up takes longer than the actual build.
  • If you power the ESP32 from USB and the displays from a separate 5V rail, you must connect grounds — a floating ground is the second most common 'it does not work' mistake after wrong wiring.
  • The stand STL assumes you are using the exact 1.28-inch round displays in the BOM. Larger or smaller screens will not fit without modifying the CAD, which is not included in the repository.
  • AGPL-3.0 means that if you modify the code and run it as a network service (e.g. a cloud dashboard backend), you must open-source your changes. Building the hardware for personal use or sale has no such restriction.

Can I use a different microcontroller, like an ESP8266 or a Raspberry Pi Pico?

The code is written for ESP32 and relies on its dual-core architecture and specific GPIO count. Porting to ESP8266 would require rewriting the display driver; Pico support is theoretically possible but not documented.

Do I have to use all five displays, or can I build a smaller version?

The firmware supports one to five displays — just comment out the unused ones in config.h. You would need to modify or print a different stand for fewer screens.

What happens if my WiFi goes down?

Widgets that require network data will freeze or show stale values. The clock widget continues running because it uses the ESP32's internal RTC (synced at boot via NTP).

How do I add a new widget, like a GitHub stars counter or a Twitch viewer count?

Write a new class that inherits from the base Widget class, implement the update() and draw() methods, add it to the widget rotation in main.cpp. Examples are in the widgets/ folder.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

Five displays for $40-70 in parts, one evening of wiring and flashing — what would your five widgets show?

CompareeTEAM24d agoedited

Practical notes from our verification: the repository was created recently and does not yet have a star count or detailed commit history visible in our snapshot, so we cannot confirm active community contributions. The Instagram reel and press mentions (Wired, BGR, Yanko Design) reference the project but do not link to live builder galleries or a dedicated project page outside GitHub. The single biggest variable in cost is display sourcing — AliExpress lots of five GC9A01 screens run $20-25 shipped, while buying individually from Adafruit or similar pushes the total past $60. No pre-made PCB exists; this is a jumper-wire or point-to-point solder build, which keeps the barrier low but means your desk widget will have visible wiring unless you design an enclosure yourself.

Brett Tech

Brett Tech builds open-hardware desk widgets and home automation projects. Info Orbs started as a personal need for at-a-glance data that did not require opening a browser tab, and the modular widget system came from wanting to add new data sources without rewriting the entire firmware.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.