Skip to content

We built a cloud for microcontrollers

March 2026 — Armin

I've been writing firmware and building embedded systems for over a decade, both professionally and as a hobby. MISRA-C for bare-metal servo drives, FreeRTOS on ESP32s, full-stack cloud applications. And while hardware simulation tools have become impressively capable over the years, testing on real hardware is still difficult to replace. And it's still a real pain.

The idea clicked when I was training machine learning models on rented GPUs. Pay by the hour, spin up when you need it, no upfront investment, no hardware to maintain. Easy, quick access to serious computing power.

Why doesn't this exist for microcontrollers? We have cloud instances for every kind of software testing imaginable, but if you need to run firmware on actual silicon, you're still plugging in USB cables and hoping your serial adapter doesn't flake out. If you're on a team, you're sharing boards through Slack messages. If you want CI/CD on real hardware, you're building a custom test rig and babysitting it.

So we started to build flashbay.

The GPU cloud model maps surprisingly well to embedded hardware. MCU boards are small, cheap, and USB-programmable. The hard parts are real-time latency, session isolation, and making it all feel like the board is on your desk.

What it is

Here's what we came up with. flashbay gives you remote access to real MCU development boards — flash firmware, interact via serial, power cycle — all over the internet. The hardware sits in centralized pods, you never touch a cable.

You sign up, pick a board type, and get a session. The session reserves a physical board for you — no one else can touch it until you're done. From there you can flash a firmware binary, open a serial console, and power cycle the board if it hangs. Everything happens in real-time over WebSocket. When you're done, you end the session, the board firmware is automatically wiped and the board goes back to the pool.

There's a web UI if you want to do it in the browser, a CLI for scripting, a Python SDK for test automation, and a REST API if you want to build your own tooling. We also ship a GitHub Action and GitLab CI template so you can plug real hardware into your pipeline with minimal setup.

Three lines in a terminal:

bash
fbay session create --board esp32-s3
fbay flash firmware.bin
fbay serial

Or one step in your CI pipeline:

yaml
- uses: flashbay-dev/action@v1
  with:
    api-key: ${{ secrets.FLASHBAY_API_KEY }}
    board: esp32-s3
    firmware: build/firmware.bin

Your tests run on real silicon, on every push.

How it works under the hood

The architecture is deliberately simple. Pods are small machines with MCU boards connected over USB. Each pod opens an outbound WebSocket tunnel to the coordinator — no static IPs, no port forwarding, no VPN. The pod can sit behind NAT in a closet and it just works.

You ──WSS──▶ Coordinator ──WSS──▶ Pod ──USB──▶ MCU

When you flash firmware, the binary streams through the coordinator to the pod and straight into the MCU via esptool. Nothing is stored server-side. Serial data is proxied in real-time with no buffering — it feels like the board is on your desk.

The coordinator and pod agent are both written in Go — chosen for low-latency WebSocket handling, easy cross-compilation to ARM (pods run on small machines), and the kind of predictable runtime behavior you want when you're proxying real-time hardware data. The coordinator handles auth, billing, session state, and real-time proxying in a single deployment with no external dependencies beyond the database.

Pricing

During the beta, every new account gets 60 free credits and full access to the CLI, SDK, and API — no credit card required. Sessions are capped at 10 minutes. If you need more, you can buy credits at any time. Monthly plans are coming later.

Why we're posting this

This is a Proof of Concept. The basics work, so we're launching it now because we need feedback from real users. We aim for stability, but things may break during the beta — if they do, we apologize in advance and ask you to let us know so we can fix it fast.

We'd like to know: does this solve a real problem for you? What boards do you need? What's missing? What's broken? Is the pricing model reasonable?

Beta users who share detailed feedback will receive extra credits. We're not trying to grow fast right now — we're trying to build the right thing. Reach out at feedback@flashbay.dev. We read every message.

Try the beta at flashbay.dev