For decades anyone buying a new computer did so in the knowledge that within a few years it would be overtaken by a much faster machine.
Driving this rapid evolution has been Moore's Law – which has allowed the building block of information processing, the transistor – to be packed in greater numbers onto ever smaller computer chips.
But Moore's Law is slowing, as various engineering challenges have limited the rate at which transistors can be added to processors and this throttling back will increasingly provide an opening for the little guys to make their mark in the hardware world.
That's the theory of Andrew 'Bunnie' Huang, a hardware engineer who is demonstrating what is possible for a small hardware outfit to do by designing and building his own laptop.
This machine isn't your standard corporate-issue device, but a machine that from top to bottom is open in its design.
Every component in Huang's laptop, known as the Novena, is open. Datasheets describing the design and workings of each component – from the motherboard, through to the ports and various processors – is documented and freely available online. Anyone with the expertise can build a complete firmware for each component from source.
The question is why did Huang, former hardware lead on the open source Chumby internet appliance, decide to do it?
"It is kind of a geek fantasy to build your own laptop," Huang said.
"When I was in uni one of the things I wanted to do when studying technology was build my own computer, then you get out into the real world you realise you're not building computers per se, you're building bits and pieces of them.
"So finally I thought I'm just going to build one full stop to encourage me to learn new things and stretch myself."
But Huang doesn't see himself as a maverick. He believes the slower turnover in today's computer technology makes it feasible for one-man bands and independent outfits to design and build their own hardware, and get it to market before it becomes obsolete.
"In the 1990s, Moore's Law was moving so quickly that if you weren't the big company you would just get steamrolled. You couldn't build stuff as a small company when every two years technology was getting faster and you had to invest all this money to keep up with technology," he said.
"But MHz stopped moving years ago in any substantial way and platforms are stabilising, and you're starting to see a spate of hardware start-ups that are getting more success and traction.
"Once technology slows down a bit and a few guys in a garage can spend two years building a laptop and when it comes out it's not totally bad."
Openness is key to fostering this cottage industry for computer hardware, according to Huang, who has witnessed how a willingness to share designs, code and techniques acts as a catalyst for small outfits to get hardware off the ground in China.
"Open hardware has a different meaning in China. People in China build cell phones and other really complicated things and they don't even think it's interesting enough to talk about," he said.
For Huang, China's small 'Shanzhai' firms famed for making low-cost clones of popular handsets like the iPhone demonstrate just how much of an impact tiny outfits with a shoestring budget can have on the hardware market.
Word of mouth is that typical start-up costs for a Shanzhai are "few hundred thousand for an operation that may eventually scale to more than 50 million revenue per year within a couple of years", according to Huang.
"These are organisations of five or 10 people not big companies. Typically the way they conduct business with each other is closer to the level of individuals rather than big companies, it's very informal, for instance 'I'll give you some help on the motherboard if you give me help on the tooling for the plastic'. They trade favours as opposed to citing agreements and NDAs and all that stuff. They have so much capability."
Of course, designing and building a laptop made entirely from open hardware poses a challenge.
Not all components are equally open, and Huang admits that for certain parts it's a struggle to locate components whose design is documented and whose firmware is not hidden away inside BLOBs (binary large objects).
"There's definitely really nitpicky things which proved to be tough, like getting a wifi card that was acceptable to some of the guys from the Debian user group," he said.
Prioritising open design for hardware also means compromising in certain areas like performance. For instance Huang's laptop runs a Freescale iMX6 CPU. The quad core CPU based on Arm's Cortex A9 design gives the laptop the performance a little bit worse than today's fastest mobile phones for the general tasks like browsing the web or editing documents.
But the goal for Huang was not to build a general purpose laptop, Huang's machine is more of a highly-customisable hardware hackers toolkit, featuring a FPGA (field programmable gate array), a high speed expansion header and other hardware features that will allow it to be used as a digital oscilloscope and logic analyser.
"It's not going to be blazingly fast but it won't be like you're in the stone age either," Huang said.
"Compared to other oscilloscopes or test equipment it will be top of its class because those tend to have much older hardware inside them."
The machine's design will also enable it to punch above its weight for certain tasks, for example, its comparatively wide memory bus will give it a boost when it comes to compiling software code.
It has taken Huang about one year to get the laptop to where it is in today, where the laptop can boot to an operating system – and the motherboard and all of the subsystems have been completed and validated.
Next up is designing the case and mechanical mounting. "It will probably be another six months before I get it looking like something someone who's not a total geek could recognise as a laptop," Huang said.
The final product could end up looking more like an actual book than a notebook, thanks to his unorthodox plans for the case and hinge design.
"I'm using a little bit of guerilla tactics to design the laptop and using some unconventional material systems that are a little easier and more accessible at low volumes," he said.
"For example, this is kind of an odd thing, but I've taken up bookbinding. I'm looking at using leather and aluminium to form what will look like a book cover on the outside and mount the panel on the interior and then the parts on the bottom side. I like the idea that from the outside it will look like a nice leather-bound book."
Being able to quickly take the machine apart and reconfigure it is also important for Huang, so he is planning to design the keyboard so it can be quickly and easily removed to get to the motherboard.
It's tricky to estimate how much the machine will sell for at the moment, Huang said, as he's not really aiming to build a single SKU device, but a highly customisable machine whose price would be dependent on the configuration.
Despite a hefty amount of interest in his project – his first blogpost on the laptop got one million unique hits last year – Huang stressed that this is a specialist machine he has designed with himself and other hardware engineers in mind. When asked who he envisages the main user of the laptop would be, he said: "Mostly me."
But even if people don't buy the Novena, what Huang would really like to achieve is to demonstrate you don't need a multi-million R&D budget to compete in the hardware space.
"One of the things I've been trying to do for the past few years is change the way that people think about hardware and [to get over] that it's not just this impenetrable thing that only big companies can do," he said.
"I'd love it if other people started doing stuff like this."
The laptop specs
CPU and GPU:
- Freescale iMX6 CPU — same footprint can support dual-lite and quad versions:
- Quad-core Cortex A9 CPU with NEON FPU @ 1.2 GHz
- Vivante GC2000 OpenGL ES2.0 GPU, 200Mtri/s, 1Gpix/s (*)
- NDA-free datasheet and programming manual
- Boot from microSD firmware
- 64-bit, DDR3-1066 SO-DIMM, upgradable to 4GB
- SATA-II (3Gbps)
- Internal ports & sensors: mini PCI-express slot (for blob-free wifi, bluetooth, mobile data, etc.)
- UIM slot for mPCIe mobile data cards
- Dual-channel 24-bit LVDS LCD connector
- with USB2.0 side-channel for a display-side camera
- Resistive touchscreen controller (note: captouch displays typically come with a controller)
- 1.1W, 8-ohm internal speaker connectors
- 2x USB2.0 internal connectors for keyboard and mouse/trackpad
- Digital microphone
- 3-axis accelerometer
- header for optional AW-NU137 wifi module (*)
- SD card reader
- headphone + mic port (compatible with most mobile phone headsets, supports sensing in-line cable buttons)
- 2x USB 2.0 ports, supporting high-current (1.5A) device charging
- 1Gbit ethernet
- 100 Mbit ethernet — dual Ethernet capability allows laptop to be used as an in-line packet filter or router
- USB OTG — enables laptop to spoof/fuzz ethernet, serial, etc. over USB via gadget interface to other USB hosts
- Utility serial EEPROM — for storing crash logs and other bits of handy data
- Spartan-6 LX45 FPGA
- High speed expansion header
- 8x FPGA-driven digital I/O
- 8x FPGA-driven PWM headers, compatible with hobby ESC and PWM pinouts — enables direct interfacing with various RC motor/servo configurations & quad-copter controllers
- 13x CPU-driven supplemental digital I/Os
- 3x internal UART ports