SimHub and Arduino
Last updated · SimHub 9.11.22
SimHub drives custom hardware through an Arduino running firmware it generates for you — no code to write. Supported boards are the Uno R3, Nano v3 (ATmega328), Mega (ATmega2560), Pro Micro 5V/16MHz and Leonardo, plus clones. The Arduino Uno R4 is explicitly not supported, and neither are ESP32 or ESP8266 boards under official firmware. The rule that stops most builds is that every pin assigned must be unique, and SimHub's own defaults can collide.
This is the branch of SimHub where the official wiki is strong. Where it is thin is the configuration side — what to do once the hardware works — which is what the pages below concentrate on.
Supported boards
| Board | Status | Notes |
|---|---|---|
| Arduino UNO R3, or clone | Supported | The default choice for most builds |
| Arduino NANO v3 (ATmega328), or clone | Supported | Small and cheap; fits inside a dash housing |
| Arduino MEGA (ATmega2560), or clone | Supported | When you need many pins |
| Arduino Pro MICRO 5V/16MHz, or clone | Supported, reduced features | Library incompatibility affects tachometer support. Required for gamepad features. |
| Arduino Leonardo, or clone | Supported, reduced features | As Pro Micro |
| Arduino UNO R4 | Not supported | Explicitly stated. A different microcontroller architecture, not a newer Uno. |
| ATmega168p | Avoid | "Sometimes bundled on misleading 'arduino nano' boards" |
| WAVGAT boards | Avoid | The wiki calls these fake Arduinos with fake or wrong chips |
The Uno R4 is the trap. It is newer, it is sold as an Uno, it is on the shelf next to the R3, and it does not work. If you are buying a board for this, buy an Uno R3 or a Nano v3.
ESP32 and ESP8266: both answers are true
You will find guides saying ESP boards work with SimHub, and you will find the official wiki listing only AVR boards. Both are accurate, and the confusion between them wastes a lot of people's evenings.
- Official SimHub firmware
- Does not support ESP32 or ESP8266. The firmware builder targets AVR boards only.
- ESP-SimHub
- A third-party community firmware for ESP32 and ESP8266 that works with SimHub. It is a real, maintained project with its own repository and Discord — and it is not part of SimHub.
So: an ESP32 will not work out of the box with SimHub's own setup tool, and it will work if you flash the community firmware. If you are following a guide that says ESP32 works, check which of those two it means before buying.
What SimHub can drive from an Arduino
- Addressable RGB LEDs — WS2812b and PL9823. Shift lights, rev bars, flag indicators. Covered here.
- RGB matrices — 8×8 and larger, for gear indicators, flags and spotter overlays. Covered here.
- 7-segment displays — MAX7219/MAX7221, TM1637, TM1638. Covered here.
- Character and OLED displays — I2C LCD 20×4 and 16×2, SSD1306 OLED.
- Buttons, matrices and rotary encoders — button boxes.
- Motors and fans — ShakeIt Motors and the wind simulator.
- Servo gauges — physical needles driven by telemetry.
One Arduino can do several of these at once, subject to pins. Several Arduinos can run together provided each has a unique name.
The pin rule that stops builds
Every pin used must be unique — and SimHub's defaults can collide. When you tick two features in the setup wizard, both arrive with default pin assignments, and those defaults are not guaranteed to be different. A duplicate pin assignment prevents the firmware building at all, and the error does not always make it obvious which two features clashed.
Check the pin assignments for every feature you enable before uploading, not after the build fails. On an Uno you have limited pins, so a build with LEDs, a display and buttons needs planning rather than accepting defaults.
If you run out, a Mega gives you far more. That is the main reason to choose one.
Power, and the wiring rule
A USB port supplies about 500mA. An Arduino alone is well within that. An Arduino driving a strip of addressable LEDs is not — each LED at full white draws roughly 60mA, so sixteen of them can exceed the budget on their own.
Past that point you need an external 5V supply, and the wiring matters:
Connect grounds. Do not connect the external 5V to the Arduino's 5V pin. The official wiring guidance is explicit: connect the external supply's ground to the components and to the Arduino, so everything shares a reference, but do not feed external 5V into the Arduino's 5V pin. Getting this wrong is a good way to damage the board.
Symptoms of insufficient power look like faults elsewhere: the board resetting in a loop, dropping off USB intermittently, or LEDs behaving erratically at high brightness while being fine at low. If your problem gets worse as more LEDs light, it is power.
The cause nobody suspects
From the official wiki, and worth taking seriously: "Most issues (arduino disconnects, display errors …) are caused by bad quality solders".
Intermittent faults in a DIY build are far more often mechanical than electronic. If a problem moves when you flex the wiring, changes when the rig is bumped, or appears only after a session has warmed up, stop debugging the configuration and reflow the joints.
This is also the argument for buying pre-made hardware if you do not enjoy soldering — not because the design is hard, but because the joints are where DIY builds actually fail.
Two warnings before you flash anything
Triple-check which serial port you are flashing. The official guidance is to "always triple check that the serial port used to flash is the one of your target device", and it notes that wiping the wrong device "can't be reverted!" Unplug every other Arduino before you upload.
The 15-second upload lock. Uploading is locked 15 seconds after a device is plugged in, deliberately, to protect against unwanted firmware wipes. If an upload is refused, either send the upload-unlock command or simply replug the board and try again promptly. This is a feature rather than a fault, and it confuses people who assume the board has failed.
Everything in this section
- Arduino setup, step by step The firmware wizard from launch to upload, including build-and-export for manual customisation.
- RGB LEDs WS2812b and PL9823 wiring, then the configuration side in depth.
- Shift lights RPM percent versus absolute, redline calibration, blink patterns and the reversed-fill mistake.
- RGB matrix 8×8 panels for gear indicators, flags and spotter overlays — rotation, fonts and effect priority.
- The LED editor Profiles, groups, assembly modes, and the test data editor almost nobody knows about.
- 7-segment displays MAX7219, TM1637 and TM1638 — and which of them also gives you buttons.
- Button boxes Matrices, rotary encoders, and how they reach the game.
- When it isn't detected Cables, the generic CH340G driver break, COM ports and power.
Common questions
Which Arduino should I buy for SimHub?
An Uno R3 or a Nano v3 for most builds, or a Mega if you need many pins. Avoid the Uno R4, which is explicitly not supported despite the name, and avoid boards using the ATmega168p or the WAVGAT brand. Pro Micro and Leonardo work but have reduced feature support.
Does SimHub work with ESP32?
Not with official SimHub firmware, which targets AVR boards only. A separate community project called ESP-SimHub provides ESP32 and ESP8266 firmware that does work with SimHub. Both statements circulate and both are true — check which one a guide means before buying.
Do I need to write any code?
No. SimHub's setup tool generates and uploads the firmware from the features you tick. Writing code is optional, through build-and-export, and only needed if you want to customise beyond what the wizard offers.
Why won't my Arduino firmware build?
Most often a duplicate pin assignment. Every pin used must be unique across all enabled features, and SimHub's own defaults can collide when you tick two features. Check every feature's pins before uploading rather than after the build fails.
Can I power LEDs from the Arduino?
Only a few. USB supplies about 500mA and each addressable LED can draw around 60mA at full white, so a strip needs an external 5V supply. Connect the external ground to the Arduino as well, but never feed external 5V into the Arduino's 5V pin.
Why does my Arduino keep disconnecting?
Two usual causes. Insufficient power, if the fault worsens as more LEDs light. Or bad solder joints — the official wiki states plainly that most Arduino disconnects and display errors come from poor soldering. If flexing the wiring changes anything, that is your answer.
Can I use more than one Arduino with SimHub?
Yes, and it is common — one for LEDs, another for a display. Each must be given a unique name during firmware setup. Two boards sharing a name cannot work, and the usual symptom is that only one ever appears.
Sources
SimHub is developed independently by Wotever and is not affiliated with oesimracing. This page was checked against SimHub 9.11.22 on 4 August 2026; where the interface has moved on since, the version stamp tells you how far. More on what SimHub is and what it costs.