frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: I serve my website with a swarm of ESP32 microcontrollers on a shelf

https://github.com/Novotarskyi/ivan-bohun
3•disco_jack•2h ago

Comments

disco_jack•2h ago
My personal website, https://kyrylonovotarskyi.com, is served with a swarm of six ESP32-S3 microcontrollers sitting on a shelf in a London flat. No CDN in front, no Cloud behind, no hosting provider, no Raspberry Pis. The whole rack, screens and fans included, draws about 22 watts. It survives pulling any individual plug in it, including the leader's, recovering in under four seconds.

The only hard constraint for this project: the serving path is microcontrollers only. Nothing with a Linux kernel anywhere near a request. Using a Pi would have been prudent, but where's the fun in that?

Going full cyberpunk is what made it interesting.

Four £12 (~$16) LILYGO T-ETH-Lite (ESP32-S3 with wired Ethernet) blades share one public identity - a locally administered vMAC address plus a LAN IP the router forwards to. Whoever wins the election writes that MAC into its own Ethernet controller and announces it with a gratuitous ARP. Failover is fast because nothing upstream actually learns anything. The election runs over encrypted ESP-NOW radio (so cool!), off the wire. Hence, a cable or a switch failure cannot split the brain that decides who owns the cable. The elected fleet leader does not serve: it acts as a layer-4 TCP splicer, relaying raw bytes to whichever blade has the fewest connections in flight, delegating TLS termination downstream. If the leader goes down, the next elected blade takes the mask and balances to what remains. If a single survivor blade is up, it starts splicing to itself over loopback. Two more boards with screens narrate everything happening in the system - every election, every reboot and its cause - hearing the same 1 Hz radio heartbeats as everyone else.

Please be gentle with it: there is a very real ceiling on how much TLS termination an ESP32 can physically do. A fresh HTTPS connection costs ~650 ms of P-256 handshake; the fleet takes about 2.9-3.0 new visitors per second before the queue forms. Warm connections return in ~40-60 ms at ~40-50 RPS. If the site is slow, chances are it's not the machines struggling - it's you, sitting in a queue behind the rest of this thread.

Claude did most of the typing on this project. This post is mine, however. To my surprise, it proved much less capable at this kind of software than I expected, and performed extremely poorly at designing anything for the physical world. The division of labour we've settled on: I decide what is true and what ships. Every measurement came off my bench, every disaster happened to my actual hardware, and the solder burns are mine.

The whole build is open source - the firmware, the OpenSCADs, and a build guide that starts at the first solder joint and ends with a fleet holding an election: https://github.com/Novotarskyi/ivan-bohun

The full story - the lore, the wedged-TCP-stack hunt, and how I learned to solder - is in the repo's STORY.md: https://github.com/Novotarskyi/ivan-bohun/blob/main/STORY.md

Show HN: A website for exploring historical photographs of my city

https://yesterdays.maprva.org/
16•uneekname•2d ago•6 comments

Show HN: Rent vs. buy, backtested across 241 US metros with pinned data

https://github.com/assumptionsshown/RunTheNumbers
3•newroots•41m ago•0 comments

Show HN: Ember – Redshift safe color palettes

https://github.com/carpdiem/ember
80•carpdiem•5d ago•17 comments

Show HN: Mole – Deep research agent for your terminal

https://github.com/lajosdeme/mole
58•lajosdeme•10h ago•9 comments

Show HN: LuaCAD – Parametric CAD Scripted in Lua

https://luacad.ad-si.com
87•adius•12h ago•17 comments

Show HN: I serve my website with a swarm of ESP32 microcontrollers on a shelf

https://github.com/Novotarskyi/ivan-bohun
3•disco_jack•2h ago•1 comments

Show HN: C# Game Engine with its own scripting language and IDE

https://github.com/ArcadeMakerSources/ArcadeMaker
108•am-gm•3d ago•55 comments

Show HN: Mocktail – Free, open-source mock API server with a built-in dashboard

https://getmocktail.com/
6•hhaluk•8h ago•0 comments

Show HN: Dictata – Local Whisper dictation with LLM cleanup

https://github.com/AntoineChatry/Dictata
3•AntoineC_•4h ago•0 comments

Show HN: Nikon F100 Film Camera Repair Notes

https://github.com/enthdegree/f100
5•enthdegree•4h ago•1 comments

Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

https://github.com/JustVugg/lumabri
44•vforno•1d ago•18 comments

Show HN: Bloxwap – The Easiest Way to Trade

https://bloxwap.com/trade/HYPE
3•joeblau•5h ago•0 comments

Show HN: Banquish – Take other websites apart and build your own

https://banquish.space
7•ghboo0927•9h ago•0 comments

Show HN: Is AI Dumber Today? An index of AI model experience from user's opinion

https://isaidumber.today/
14•schafberg•15h ago•6 comments

Show HN: Online SNMP MIB database - upload/view your own MIBs

https://mib-viewer.com/
13•beefstew123•13h ago•0 comments

Show HN: Rdio – an open-source internet radio control suite

https://rdio-docs.vercel.app
19•taqibrahim•17h ago•3 comments

Show HN: Lambdock – Wayland-native GTK4 dock with a live Lisp REPL

https://codeberg.org/jjba23/lambdock
39•jjba23•3d ago•1 comments

Show HN: Procedural Generated Grafitti Wall

https://procgrafprot.vercel.app/wall
6•whtspc64•9h ago•0 comments

Show HN: AletheionAGI – Grounding enforcement for AI agents

https://www.aletheionagi.com
5•felipemayamuniz•9h ago•1 comments

Show HN: Musical social media site where you can throw tomatoes at each other

https://mazurka.cafe/
2•Ambroza•6h ago•1 comments

Show HN: Mininote: Instant, plain-text note taking without tracking or lock-in

https://mininote.ink/
21•helba-ai•13h ago•3 comments

Show HN: MCP Memory – Fast Agent Memory Using Google's OKF and SQLite FTS5

https://github.com/fellowgeek/mcp-memory
62•pcbmaker20•1d ago•35 comments

Show HN: A simple, powerful, and cheaper email verification API

https://emailverifier.dev/
2•usamaejaz•8h ago•1 comments

Show HN: Artifex - Graph Based GPU Harness for AI Agents

https://gatewai.studio/artifex
7•oknaslnkn•16h ago•0 comments

Show HN: Wevna – Local-first runtime dashboard for Node.js back ends

https://github.com/wevna/wevna
3•boluajy•8h ago•0 comments

Show HN: Made a business license hub search tool

https://fernway.io/license-search
3•leyu00•8h ago•2 comments

Show HN: Hacker News minus the slop

https://hnfiltered.com/
4•potatopotaro•9h ago•1 comments

Show HN: E3d-pilot – a repo-improving agent harness, SHA-gated merges

https://github.com/spacepacket1/e3d-pilot
4•spacepacket•9h ago•0 comments

Show HN: Streambench – Native Mac Client for Kafka and NATS

https://streambench.app
2•valentinprgnd•9h ago•1 comments

Show HN: Agentic Task Management

https://github.com/myaa2913/agentic-task-management/tree/main
4•mcorrito•9h ago•0 comments