Designing and Building an "Open-Hardware" Laptop

By Nathan Edwards

Notable hardware hacker bunnie Huang is building a completely open laptop, and you may be able to buy one too.

Notable hardware hacker bunnie Huang is building a completely open laptop, and you may be able to buy one too. Novena, which was first announced to the world in December 2012, is designed to be open from the ground up--the design of everything from the CPU to the PCB to the batteries are documented to be as transparent as possible. It's the most ambitious attempt yet at a fully open hardware platform.

Says Huang on the project's site: "Novena is a 1.2GHz, Freescale quad-core ARM architecture computer closely coupled with a Xilinx FPGA. It's designed for users who care about open source, and/or want to modify and extend their hardware: all the documentation for the PCBs is open and free to download, the entire OS is buildable from source, and it comes with a variety of features that facilitate rapid prototyping."

The Novena project launched on Crowd Supply on April 2nd and will run until May. In the blog post announcing the campaign, bunnie wrote, "Originally, this started as a hobby project to build a computer just for me and xobs – something that we would use every day, easy to extend and to mod, our very own Swiss Army knife." But enough people were interested in the prospect of a fully open, hackable computer that they decided to crowdfund a small run of components. The Novena project has already raised over $200,000 of the $250,000 goal, with just over three weeks left to go.

Photo Credit: Make

But how realistic and practical is an open-hardware laptop? What does being open-hardware even mean? We dive into the technical details of the Novena project and chat with bunnie about his ambitions and where the project is so far.

The Novena motherboard.

A $500 "just the board" pledge gets you the motherboard, 4GB of RAM, a 4GB microSD card, and a Wi-Fi card. A pledge of $1,195 gets the "desktop" model: the circuit board, plus a convenient chassis and a 1920x1080 IPS monitor. At $1,995, you get a "laptop," which includes the board, chassis, and monitor, but also a battery controller, SSD, and battery--but no keyboard. And finally, the $5,000 tier gets you a handcrafted "Heirloom laptop" made of wood and aluminum. And yes, the $5,000 version has a keyboard.

That's a lot of money for what, on paper, doesn't seem like a whole lot of computer. But it's not designed to be a replacement for your normal PC. As the Crowd Supply page says:

"This is not a machine for the faint of heart. It's an open source project, which means part of the joy – and frustration – of the device is that it is continuously improving. This will be perhaps the only laptop that ships with a screwdriver; you'll be required to install the battery yourself, screw on the LCD bezel of your choice, and you'll get the speakers as a kit, so you don't have to use our speaker box design – if you have access to a 3D printer, you can make and fine tune your own speaker box."

In the desktop and laptop versions, the Novena's screen is mounted on the "wrong side" of the lid, for easier access to the internals.

In addition to the 1.2GHz quad-core Freescale ARM CPU, the board supports up to 4GB of DDR3 via laptop SO-DIMM modules, SATA 3Gb/s, mini-PCIe, an SD card reader, HDMI-out, a headphone/mic jack, two USB 2.0 ports and two internal headers, and two Ethernet ports. There's also an LCD connector, accelerometer, speaker headers, a microphone, USB OTG support, an EEPROM, expansion headers, and a field-programmable gate array (FPGA) for rapid prototyping and connecting to all sorts of electronic devices. It's a hardware hacker's dream machine.

All tiers ship with a Wi-Fi card with open source drivers, 4GB DDR3 SO-DIMM, power supply, and 4GB microSD card with a Debian OS. There's an optional battery board that allows Novena users to power their boards via commonly available RC battery packs, so you can choose the capacity that's right for you, and replacements are cheap and easy to find.

It's much more powerful than something like the Raspberry Pi, but not as powerful as off-the-shelf components you could get for the same price. But that's not the point.

"If you can't hack it, you don't own it."

The point of the Novena project is not raw power, it's flexibility and freedom. It's not designed to replace your PC or mine, but to offer a platform for a small community of open hardware enthusiasts.

It's not just a matter of running open-sourced software--there are plenty of Linux distros with completely libre software--but also hardware, starting with the CPU. As bunnie wrote in a MAKE article earlier this year, "Freescale is the only SOC vendor in this performance class where you can simply go to their website, click a link, and download a mostly complete 6,000 page programming manual."

The PCBs are documented and schematics are available, and all the firmware and drivers are open source. Well, nearly-- the Vivante GC2000 GPU's 3D graphics acceleration still relies on a "binary blob" -- proprietary, closed-source drivers. Even most Linux distros reluctantly rely on closed drivers for a lot of hardware. The Novena boots and runs without them, but 3D acceleration is an important part of any modern computer, and to be truly open, everything about the computer has to be open. That's where the stretch goals come in.

If the Novena crowdfunding campaign hits $300,000 ($50,000 over target), they'll be able to hire Jon Nettleton to develop open-source drivers for the Vivante GC2000 GPU--drivers that'll be able to be used by other i.MX6 projects.

Other stretch goals include a general-purpose breakout board, a "ROMulator" breakout board for ROM hacking, and a Software Defined Radio, which should allow the Novena to connect to "all the major radio bands, including LTE, CDMA, TD-CDMA, W-CDMA, WiMAX, 2G and many more."

With a base price of $500 before you see any hardware, the Novena project probably won't make as big a splash as cheaper open hardware projects like the $35 Raspberry Pi. But people are interested. So far, the project has over 450 backers, with over 50 people pledging for a full laptop.

So why does this matter to you?

But whether there ends up being 150 people using Novena or 1,500, it's a real victory for proponents of open hardware and software alike.

The Novena project is likely to meet its crowdfunding goal, and maybe even some of the stretch goals. But whether there ends up being 150 people using Novena or 1,500, it's a real victory for bunnie and xobs, and a victory for proponents of open hardware and software alike.

Especially in light of heightened awareness of government and extragovernmental surveillance, now's a great time to care about open-source. In his MAKE article earlier this year, bunnie explained: "Back when I started the project, it was me and a few hard core open ecosystem enthusiasts pushing this point, but Edward Snowden changed the world with revelations that the NSA has in fact taken advantage of the black-box nature of the closed hardware ecosystem to implement spying measures—“good news, we weren’t crazy paranoids after all”.

If you believe in the promise of open-source hardware and software, but can't drop $500 for a Novena board, you can help support the project with a $5-30 donation. The money goes directly to helping develop open drivers for the Novena's GPU, helping complete the dream of a computing device that's 100% open.

Chatting with bunnie

I caught up with bunnie, who is currently in Singapore, via email to chat about the campaign. (Replies have been lightly edited for clarity and some URLs have been added for reference)

Has the response to the Crowd Supply campaign surprised you?

bunnie: It's been a mixed bag. Some things were right in line with expectations. For example, the rate of fundraising is about what we expected, given the goal we set. However, the demographic of participants is skewed heavier toward firmware/software backgrounds and less toward hardware than we had anticipated.

What's next after the campaign? Other than working on the supply chain and completing orders, etc. Do you expect to make the parts (main board, chassis, monitor, breakout board, battery board, etc) available on a low-volume basis via an online shop?

It's too early to say. Our primary obligation is to fulfill our promise to backers who have entrusted their hard-earned cash to us. After we've fulfilled our promise, we'll take stock of the situation and see if it's financially sustainable to offer low quantities of discrete boards to end users on an on-going basis.

Are you using your Novena prototype for any cool hardware hacking right now?

Totally! We've built over a half dozen breakout boards for Novena to date, and we've only talked about two of them. Some of the breakouts are still in development, so it's too early to talk about them, and others are for paying customers and so the right to disclose belongs to them.

However, I can say we're really excited to have a pretty decent looking digital oscilloscope working in the lab now, it's chugging along at 500MSPS and the analog fidelity is looking outstanding for what it is. We hope to disclose more about this development before the end of the campaign.

If you have alpha testers, what are some cool things you've seen them do with the platform?

One of our alpha customers is Quantum Biosystems. They are using the board as the controller for a "next-next gen" DNA sequencer.

Well, one of our alpha customers is Quantum Biosystems. They are using the board as the controller for a "next-next gen" (e.g. single molecule) DNA sequencer. This application really excites me because I'm very fond of biology and bioinformatics, even though I'm not a professional in those fields.

We're also starting to see some pick-up in open-source 3D graphics drivers, which is another piece of the puzzle that really excites me. This development effort is not exclusive to our alpha testers, since it applies to all i.MX6 users; nonetheless we're really honored to be able to support these development efforts any way we can.

What has been the biggest challenge between December 2012, when you first started talking about the Novena concept, and the beginning of the crowdfunding campaign?

Actually turning our concept prototypes into something we can do a campaign around, and running the campaign itself has been extremely challenging. It's one thing to hand-make a prototype for yourself, where you can tweak and trim pieces based on your best judgment to get things to fit together. It's another thing to offer a premium product for sale to other customers that has to just fit perfectly together on an assembly line. A lot of trade-offs had to be made between tooling costs, manufacturability, design, and our vision of the project.

Also, running a campaign itself is extremely challenging for people like xobs and me. We're both engineers at heart, and neither of us have a strong instinct for business, public relations, or any sales and marketing task. But, the general public has been well-trained to expect slick marketing campaigns and thus we've had to invest a lot of effort putting something together that is somewhat impedance-matched with the public's expectation of what a professionally run campaign should look like.

What has been the coolest part of this process for you?

It's the ability to do something really bespoke, almost at a whim, that is very liberating for an engineer.

The coolest parts of this whole process are the days when I sit back with xobs over a beer and I ask him, "what do *you* want in a laptop?" and he'll come up with some crazy idea and I'll have a sip of my beer and think for a minute and be like, "okay, that's going into the next prototype." In short, it's the ability to do something really bespoke, almost at a whim, that is very liberating for an engineer. In the past as a corporate product engineer [on Chumby], I was beholding to focus groups, product managers, and marketing requirements. Now, we're making a product by engineers for engineers. It's a lot more fun to do it this way, even if it means there's no "exit plan" or "accrued shareholder value".

For example, there's no way we could have integrated an FPGA into our system if we had to justify its presence to a marketing committee or explain it to a focus group. It raises the price of our system substantially and not a lot of people know what to do with it. But we wanted it, so we put it in there.

Other than your Novena prototype, what other devices do you use every day?

I do use a Lenovo T520 and X1 Carbon every day. Altium and Solidworks require Windows and run on the T520, and I isolate Skype, QQ and other "business tools" to the X1 Carbon. Sadly, in this day and age, there are websites for paying invoices that still require IE and fail to work with anything else. I also use a Samsung Note II for my phone. My perlfriend refers to it as my "mistress" since it also goes to bed with me.

I also love my PSB Atom monitors and NAD C 326BEE amp. Other equipment within arm's reach of me as I write this: Keithley 2000 multimeter, Tek 5104B oscilloscope, Vantek DPS 3305P power supply, Gordak 952 rework station, Atten 936D iron, Atten 853A backside heater, Formlabs Form1 3D printer, Medcom Onyx Geiger counter, Melrose Terminator X phone, Sony NEX-5 Camera, Canon Canoscan D6600, Shenzhen Microscope SZM7045, Olympus BHMJL, various multimeters, SSDs, monitors, routers, keyboards. You know, lab stuff.

What other open hardware projects do you find most interesting?

I find the Milkymist really interesting because they are tackling the problem of an open toolchain for FPGAs -- and fortuitously, the same FPGA we're using. I also find MyriadRF's SDR platform very interesting.

What's the best way for people to help the project if they don't have $500?

It's open source, and we use the i.MX6 platform. There's a lot of i.MX6 development systems, such as the cubox for $55 and the wandboard for $79, which are much cheaper (but less featureful) than ours. You can buy one of those and make code commits that improve Novena without having to buy a Novena!

You've said the Novena isn't for the "faint of heart," and it's probably not for beginners, either. What's a good starting point for a beginner who wants to learn more about open hardware?

There's a lot of on-ramps to the open hardware speedway, depending on where you want to get to. If you're looking to get into the *hardware* (blinky LEDs) then Arduino or Leaf Labs is a good starting point. It's fairly bare-metal. If you're looking to get into the *firmware* (drivers and kernels) then Beaglebone's a good choice; it has a familiar Linux environment. If you're looking to get into *Internet of Things* (apps and end-user solutions) then Spark Core is a great starting point; it has turnkey integration to cloud services built into the platform. All of these platforms have entry-level models priced less than $50 and are beginner-friendly.