Hardware engineer Andrew 'bunnie' Huang on how his path to building an open source computer started with a childhood fascination with the Apple II and why we need to rediscover open hardware.
When Andrew Huang was eight years old his dad bought a clone of an Apple II PC.
Peering at the maze of circuits inside and the esoteric diagrams in its schematics the young Huang knew this machine was something special.
"The cool thing was the Apple II shipped with schematics and a source code, so it was actually open source in a manner of speaking. It wasn't this closed thing where there was no hope of me understanding it.
"I kept staring at it and I would get books at Radio Shack and from the library and read about it, and eventually all the pieces would fall into place. I could keep peeling that onion until I could get to the core."
Huang's diligence paid off and at a time when other kids were focused on getting a high score on Asteroids, he was reading DIY electronics guides in
Today Huang, who goes by the nickname 'bunnie', has just drummed up more than $700,000 through the website Crowd Supply for his project to build an open source computer called Novena.
Huang is setting out to create a machine whose inner workings are as transparent as the computer that three decades ago sparked his lifelong interest in creating hardware.
Why make an open laptop? He cites a desire to pass on the pleasure he got from realising it was within his power to modify the machine whose workings had once seemed mysterious.
"I'd be 'Oh my god, I can build my own card for the Apple II'. I'd go to Radio Shack and buy the parts, build little things, plug them in and they'd work. It was satisfying to have that sense that I could, in fact, modify these things, that I wasn't just a slave to the technology.
"That's one of the great messages about open hardware and openness. People can master the hardware, as opposed to being mastered by their hardware."
Unlike off-the-shelf tablets and PCs, whose inner workings remain largely opaque and in some instances sealed inside cases designed not to be opened, the guiding principle for Novena was openness.
Datasheets showing the designs of printed circuit board inside components - from the motherboard through to the battery board - are freely available online. And anyone with the expertise can build firmware for components from source.
Huang's other motive for building the Novena was more personal. As a hardware engineer with a degree in electrical engineering Huang's day job involves building embedded systems, and he and his co-designer xobs wanted to build something that they would use in their everyday lives.
His engineering focus led to the laptop version of the Novena incorporating some pretty unusual extras by consumer standards, such as a field programmable gate array - a piece of hardware whose core logic can reconfigured using software.
The openness of the Novena's design is what makes it easier for Huang or anyone else to customise the machine and graft on creations of their own.
"Say you are a graduate student in geology and you have to do some field studies. You have to carry a big suitcase full of equipment, which includes the laptop and a bunch of discrete components. If you want to integrate that into the laptop it's inaccessible, the laptop is closed and you have to take the screws of the back, you have to reverse engineer the connectors and the schematics and possibly violate some end user license agreements before you can even add things to your hardware."
In contrast the Novena has been designed specifically to be extendable, there is no need to guess at the workings of the open and documented components, the laptop case is easy to open and left almost half empty to leave room for additional boards, and there are no legal barriers to modifying the computer and sharing your designs.
As for what modifications are possible, a third party company, MyriadRF, has already built a software-defined radio add-on board for the Novena, something that could have applications ranging from collecting telemetry from model rockets to making phone calls. Elsewhere Huang has even suggested the open design would make it easier to spot if someone had tampered with the machine, something it was recently confirmed the US National Security Agency is not above doing.
The Novena has a broad appeal said Huang, and it's for this reason that so many people felt compelled to stump up cash for the crowd-funding campaign.
"There is a group of people who really care about the wider open source aspects, about the security aspects, about the open hardware aspects - so actually the laptop is actually scratching the itch of a fairly large group of people.
"Every person is seeing a different angle that hasn't been met."
The popularity of the Novena, with its open design and ARM-based processor, partly stems from a lack of choice in the mainstream computing market, said Huang.
"The industry has really become very homogenised around x86 and its feature set. You really have just two choices, which is Apple or an x86 Windows-based system and even between those two choices it is fundamentally the same machine on the inside."
With PC hardware platforms standardising, today these machines are increasingly differentiating themselves through the apps and services they offer.
"That's the crux of the problem, because once you've abstracted all the hardware away the guys who make the hardware have lost their differentiation.
"So the guys making the hardware layer are struggling to find reasons to get people to buy their brands, aside from cost and when you're competing solely on cost it clearly hurts your margins."
In contrast, Huang believes opening up a hardware platform provides fertile ground for an ecosystem of custom, third-party hardware to grow around it. Open hardware will likely become increasingly common, as hardware manufactures look for new ways to make their product stand out.
"Opening it up creates a certain appeal, it creates a certain aesthetic, by involving the end-users in customising the hardware they can build brand value."
The folly of the crowd
The Novena isn't the first piece of hardware Huang has designed and manufactured in his professional life. Perhaps the best known product he worked on is the Chumby open source internet appliance.
His experience kept the promises he made in his pitch for the Novena's Crowd Supply campaign rooted in reality.
"I think we would not have succeeded had I not had a fair bit of experience of succeeding and failing in consumer hardware, of knowing the realistic limits of what you can do. If I didn't have an understanding of the design process, wasn't able to look at the factory and make sure it's manufacturable and have a reality check on the process. It's one thing to conceive your own laptop, it's another to be able to fully execute it."
His pragmatic approach has caused some to question the price of the machine and the components used to build it.
"People complain about how expensive it is or how it's not using a faster processor and a bunch of other things, but at the end of the day the reason why it's priced the way it is or the reason why it's constructed that way is I know I can produce it.
"Of course I would love to make it half the price and the campaign would be way more successful but then I wouldn't be able to deliver it to anybody. "
Unlike Novena, ambition too often outstrips reality in crowd-funded projects born on sites like Kickstarter, said Huang.
"The pitfall of a lot of these crowdfunding campaigns is people get overly-optimistic, they don't have the experience, they don't know how hard it is," he said, predicting more failures to come.
"That's a huge danger and that's part of the reason that I went for Crowd Supply and away from Kickstarter. I think Kickstarter has not done a good enough job of vetting hardware projects, there's very low protection for consumers at the end of the day.
"Of course Kickstarter has only hosted a few true failures at this point in time but from my perspective the number of failures in progress worries me."
Prioritising an open hardware design for the Novena also meant compromising in areas like processing performance. For instance the machine runs a Freescale iMX6 CPU, a quad core CPU based on Arm's Cortex A9 design, which is more often found in smartphones and TV set top boxes than powering desktop or laptop computers.
"One of the big things I worried about was whether people would buy-in on what is in many ways an inferior laptop for twice the price. But the good news is that the market has given us some validation that their needs haven't been met by the big players."
From a personal perspective Huang feels that having the freedom to design his own computer, which he describes as a geek fantasy, and work as an independent hardware engineer for his own business in Singapore is pretty much exactly where he wants to be in life.
"I think freedom is underrated by a lot of people. When you work for a large corporation, it's very stable but you don't have a lot of freedom per se, you have a lot of obligations to the overall corporate structure and shareholders.
"The key thing about being independent is you get to do what you want to do.
"We have some base rules like 'We don't work with assholes', even though you may come to us with lots of money if you're just a jerk we'll say 'No' to you. Working with assholes makes your life unhappy and unpleasant. This isn't the optimal outcome for profitability but it's the optimal outcome for my happiness, I can sleep well at night."
Huang puts his philosophy down to a realisation that after getting his phD in electrical engineering from MIT he had spent too long in tech startups pursuing far off future rewards.
"In early parts of my life I was enthralled by the venture capitalists and chasing after money. I thought if I chased after money I could get it and once I had the money I'd focus on being happy. But that just led to an equation of me chasing after money and never getting any, and being unhappy all the time.
"I decided I wasn't getting any younger and it was time to decide 'If I'm not going to choose to be happy now I'll never be happy, so I'll make choices that make me happy'."
Part of the reason for the success of the $35 Linux computer the Raspberry Pi has been the community of users that has grown up around the device and created tools, guides and tailored software for the board.
Huang has ambitions to create a similar community around Novena.
"I'm hoping we can create a solid community around the platform and create enough momentum to allow us to do another one. We want to just keep making it better and better and create a model around open hardware for developers that's sustainable."
Beyond Huang's hopes for the future of the device, he is cautiously optimistic the Novena will play its part, however small, in popularising open source hardware design.
"There's a whole bunch of factors at play around the ideology of open source and of sustainable crowd funding. I can't imagine it will be the end of story on that, hopefully it will be part of a much bigger movement. Just trying to take baby steps in that direction is all we can hope for each day."
Just as the Apple II set Huang on his path 30 years ago, perhaps the Novena will inspire a new generation to champion open hardware.
The Novena is available as just the board for $500; an all-in-one desktop for $1,195; a laptop for $1,195; and an heirloom laptop with a hand-crafted wood and aluminium case for $5,000. Boards are expected to ship from November this year, with the other SKUs becoming available over the following six months.
- Freescale iMX6 CPU
- Quad-core Cortex A9 CPU with NEON FPU @ 1.2GHz
- NDA-free datasheet and programming manual
- Internal memory:
- Boot from microSD firmware
- 64-bit, DDR3-1066 SO-DIMM slot
- SATA-II (3Gbps)
- Internal ports & sensors:
- mini PCI-express slot
- UIM slot for mPCIx mobile data card support
- Dual-channel LVDS LCD connector with USB2.0 side-channel for a display-side camera
- Resistive touchscreen controller
- Stereo 1.1W, 8-ohm internal speaker connectors
- 2x USB2.0 internal connectors for keyboard and mouse/trackpad
- Digital microphone (optional, not populated by default)
- 3-axis accelerometer
- 3x internal UART ports
- External ports:
- 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
- Fun features:
- 100Mbit 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 CSG324-packaged FPGA - has several interfaces to the CPU, including a 2Gbit/s (peak) RAM-like bus - for your bitcoin mining needs. Or whatever else you might want to toss in an FPGA.
- High-speed I/O expansion header - useful for implementing a wide variety of functions, from simple GPIO breakouts to high-performance analog data sampling front-ends
Includes the motherboard, with the following case and accessories.
- Gen-2 hacker case - not for casual home users
- Injection molded ABS bottom shell
- Injection molded ABS port farm cover
- 2x anodised aluminium bezels (one blue in colour, other colour TBD)
- Unique air spring actuator and latch mechanism
- Speaker box kit (speaker box + gaskets + 2x speakers + cables + screws)
- LCD mounting kit
- SSD mounting kit
- Rubber non-slip feet
- Peek Array (array of M2.5 bosses covering the empty space, for mounting your extensions and projects)
- A selection of metric screws
- An Allen key and/or screwdriver as required for assembly
- 13.3-inch amorphous silicon TFT active matrix LCD
- 1920 x 1080 (Full HD)
- 166 ppi
- 350 cd/m2 luminance (max brightness)
- 700:1 contrast ratio (typ)
- 14ms Tr, 11 ms Tf (typ)
- Wide viewing angle: +/- 89 degrees V/H (typ)
- LVDS to eDP adapter board
- IT6251 chipset
- Includes 56-pin flexible PCBA for connecting to main board
- Includes 30-pin, 250mm long IPEX cable for connecting to LCD
- Breakouts for USB and 4-wire resistive touchscreen upgrade options
- Internal accessory connectors
- 2x USB and power switch PCBA + cables
- Lid closed detector PCBA
Most components are pre-assembled in the case, including the internal accessory connectors, the motherboard, and eDP adapter board. User assembly required for LCD bezel selection, and for speaker box.
All of the components from the desktop version above, plus: Intelligent Battery controller board.
- SATA-style connector to route power and control signals to the main board
- Works with battery packs used by most RC enthusiasts
- Pre-populated with 3S1P balancing tap connector
- Cheap and easy to buy
- User can "pick their capacity" - the battery life isn't fixed by design, it's up to the user
- Classic Molex disk connector for battery connector
- Requires adapter cable to the RC battery pack
- Fast-charge capability
- Rates in excess of 4A
- Charge a 45Wh 3S1P pack in ~1 hour
- Active cell balancing
- Learns your battery pack
- Over a few charge/discharge cycles, the controller determines the actual capacity of the pack
- Tracks capacity degradation over time
- Optimises charging to reduce wear and tear on packs
- Computes an accurate estimate of remaining battery capacity
- Statistics reporting
- SMBus standard power interface
- Stats such as remaining capacity, charging rate, current discharge rate, voltage, etc. available
- STM32 master controller
- Runs ChibiOS
- Enables autonomous operation when CPU board is powered off
- Reprogrammable by host CPU, but requires a physical button press to enable programming, as a guard against surreptitious malware insertion
- Has DAC output to drive an analog panel meter
240 GiB SSD:
- SATA-II interface (3Gbps)
- Intel 530 series or equivalent (SanDisk drive in the photos is a throw-away for our dev purposes only, we would not subject end users to such a drive)
- Full desktop Debian firmware load
- 3000mAh 3-cell lithium battery pack
- 3-4 hours battery life depending on backlight level
- May improve with firmware tuning of power management functions (measurements done with no CPU throttling, all peripherals powered on even if unused)
- Manufactured by Turnigy and shipped separately, installed by user
- User can swap in their own battery pack
- Cable adapter from Molex to in-line 4mm bullet connector provided
- 330 mm x 225 mm x 27mm to bezel surface (30mm with socket cap screws)
- 1.36kg (3 pounds) in configuration as pictured