Hail to the Breadboard
The problem has been there for ages: how do you develop embedded software when you still don’t have the target hardware?
Despite the grand promises of virtual platforms, simulation models, and digital twins galloping into our hardware/software co-design processes like futuristic unicorns, most embedded systems engineers are still happily elbow-deep in jumper wires, dev kits, and that one flaky USB cable that only works if you whisper sweet things to it. The dream of full virtual prototyping might be real, but only for those with deep pockets and relaxed schedules; it remains more like a wet dream of vaporwave than a practical reality for most mortals (read, small companies) out there. Every goddamn time I had started a new design, I took the time to give virtual prototyping a chance to see if things had gotten any better and I could in fact code on top of some virtual thingy I could use, only to end up realizing that there was no serious open-source alternative after aimlessly wandering for the nth time around the Open Virtual Platform website without really knowing what to do.
Sure, using dev kits does not exactly mean “cheap”. Some dev kits are damn expensive. But they still represent a better ROI compared to virtual prototyping tools, which may come with their own learning curves (including the obligatory expensive training) and obscure features. A dev kit, at the end of the day, boils down to a schematic and a device datasheet to get yourself into a blinky.
There is some weird paradox around virtual platforms: simulating hardware accurately is (still) rarely worth the effort. Simulators are expensive, both on money and time. Real hardware doesn’t wait for you to finish your perfect model; it just misbehaves right away and lets you deal with it like an adult.
Maybe, MAYBE if you’re pre-silicon while working on a new System-on-Chip, virtual prototyping would make a bit more sense, since your system of interest is “just” a chip. But if your system includes other stuff from the physical world, like sensors, motors, temperature variations, and noisy cables or PCB tracks, these things require their own physics-informed simulations, which can get really complex. Want to know how your differential pairs behave when transferring data from here to there? Good luck finding a model for that that can run in real time. Or maybe you’d like to test how your servo messes with your power rail when it kicks in? Go ahead and model every nanohenry of your wiring. Or, you know, just try it with actual hardware in 10 minutes and get an answer before lunch. Sure, a dev kit will not exactly represent the power or signal integrity behavior of your final target hardware, but it will get you going and prepare you for when the good stuff arrives in a way shorter time than numerically modeling all that complexity.
Additionally, dev kits have entire fan clubs; forums, tutorials, blogs, and YouTube channels. They’re generally accessible, well-documented, and covered in greasy fingerprints from thousands of other engineers who’ve gone before you. Meanwhile, virtual platforms often require obscure toolchains, abusive license agreements, and more RAM than your simulation machine has ever dreamed of.
And last but not least, there’s the vibe. There’s a special kind of satisfaction in hearing a relay click or seeing a servo twitch. You can’t replicate the joy of watching a logic analyzer catch a glitch you didn’t know existed, or the pride of fixing a hardware bug with a few wires. Virtual models can’t replace that. No one has ever high-fived their simulation. You will never feel with a simulation the grandiosity of going for lunch after watching that signal in the oscilloscope finally going from low to high at the right time.
Maybe someday we’ll live in a world where software-defined everything is the norm and real breadboards will be quaint relics displayed in engineering museums. But for now, if you want something that works, you’ll still find most engineers hunched over a dev board, probing signals with one hand and debugging software with the other. And honestly? That’s kind of beautiful.