Home Jobs

Defining Novena, our Very Own Laptop Computer

Joe Heitzeberg
May 05, 2014

The following is a guest post by Sean “xobs” Cross, one of the two co-creators of the Novena open source laptop.


Many products are hammered into existence by a cadre of project managers, focus groups and user studies. This process is great for designing a product that must have mass appeal.

Contrast this to Novena, an open mobile computing platform, which is a personal project of mine and bunnie’s. It was designed for the needs of two people, and it was born out of many years of asking ourselves “Wouldn’t it be great if…”.

Wouldn’t it be great if a laptop had nice speakers?

I’ve been at parties before where people want to share their music collection, but don’t have a nice set of battery powered speakers. Their solution is to either try and cup their phone to act as a primitive resonance chamber, or bring out their laptop and use its tiny speakers. I want a laptop with a decent set of speakers.

When designing Novena, we weren’t too concerned about thickness, which allows us to have reasonably thick speakers installed. They won’t rival hifi audophile speakers, but they’re certainly nicer than most laptops I’ve encountered. There’s also room for a subwoofer, which
I’m thinking of installing using the Peek Array (array of mounting bosses) available in the case.

Wouldn’t it be great if we had a USB gadget device?

When you plug your phone into your computer, it shows up as a USB device. You can transfer files, sync contacts, and generally communicate with your phone over USB. Your laptop communicates over wifi or Ethernet, both of which are more flexible than USB, and allow for multiple devices to talk to one another. So why would anyone want a laptop that could act as a USB gadget device? Lots of little reasons.

When you download a Linux image, it comes as an .iso file. This is meant to be written to a DVD so that you can reboot your machine and boot off of the image. There are a few programs that exist to “burn” a bootable .iso to a USB drive, but I’ve only had partial luck with them. With Novena, I can simply set it up to act as a USB DVD drive. I can plug my laptop into a desktop PC, and make it think that my laptop is a DVD drive.

Having a laptop show up as a USB device also makes transferring files easier. When you want to exchange files, there are a large number of options ranging from email to putting it on a USB drive. Wouldn’t it be easiest of all to simply plug one computer into another and copy files that way? Having Novena show up as a USB device makes it really easy to copy
files over.

Or how about those nice speakers? It’s possible to have Novena act as a standard pair of USB speakers, meaning I can plug it in to any desktop and route audio out Novena.

Wouldn’t it be great if we had an FPGA?

FPGAs are the chameleons of the chip world. They’re configurable arrays of gates that allow you to reprogram them to be most anything. You can program an FPGA to be an HDMI signal generator and have it output a test pattern to a monitor, then reset it and program it to be a network card. When prototyping new chips, developers will frequently use FPGAs to validate
design.

Why would a laptop need an FPGA? The vast majority of people won’t need one, but there have been enough times that we’ve found ourselves needing one that we decided to add one anyway. When we were poking around the internals of SD cards, we used the FPGA to emulate storage, and to log memory transactions. We’ve built an oscilloscope and logic analyser, using the
FPGA to sample data at high speed.

We have a half-dozen add-on boards we’ve designed and used with the FPGA, and have many more ideas. It’s such an oddball hardware feature, but it’s really great for us to have.

Wouldn’t it be great if it used cheap RC car batteries?

Laptop battery packs are expensive, and after designing one now I know why. There’s a lot of electronics that goes into one, and a lot of device-specific magic. They measure the chemistry and makeup of a particular batch of lithium across a wide variety of temperatures, and they bake that into a chip inside the battery pack itself. This chip keeps track of how much energy goes into the battery pack, so it can tell you how much energy you can get back out. They are very accurate, very difficult to build, and very expensive.

On the other end of the spectrum is cheap voltage-measuring chargers that can tell you how full the battery pack is only with very rough accuracy. The more current you draw the lower the voltage, making it very difficult to estimate how much charge is left in a battery pack.
As a tradeoff, these “dumb” batteries can be cheaper.

We took a hybrid approach. We effectively pulled the electronics out of a laptop battery pack and attached it to a cheap RC car battery. The controller board is expensive, but re-usable; and replacement “dumb” batteries can be had for twenty dollars.

Wouldn’t it be great if it was open?

From a philosophical perspective, open hardware and open software is a great idea. But from a practical perspective, openness is great too. It means I can be lazy.

If I want to show someone how I solve a particular problem, I can send them a GitHub link to the exact line of code. They don’t need a login or special software to see what I’m referring to, just a web browser. Likewise, I can take someone’s solution and use it on my board.

Similarly, if I’m trying to work on a circuit for a different platform, I can always refer to the Novena schematics as a reference. Even if I’m on someone else’s machine, I only need to go to the Novena wiki to download a pdf with everything I need to know.

Linus Torvalds, creator of Linux, summarized this best in 1996 when he said “Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it.” Open source means that I’m protected in case my hard drive fails, because it’s already backed up all over the Internet.

It Turned out Great

All of these features, along with several others, have come together to produce a platform that I find very useful. The board is unusual, but then again so are my requirements. It’s not perfect, and there’s a lot of work yet to be done, particularly in areas of video performance and power management. Even so, for what it allows me to do, the effort to develop
such a bespoke system has already proven its worth.

Developing a product specifically for yourself, as we did with the Novena, is a great way to do market validation, because it turns out there are always other people who want the same thing. You don’t need to daydream about what the general public will want next – just look at your own needs and go from there. Certainly, enough like-minded people expressed interest in Novena that it encouraged us to make it a reality on a larger scale. We’ve already raised over $200k through our Crowd Supply crowdfunding campaign.

If the Novena appeals to you, please consider helping us meet our $250k goal and spread the word. Happy hacking!

Ready for more?

Check out other posts from this blog.

View all »