Prototypes in production · founding reservations open

NOBD-ZERO

The most over-engineered fightstick PCB ever designed.

Dual MCU. One controller.

A flagship fightstick PCB: dual MCU, open firmware, native retro consoles, up to 16 kHz USB target, designed to outspec the category. It also fixes a real bug. The classics ran in sync with their hardware, frame by frame. On modern hardware they fall out of sync: fast polling and the game’s once-per-frame read split your two-button intent across a frame boundary, dropping an input. A tunable sync window puts both back on the same frame.

The Founding 100 lock $150 · $199 after

The Founding 100 lock $150 · retail $199 · no payment now · non-binding

16 kHz
USB-HS · target
~40 kHz
LAN mode · target ↗
Dual MCU
RP2040 + STM32
Native
Retro
loading model…

drag to rotate · NOBD-ZERO pre-prototype

Proof, in motion

Watch the drop. Then watch it land.

Same stick, same two-button input. With sync off, the second press is dropped and the move never comes out. Turn sync on and both land. This is the open NOBD fix running live, not a render.

the second button vanishes
both register, every time

Captured on a real fightstick · Marvel vs Capcom 2 · tap to enlarge

Why we built it

You pressed two buttons. A jab came out.

That is a real, measurable bug. On the classics, run on modern hardware, 1000 Hz polling can split two near-simultaneous presses across a frame boundary, so one input drops and the move you meant never comes. We found it, measured it, and removed it with a tunable sync window.

The only variable left is you.

The finger gap

No human presses two buttons at the same instant.

In our testing, two fingers land 2 to 8 ms apart. That gap is human, not sloppiness. A 1000 Hz stick reports it one millisecond at a time, so a 3 ms split goes out as three reports with only the first button down, before your hand has finished the press.

Why it matters

Think of a camera that snaps one photo per frame. If your two presses land on either side of the shutter, the photo only catches the first one.

Measure your own gap

One game frame · 16.67 ms · one read, by design

first 6 ms ↓
…rest of the frame

Your whole input should land inside one frame. On synced hardware, it did.

Zoom in · USB reports at 1000 Hz · 1 ms each

↓ intent starts (LP)
↓ HP lands · complete
LP
1 ms
LP
2 ms
LP
3 ms
LP+HP
4 ms
LP+HP
5 ms
LP+HP
6 ms
3 polls = half your intent
now both register

If the frame's one read lands in those first 3 ms, the game sees LP only and your move dies. The original hardware read you once per frame, so your whole input had a full 16 ms to land together. Sub-ms polling reports your intent before it has finished forming.

It's the classics

A decades-old game, running on hardware it was never built for.

These games were built for arcade boards and consoles, where everything moved to one clock. The screen refreshed at 60 Hz, the game ran at 60 frames a second, and the controller was read once per frame, all locked into the same beat. That is why old consoles felt so consistent. Your two buttons, a few milliseconds apart, got swept into the same read and came out together. It just worked. You never had to think about it.

Then the games left that hardware. On a modern PC, emulator, or Fightcade, your stick and the game no longer share one clock, and your inputs take a longer, looser path before the game looks. Those same two buttons can land on opposite sides of a frame, and the game, still reading once per frame like it always has, sees only the first. You get one button instead of the move you meant. Newer fighters quietly added forgiveness in software, but these classics are frozen in time and can't be patched. The only place left to put the sync back is the controller.

This is a retro, Fightcade, and emulation problem. Modern fighters added leniency; we don't claim they drop your inputs.

Who built this

I'm not a firmware engineer. I'm a cloud support engineer, two decades in IT and infrastructure, and a competitor who came back to Marvel vs Capcom 2 after 15 years.

Truth is, I walked away from this game years ago, not long after it got ported around. It never felt the same to me. The timing was off in a way I couldn't put my finger on, so I did what everybody does. I blamed myself and stopped playing.

Years later I fired it up again on PC, and the dashes kept dying. My first thought was, great, I'm getting old. But come on. Anyone can dash. I am not THAT old. Is it me? I kept asking that until the troubleshooter in me took over. Two decades in IT and infrastructure teach you one thing better than anything else: how to chase a problem. Gather the evidence, isolate the symptom, follow the leads until the picture is clear. And the picture here looked exactly like a desync between two clocks. The stick and the game were out of step, and fast polling was exposing the gap. It was not me. That is where the research began.

So I used everything I had: decades of troubleshooting instinct, modern AI tools, and an obsession that wouldn't quit. I open-sourced the fix, showed every line, and set out to build the most over-engineered competitive PCB anyone has tried to ship, so you never have to take my word for any of it.

For the perfectionist. For the grinder. The only variable left is you. Your training finally pays off.

NOBD · cloud support engineer, competitor

The Arsenal

Every edge we could engineer, in one board.

Dual processors. Up to 16 kHz USB over a High-Speed chip. Native retro consoles. Hardware Ethernet for LAN. Firmware you can read and fork. No shipping product combines them, and the open board everyone else uses is capped at 1000 Hz by its own silicon. We build in public, and every claim here is checkable.

Specs below are targets. Pre-prototype hardware.

Target

Up to 16 kHz USB High-Speed

8 kHz standard, 16 kHz with the NOBD companion: every input reported in 0.0625 ms, 16x the 1000 Hz standard. The board tells the PC what you did almost the instant you do it.

Standard 8 kHz USB HS out of the box for maximum compatibility. Optional 16 kHz mode with the NOBD companion, same board, no driver install. Every RP2040-based open board tops out at 1000 Hz because USB Full-Speed cannot go faster; comms run on an STM32F723 to break that ceiling.
Engineered

Dual-MCU · RP2040 + STM32F723

Two processors in parallel: one reads your buttons, the other talks to the PC. Input scanning never gets blocked by USB work, so timing stays consistent under load.

PIO-driven deterministic input scanning is separated from USB transport to cut jitter, so the comms MCU is never blocked by scan work.
Target

Hardware Ethernet · W5500

The first fightstick PCB built around a real network stack, not an RJ45 reused as a console cable. No controller on the market offers wired LAN play. That is the gap LAN Mode is built to fill: a companion app presents your stick as a virtual controller fed over Ethernet, bypassing USB polling entirely. Not faster on average. Deterministic. Instead of waiting on the next poll, your input reaches the game the moment it changes, the same way every time. Have a spare Ethernet port on your PC? Direct connect is supported too, no crossover cable required.

Target: your input hits the game in ~25 µs. A standard 1000 Hz stick takes ~1,000 µs, so your press can reach the game nearly a full millisecond sooner. We are aiming for the equivalent of 40,000 Hz polling.* (*Theoretical, pre-prototype, not yet measured. Real numbers go to inputlag.science before we claim them.)

A dedicated network chip (W5500) sends your inputs over Ethernet straight to a small PC app, which hands them to the game as a normal controller. That skips USB polling completely. We are aiming for about 25 to 35 microseconds from press to game (a microsecond is a millionth of a second), versus roughly 125 to 187 for 8000 Hz USB, the equivalent of around 40,000 Hz. It only sends when something changes, so there is no constant traffic. The real win is consistency: your input arrives the same way every time instead of waiting on the next poll. Direct PC-to-board connection works too, with no special cable needed. Everything here is a target on pre-prototype hardware, and we will measure it in public before we claim a number.
Engineered

Native retro · Brook-cable ready

Dreamcast is native in silicon over Maple Bus, no adapter and no dongle. The retro jack uses the standard Brook retro-cable pinout, so the Brook adapter cables you already own (Dreamcast, NES, SNES, and more) plug right in. Dreamcast is native today; more classics roll out in firmware.

The RJ45 retro jack implements the standard Brook retro-cable pinout: pin 1 GND, pin 8 +5V, and three signal lines. Two carry the Dreamcast Maple Bus pair, bit-banged on the RP2040 PIO (no third-party converter); the third is a general retro data line. The 20-pin header matches the Brook UFB pinout, so existing Brook cables and stick harnesses are plug-and-play. More console protocols arrive in firmware.
Engineered

Open firmware + Brook 20-pin

Runs the fully open NOBD firmware. Read every line, fork it, and drop it into your existing stick via the standard Brook 20-pin.

Firmware is open source and flashes onto GP2040-CE hardware. Board hardware is not open-sourced yet (planned).
Engineered

Two modes · Sync & Raw

Sync mode groups your presses so they land together, on a window you can tune (5 ms by default), trading a sliver of speed for rock-solid consistency. Raw mode runs full speed at minimum latency. Fast when you want it, synced when you need it.

Sync opens a grouping window on the first press (default 5 ms, fully configurable) and commits the held inputs together; releases stay instant. Raw passes inputs straight through with no grouping.
How far past the wall

Faster, drawn to scale.

Bar = speed vs 1000 Hz wall

NOBD-ZERO · LAN ModeTarget0.025 ms
40×

Our target. Over Ethernet, event-driven.

NOBD-ZERO · USB-HS + companionTarget0.0625 ms
16×

Our target with the NOBD companion. 16 kHz, same board.

NOBD-ZERO · USB-HSTarget0.125 ms

Our target out of the box. 8 kHz over USB High-Speed.

Brook UFBMeasured1.0 ms

The fastest fightstick ever measured. Right on the wall.

GP2040-CE open boards1000 Hz cap~1 ms

The firmware we forked. Stuck at the 1000 Hz USB cap.

Hori Fighting Commander 4Measured8.0 ms
0.13×
DualShock 4 (wired)Measured10.3 ms
0.10×

A stock PS4 pad.

PS360+ (Xbox 360)Measured18.2 ms
0.05×
Madcatz TE (Soul Calibur V)Measured24.2 ms
0.04×

Slowest on the board.

Every grey bar is a real measurement from inputlag.science , drawn as speed relative to the 1000 Hz wall (1 ms = 1×). The fastest fightstick ever tested (Brook UFB) sits right on that wall, and the open RP2040 boards GP2040-CE runs on are capped there too. Our targets aim 8× past it on USB out of the box, 16× with the companion, and 40× on LAN.

* NOBD figures are design targets on pre-prototype hardware, not yet measured. GP2040 is the 1000 Hz USB cap, not an inputlag.science entry. We will submit ours before we claim a number.

No single product combines all of this. And we will submit our latency for independent testing, because in this scene you don't trust specs, you test them.

Studio render of the NOBD-ZERO fightstick controller PCB
NOBD-ZERO

The board we're building. Renders today, silicon next.

Isometric render of the NOBD-ZERO PCB
Top-down render of the NOBD-ZERO PCB showing all silkscreen labels
Low-angle render of the NOBD-ZERO PCB
Build-in-public roadmap
Now

NOBD software

The open-source fix, already running on GP2040-CE boards.

Zero V1

The board

The dual-MCU, up-to-16 kHz, hardware-Ethernet PCB, in development.

Next

LAN Mode + more

LAN Mode, more retro consoles, wireless config. Planned.

Don't take our word for it

Receipts, not trust.

The part competitors won't do. Every claim on this page is checkable, so don't believe us. Verify us.

  1. 01

    Read the fix

    One open-source function, the actual sync logic, in our public fork. Not a slide.

    src/gp2040.cpp
  2. 02

    Measure your own gap

    Don’t believe 2–8 ms? Measure yours with the open Finger Gap Tester.

    Finger Gap Tester
  3. 03

    Try it free on your PC

    Don’t believe any of it? NOBD Desktop drops the same sync window onto the Steam version of Marvel vs Capcom 2, in software, using the stick you already own. No NOBD board, no flashing, no money down. Feel the difference yourself. (MvC2 today; more games coming.)

    NOBD Desktop
  4. 04

    Independently measured

    A relay-rig test (not ours) found older and slower boards register simultaneous inputs more consistently. Outside evidence, not our marketing.

    Read Vodka’s test

You drilled the same input for years, never sure if the drop was you or the board. We removed the doubt. The sync window groups your inputs onto one frame, so what comes out is what you did. The only variable left is you. Own every result.

And the fix is one feature on the most over-engineered fightstick PCB anyone has tried to ship. Read the code. Measure your gap. Verify our latency yourself. We are not asking for your trust. We are handing you the receipts.

Remove the variable. The rest is on you.

Reserve yours

The Founding 100 lock $150 · retail $199 · no payment now

The lab is open

Build it with us.

NOBD is built in public, with the people who actually play these games. Jump into the Discord, ask questions, try the software, and help decide where this board goes next. This is your scene too.

Join the Discord

Talk to the bots

An MvC2 Oracle for frame data and matchup questions, plus a bot that drops your feature requests and bug reports straight into the backlog.

Shape the firmware

Ask for a feature, report a bug, and watch it get built. It's all open source. The community speaks; the firmware follows.

Try it, then talk

Run the free NOBD software on a setup you already own, feel the fix, then come tell us what you found. Not a hype channel. A workshop.

Founding reservations

Lock your price. Own every result.

The first 100 reservations lock the $150 founding price and a founding serial. Retail lands at $199. No payment now, nothing binding, and we tell you the final price before you ever owe a cent. Reservations are how we decide how many to build.

The Founding 100 lock $150 · $199 after

One email. We tell you the final price before you owe a cent. No spam, unsubscribe anytime.