Button boxes: buying, building, and common mappings
A button box puts pit and chassis controls under dedicated switches so you stop hunting through wheel buttons or reaching for the keyboard mid-stint. In iRacing that means fuel and tire changes on physical toggles, tear-off and fast repair on their own buttons, and a 16-detent encoder for brake bias you can spin without looking. The blind-operation part matters most in VR, where you can’t see your hands and you find a switch by its shape.
Buy or build?
Section titled “Buy or build?”Three paths, in rising order of effort:
- Pre-built box. Plug in, map, done.
- Interface board. Your own switches, little to no soldering, full layout control.
- Full Arduino build. A microcontroller, the Joystick library, and a 3D-printed or CNC case.
Pre-built boxes
Section titled “Pre-built boxes”The PXN CB1 runs about $100 (often on sale from a $130 list), and the assorted AliExpress boxes drop as low as $40-70. All work fine as buttons-and-switches panels. They show up as a USB game controller, so iRacing and other titles see them with no extra software. Ignition Controls sits at the premium end: beautifully machined, properly labeled, and expensive enough that most people building a rig look at the DIY path first.
Interface boards: Leo Bodnar
Section titled “Interface boards: Leo Bodnar”The Leo Bodnar BBI-32 is the easiest no-solder route. It reads up to 32 buttons, 16 encoders, and 11 twelve-position rotary switches, uses push-in screw connectors instead of soldered joints, and registers as a native game controller. It runs about $43-55 with the connector kit, or roughly £20 for the bare board if you wire your own. The BBI-64 doubles that to 64 inputs. You supply the switches and the enclosure; the board handles the USB HID work.
The BU0836 is the other Leo Bodnar board in the same role. Same idea: screw terminals, no firmware to write, and Windows sees a game controller once your switches and encoders are wired to it.
Full DIY Arduino
Section titled “Full DIY Arduino”Build your own and the board is the one choice that breaks projects. Use a Pro Micro or Arduino Leonardo. Both run the ATmega32U4, which speaks USB HID natively and shows up as a game controller on its own. An Uno or Nano will not work without extra bridging firmware, so skip them. Flash the box with the Arduino Joystick Library (MHeironimus) and follow the AMstudio tutorial and sketch, the canonical reference. A simple 12-button box with a couple encoders in a printed case lands around $30-40; a loaded panel with a funky switch, an ignition cover, and a CNC case climbs toward $200. The same ATmega32U4-plus-HID approach drives a DIY handbrake with a load cell, so the electronics carry over if you build both.
Avoid the “zero-delay” USB joystick encoder boards (the ~$8 arcade-style ones) if you want rotaries: they handle buttons and switches only and have no rotary-encoder support. For a buttons-only box they’re fine.
Encoders, switches, and the gotchas
Section titled “Encoders, switches, and the gotchas”Encoders are where most builds go sideways. Buy a 16-detent rotary like the Bourns/Bohsen PEC11-style (e.g. PEC11H-4020F-S0016) for TC, ABS, and brake-bias knobs. The part that matters is that it is an encoder rather than a potentiometer: an encoder is detented, and each click sends one button press up or down.
The classic bug is two clicks per detent: turn the knob one notch and the game reads it as a double-press. That’s the encoder’s transitions-per-click rating not matching the board’s mode. The BBI-32 supports 1, 2, and 4 transitions-per-click modes (CTS, ELMA, ALPS); set it to match your encoder and the doubling stops.
Two more things to expect:
- No auto-repeat. Hold a brake-bias button and the game registers a single press no matter how long you hold. You can code auto-repeat into an Arduino build; an interface board won’t do it for you.
- One pulse per click. An encoder fires one momentary pulse per click, which is why a rotary maps to brake bias one step at a time. That is exactly the behavior you want for stepped adjustments.
Stream Deck as a button box
Section titled “Stream Deck as a button box”A Stream Deck is the no-wiring alternative, with relabelable LCD keys. The XL has 32 keys ($250), the MK.2 has 15 ($150), and the Plus has 8 keys plus 4 dials. For a rig the XL is the pick: 32 is enough to cover a full pit and chassis layout where 8 or 15 forces compromises.
It is not a native game controller. You need a plugin (iRaceIT or SimHub) to translate a key press into a game input. And because the keys are flat glass with no tactile variation, a Stream Deck is hard to use in VR: you can’t find a key blind.
Common iRacing mappings
Section titled “Common iRacing mappings”Most people skip mapping until the box is built. A solid starting layout:
Pit black box: fuel +/-, fuel amount/fill, tire change LF / RF / LR / RR, tear-off, fast repair, pit speed limiter, pit-lane request.
In-car: ignition, starter, headlights/flash, wipers, traction control, ABS, brake bias (and brake migration where the car has it), fuel mix, the per-car FFB strength knob, and PTT (push-to-talk) for the radio.
Put the encoders on the adjustables (TC, ABS, brake bias, fuel mix) and the toggles on the latched states like ignition and lights. Keep tear-off and fast repair on big, distinct buttons you can hit without looking.
SimHub Control Mapper to tie it together
Section titled “SimHub Control Mapper to tie it together”A raw Pro Micro, your wheel, and a Stream Deck don’t naturally live in one mapping layer. SimHub’s Control Mapper / Keyboard Emulator aliases all of them into a single profile, so one button can fire the same game input regardless of which device sent it. It also drives the LED side if your box has one, where Daniel Newman Racing (DNR) profiles are the popular choice.
iRacing legality: momentary vs maintained
Section titled “iRacing legality: momentary vs maintained”iRacing allows latched (maintained, always-on) switches for most controls, so a physical toggle that stays up for headlights or fuel mix is fine. A few inputs are best left momentary, starter and reset among them, which is why a spring-back toggle cover on a “start” button is a common build. When in doubt, momentary is the safe default.
For the rest of the rig, see pedals and wheels and wheelbases.
Frequently asked questions
What does a button box do in sim racing?
A button box is a panel of momentary buttons, toggle switches, and rotary encoders mapped to in-sim controls so you never reach for the keyboard mid-stint. Common assignments include pit-menu navigation, brake bias, TC, ABS, fuel mixture, ignition and starter, pit limiter, lights, wipers, and radio push-to-talk. A labeled physical box matters most in VR, where you cannot see the wheel face to find a button.
Should I buy or build a button box?
Three paths in rising order of effort. A pre-built box plugs in as a USB controller (PXN CB1 around $100, AliExpress boxes around $40-70). An interface board like the Leo Bodnar BBI-32 takes your own switches with no soldering (up to 32 buttons and 16 encoders). A full Arduino build runs around $30-40 for a simple box and toward $200 loaded. Building is mostly just wiring switches once the board handles the USB work.
Which Arduino board do I use for a DIY button box?
Use a Pro Micro or Arduino Leonardo. Both run the ATmega32U4, which speaks USB HID natively and shows up as a game controller on its own. An Uno or Nano will not work without extra bridging firmware. Flash it with the MHeironimus Arduino Joystick Library and follow the AMstudio tutorial, the canonical reference.
Why does my rotary encoder register two presses per click?
The encoder's transitions-per-click rating does not match the board's mode. On a Leo Bodnar BBI-32, set it to 1, 2, or 4 transitions-per-click (CTS, ELMA, ALPS) to match your encoder and the doubling stops. Put encoders on stepped adjustables like brake bias, TC, ABS, and fuel mix.
Should I use a potentiometer or rotary encoder on a button box?
Use a rotary encoder, not a potentiometer. An encoder is detented: each click sends one button press up or down, which is exactly what stepped adjustments like brake bias, TC, ABS, and fuel map need. Reserve momentary buttons or toggle switches for on/off functions like ignition, starter, and pit limiter.
Is a Stream Deck a good button box, and which model?
It is the no-wiring option with relabelable LCD keys. The XL has 32 keys and is the pick for a full pit and chassis layout; the MK.2 has 15 and the Plus has 8 keys plus 4 dials. It is not a native game controller, so you need a plugin (iRaceIT or SimHub) to translate a press into a game input, and the flat glass keys are hard to find blind in VR.
Will iRacing flag a button box with toggle switches as cheating?
No. iRacing allows latched (maintained, always-on) switches for most controls, so a toggle that stays up for headlights or fuel mix is fine. A few inputs are best left momentary, starter and reset among them, which is why a spring-back toggle cover on a start button is a common build. When in doubt, momentary is the safe default.