You too can run a functional 16-bit CPU inside Microsoft Excel thanks to one YouTube hobbyist with more willpower than I shall ever possess

A still from a YouTube video detailing the creation and construction of a working CPU in Microsoft Excel
(Image credit: Inkbox)

Microsoft Excel isn't exactly up there when it comes to anyone's top-ten list of exciting software. Regarded as the dependable if more-than-slightly dull workhorse of productivity apps, the mere mention of Excel brings to mind endless spreadsheets, budgetary calculations, and... oh no you've fallen asleep already. But when someone creates a functional 16-bit CPU inside it, well, that might just be worth waking up for.

YouTuber Inkbox has posted a 16-minute video (via Tom's Hardware) detailing exactly how they built a fully-functional 3Hz 16-bit CPU in the much-maligned office app, complete with an included 128KB of RAM, a 16-colour output display and its own custom assembly language. Not only was the CPU created (and runs) inside Excel, it was built without any Visual Basic scripts or plugins, which means it could be duplicated on any Excel instance.

Inkbox points out that at its heart a spreadsheet is just a fancy calculator, taking a data input in, and producing an outputted result. By stacking linked cells to create increasingly more complex outputs they were able to effectively mimic the input/output functions of a CPU, albeit in this case a relatively basic one. 

This required the creation of a customised assembly language named Excel-ASM15, with enough functionality to load, transfer and perform arithmetic operations that allows instructions to be executed like traditional programs. The video provides an in-depth and yet straightforward enough to understand breakdown of the process, and it serves as a great insight into the inner structure and calculations performed by a CPU, and how they were effectively replicated.  

This isn't the first time we've seen CPUs built inside other programs, as who could forget the amazingly named Chungus 2, a fully functional 3D model of a PC constructed within Minecraft, complete with its own 1Hz CPU created with some very imaginative uses of redstone. Still, as anyone with many hours in the game can attest, building things in Minecraft can be fun, whereas Excel... well, that takes a level of discipline and will all of its own. 

Your next upgrade

Nvidia RTX 4070 and RTX 3080 Founders Edition graphics cards

(Image credit: Future)

Best CPU for gaming: The top chips from Intel and AMD.
Best gaming motherboard: The right boards.
Best graphics card: Your perfect pixel-pusher awaits.
Best SSD for gaming: Get into the game ahead of the rest.

Inkbox has shared the results of their work on Github, which means that if you have a copy of Excel installed you can check out the inner-workings of a functional CPU for yourself, complete with some basic programs to try.

By watching the spreadsheet run you are essentially able to view the internal process of a functioning CPU in action, within a program that up until now would be regarded by most as a productivity tool. How cool is that?

It's a fascinating re-purposing of the software, and goes some way to showing the power of Excel when used creatively. While my time with the program has often led to swearing, internal cursing at my lack of a proper maths education, and broken spreadsheets that have become a source of great pain, I take my hat off to the work and dedication that's been put in here.

It's truly Excel-ent. Sorry, I couldn't resist. I'll see myself out.

Andy Edser
Hardware Writer

Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. After spending over 15 years in the production industry overseeing a variety of live and recorded projects, he started writing his own PC hardware blog for a year in the hope that people might send him things. Sometimes they did.

Now working as a hardware writer for PC Gamer, Andy can be found quietly muttering to himself and drawing diagrams with his hands in thin air. It's best to leave him to it.