Tech News
← Back to articles

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

read original related products more articles

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.

(Image credit: Ikejima blog)

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.

Stay On the Cutting Edge: Get the Tom's Hardware Newsletter Get Tom's Hardware's best news and in-depth reviews, straight to your inbox. Contact me with news and offers from other Future brands Receive email from us on behalf of our trusted partners or sponsors

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.

... continue reading