Tech tinkerer gets Gemini to help him 'vibe code' an x86 motherboard design — bot help was impressive, but project still required human awareness and intervention
Project demonstrates that generative AI is at its best when augmenting human reasoning.
Get 3DTested's best news and in-depth reviews, straight to your inbox.
You are now subscribed
Your newsletter sign-up was successful
With generative AI being all the rage nowadays, it's not often you hear about it being used much outside of artwork and coding. Japanese tech blogger Ikejima bucked that trend when he realized he'd never built an x86 motherboard, and proceeded to enlist Google's Gemini to help him do exactly that.
The scope was simple: to design and implement a motherboard for an Intel 8086 CPU, the chip that spawned the x86 architecture back in 1987. This was Ikejima's second attempt, as he'd previously tried it with an Intel 8088 clone, a cheaper variant of the 8086. That previous attempt failed as the 8088 required 5 V power (while the accompanying hardware ran on 3.3 V), and didn't take kindly to being debugged due to clock timing headaches.
This time around, he used a V30 chip, an 8086 clone designed by NEC that was used in clone PCs back in the day. The part number is μPD70116, and apparently, they cost all of $2 at AliExpress, if you're wondering. Instead of designing an entire motherboard, Ikejima figured he could do everything he needed with a Raspberry Pi Pico RP2040 microcontroller and some simple circuitry, and called it a "cradle" instead of a motherboard, a fair term given the lack of proper I/O or device connectivity.
As a foreword, it'd be easy to dismiss this project as "vibe coding," where one knows nothing about the subject matter and has to do both the work and feed error messages back to it, having nothing but prayer as an alternative. Instead, Ikejima used the AI bot as an assistant to save him from grunt work, as a complement to his ability. The engineer's ability to reason quickly became invaluable, as you'll see.
He got Gemini to assist him with the circuit design, though he did the physical layout by hand. Ikejima uses KiCad with Python scripts, making it easy to iterate on circuit designs. The engineer got Gemini to help design the cradle's base software, written in C++ and using the Raspberry Pi Pico SDK.
The base idea is that the RP2040 cradle would act as a control, debugging, and memory interface for the V30 chip, feeding it code to run and data from 128 KB out of its 264 KB of memory. Ikejima quickly ran into trouble when trying to debug the CPU, as using USB debugging and interrupting the chip would mess up clock timing. Gemini suggested he put the second core in the RP2040 to work as a host-PC interface and debugger, a good idea overall.
While he was at this, Ikejima had Gemini produce an assembler and disassembler so he could actually write and retrieve programs for the V30 in assembly language. He remarked that that kind of drudge work is a good fit for AI. After all the major steps were complete, he sent the PCB off for manufacturing, got it, put everything together... And absolutely nothing worked.
Get 3DTested's best news and in-depth reviews, straight to your inbox.
This is the moment where the AI bot started showing its limitations, as it suggested changes to the circuit, blissfully unaware of the material or time costs involved. Ikejima rolled up his sleeves and got out his logic analyzer, which promptly "went berserk" on connection. As it turns out, the 8086 design uses the same physical line for addresses and code, switching between them at each clock tick.
As operated, the circuit would produce a literal short that would thankfully trigger a USB port disconnection, so as not to set fire to the project and his home. Gemini didn't spot that otherwise-obvious design feature, with Ikejima remarking that "perhaps AI still struggles to read diagrams," and "maybe it's a bad idea to let AI control anything that can short a power supply."
Once he sorted that out with the control software, he came across another bug that should have been obvious: 8086 chips use one RAM chip for even bytes, and another for odd bytes. After a handful of fixes, Ikejima finally got the CPU to work and execute code. He then figured he wanted to run actual software on it, and settled on getting MS-DOS' COMMAND.COM.
That effort proved more than he had considered, as COMMAND.COM rewrites itself in memory, and requires some interfacing to an actual BIOS and I/O — while all he effectively had was a CPU socket and some memory. After more research, he settled on using HI-DOS on the cradle side to be able to have a BIOS, and eventually booted HIDOS MS-DOS, albeit with some limitations, like the lack of writeable storage and the limited amount of memory.
Even still, he did manage to run some simple programs, culminating in what's effectively a pretty impressive demonstration of what's possible when you couple human logic and reasoning with the massive helping hand of an AI bot. Do read the entire adventure at Ikejiima's blog.
Follow 3DTested on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.
