Posts Tagged ‘laptop’

Crowdfunding the Novena Open Laptop

Wednesday, April 2nd, 2014

We’re launching a crowdfunding campaign around our Novena open hardware computing platform. 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. I’ve posted here a couple of times about our experience building it, and it got a lot of interest. So by popular demand, we’ve prepared a crowdfunding offering and you can finally be a backer.


Novena is a 1.2GHz, Freescale quad-core ARM architecture computer closely coupled with a Xilinx FPGA. It’s designed for users who want to modify and extend their hardware: all the documentation for the PCBs are open and free to download, and it comes with a variety of features that facilitate rapid prototyping.

We are offering four variations, and at the conclusion of the Crowd Supply campaign on May 18, all the prices listed below will go up by 10%:

  • “Just the board” ($500): For crafty people who want to build their case and define their own style, we’ll deliver to you the main PCBA, stuffed with 4GiB of RAM, 4GiB microSD card, and an Ath9k-based PCIe wifi card. Boots to a Debian desktop over HDMI.
  • “All-in-One Desktop” ($1195): Plug in your favorite keyboard and mouse, and you’re ready to go; perfect for labs and workbenches. You get the circuit board above, inside a hacker-friendly case with a Full HD (1920×1080) IPS LCD.
  • “Laptop” ($1995): For hackers on the go, we’ll send you the same case and board as above, but with battery controller board, 240 GiB SSD, and a user-installed battery. As everyone has their own keyboard preference, no keyboard is included.
  • “Heirloom Laptop” ($5000): A show stopper of beauty; a sure conversation piece. This will be the same board, battery, and SSD as above, but in a gorgeous, hand-crafted wood and aluminum case made by Kurt Mottweiler in Portland, Oregon. As it’s a clamshell design, it’s also the only offering that comes with a predetermined keyboard.

All configurations will come with Debian (GNU/Linux) pre-installed, but of course you can build and install whatever distro you prefer!

Novena Gen-2 Case Design

Followers of this blog may have seen a post featuring a prototype case design we put together last December. These were hand-built cases made from aluminum and leather and meant to validate the laptop use case. The design was rough and crafted by my clumsy hands – dubbed “gloriously fuggly [sic]” – yet the public response was overwhelmingly positive. It gave us confidence to proceed with a 2nd generation case design that we are now unveiling today.

The first thing you’ll notice about the design is that the screen opens “the wrong way”. This feature allows the computer to be usable as a wall-hanging unit when the screen is closed. It also solves a major problem I had with the original clamshell prototype – it was a real pain to access the hardware for hacking, as it’s blocked by the keyboard mounting plate.

Now, with the slide of a latch, the screen automatically pops open thanks to an internal gas spring. This isn’t just an open laptop — it’s a self-opening laptop! The internals are intentionally naked in this mode for easy access; it also makes it clear that this is not a computer for casual home use. Another side benefit of this design is there’s no fan noise – when the screen is up, the motherboard is exposed to open air and a passive heatsink is all you need to keep the CPU cool.

Another feature of this design is the LCD bezel is made out of a single, simple aluminum sheet. This allows users with access to a minimal machine shop to modify or craft their own bezels – no custom tooling required. Hopefully this makes adding knobs and connectors, or changing the LCD relatively easy. In order to encourage people to experiment, we will ship desktop and laptop devices with not one, but two LCD bezels, so you don’t have to worry about having an unusable machine if you mess up one of the bezels!

The panel covering the “port farm” on the right hand side of the case is designed to be replaceable. A single screw holds it in place, so if you design your own motherboard or if you want to upgrade in the future, you’re not locked into today’s port layout. We take advantage of this feature between the desktop and the laptop versions, as the DC power jack is in a different location for the two configurations.

Finally, the inside of the case features a “Peek Array”. It’s an array of M2.5 mounting holes (yes, they are metric) populating the extra unused space inside the case, on the right hand side in the photo above. It’s named after Nadya Peek, a graduate student at MIT’s Center for Bits and Atoms. Nadya is a consummate maker, and is a driving force behind the CBA’s Fab Lab initiative. When I designed this array of mounting bosses, I imagined someone like Nadya making their own circuit boards or whatever they want, and mounting it inside the case using the Peek Array.

The first thing I used the Peek Array for is the speaker box. I desire loud but good quality sound out of my laptop, so I 3D printed a speakerbox that uses 36mm mini-monitor drivers, and mounted it inside using the Peek Array. I would be totally stoked if a user with real audio design experience was to come up with and share a proper tuned-port design that I could install in my laptop. However, other users with weight, space or power concerns can just as easily design and install a more modest speaker.

I started the Gen-2 case design in early February, after xobs and I finally decided it was time to launch a crowdfunding campaign. With a bit of elbow grease and the help of a hard working team of engineers and project managers at my contract manufacturing partner, AQS (that’s Celia and Chemmy pictured above, doing an initial PCBA fitting two weeks ago), I was able to bring a working prototype to San Jose and use it to give my keynote at EELive today.

The Heirloom Design (Limited Quantities)

One of the great things about open hardware is it’s easier to set up design collaborations – you can sling designs and prototypes around without need for NDAs or cumbersome legal agreements. As part of this crowdfunding campaign, I wanted to offer a really outstanding, no-holds barred laptop case – something you would be proud to have for years, and perhaps even pass on to your children as an heirloom. So, we enlisted the help of Kurt Mottweiler to build an “heirloom laptop”. Kurt is a designer-craftsman situated in Portland, Oregon and drawing on his background in luthiery, builds bespoke cameras of outstanding quality from materials such as wood and aluminum. We’re proud to have this offering as part of our campaign.

For the prototype case, Kurt is featuring rift-sawn white oak and bead-blasted-and-anodized 6061 aluminum. He developed a composite consisting of outer layers of paper backed wood veneer over a high-density cork core with intervening layers of 5.5 ounce fiberglass cloth, all bonded with a high modulus epoxy resin. This composite is then gracefully formed into semi-monocoque curves, giving a final wavy shape that is both light, stiff, and considers the need for air cooling.

The overall architecture of Kurt’s case mimics the industry-standard clamshell notebook design, but with a twist. The keyboard used within the case is wireless, and can be easily removed to reveal the hardware within. This laptop is an outstanding blend of tasteful design, craftsmanship, and open hardware. And, to wit, since these are truly hand-crafted units, no two units will be exactly alike – each unit will have its own grain and a character that reflects Kurt’s judgment for that particular piece of wood.

How You can Help

For the crowdfunding campaign to succeed, xobs and I need a couple hundred open source enthusiasts to back the desktop or standard laptop offering.

And that underlies the biggest challenge for this campaign – how do we offer something so custom and so complex at a price that is comparable to a consumer version, in low volumes? Our minimum funding goal of $250,000 is a tiny fraction of what’s typically required to recover the million-plus dollar investment behind the development and manufacture of a conventional laptop.

We meet this challenge with a combination of unique design, know-how, and strong relationships with our supply chain. The design is optimized to reduce the amount of expensive tooling required, while still preserving our primary goal of being easy to hack and modify. We’ve spent the last year and a half poring over three revisions of the PCBA, so we have high confidence that this complex design will be functional and producible. We’re not looking to recover that R&D cost in the campaign – that’s a sunk cost, as anyone is free to download the source and benefit from our thoroughly vetted design today. We also optimized certain tricky components, such as the LCD and the internal display port adapter, for reliable sourcing at low volumes. Finally, I spent the last couple of months traveling the world, lining up a supply chain that we feel confident can deliver this design, even in low volume, at a price comparable to other premium laptop products.

To be clear, 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.

If you’re as excited about having a hackable, open laptop as we are, please back our crowdfunding campaign at Crowd Supply, and follow @novenakosagi for real-time updates.

Building my Own Laptop

Sunday, December 16th, 2012

We are building an open laptop, with some wacky features in it for hackers like me.

This is a lengthy project. Fortunately, ARM CPUs are getting fast enough, and Moore’s Law is slowing down, so that even if it took a year or so to complete, I won’t be left with a woefully useless design. Today’s state of the art ARM CPUs — quad-core with GHz+ performance levels — is good enough for most day-to-day code development, email checking, browsing etc.

We started the design in June, and last week I got my first prototype motherboards, hot off the SMT line. It’s booting linux, and I’m currently grinding through the validation of all the sub-components. I thought I’d share the design progress with my readers.

Of course, a feature of a build-it-yourself laptop is that all the design documentation is open, so others of sufficient skill and resources can also build it. The hardware and its sub-components are picked so as to make this the most practically open hardware laptop I could create using state of the art technology. You can download, without NDA, the datasheets for all the components, and key peripheral options are available so it’s possible to build a complete firmware from source with no opaque blobs.

Above is an annotated diagram of the circuit board. The dimensions of the board are approximately 121mm x 150mm — sized to fit comfortably underneath a standard-sized laptop keyboard. The image above is rotated versus the installation orientation; the port farm is meant to be on the right hand side of the laptop, not on the bottom. The overall height of the board is just under 14mm, with the height being set by the thickness of an Ethernet connector. The thickness on my Lenovo T520 base portion is just under 24mm, so once we stack a keyboard and plastics on this it’ll be just about the same.

Here are some of the features of the laptop motherboard:

  • Freescale iMX6 CPU — same footprint can support dual-lite and quad versions:
  • Internal memory:
    • 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 LVDS LCD connector (up to QXGA (2048×1536) @ 60Hz resolution) 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 (*)
  • External ports:
    • HDMI
    • 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:
    • 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 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.
    • 8x FPGA-driven 12-bit, 200ksps analog inputs
    • 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
    • Raspberry-Pi compatible expansion header
    • 13x CPU-driven supplemental digital I/Os
    • 3x internal UART ports

    Items marked with an asterisk (*) require a closed-source firmware blob, but the system is functional and bootable without the blob.

    In order to give maximum power management flexibility, the battery interface functions are implemented on a daughtercard. I co-opt a cheap and common SATA-style connector to route power and control signals between the mainboard and the daughtercard. To prevent users from accidentally plugging a hard drive into the battery port, I inverted the gender of the battery-SATA connector from the actual mass storage SATA-II connector. The current battery card is meant to work with the battery packs used by most RC enthusiasts — LiPo packs ranging from 2S1P to 4S1P (2-cell to 4-cell). RC packs are great because they are designed for super-fast charging. They are also cheap and easy to buy. For the board-side battery plug I decided to use the Molex connector found on classic disk drives, since they are cheap, common, and easy to assemble with simple tools. I couldn’t use a standard RC connector because the vast majority of them are designed for in-line use, and the few that have board mounts are too thick or too weird for use in this application.

    The battery board can charge batteries at rates in excess of 4A. This means charging a 3-cell, 45Wh (4Ah) pack in about one hour. I’m estimating that a typical power consumption for a reasonable system configuration might be around 5-6W, so that’s 7-8 hours of runtime with a 1-hour charge time using that type of battery pack. Of course, since the whole laptop is user-configurable, typical power consumption is really hard to estimate — you could drop in a monster LCD and a power-hungry magnetic hard drive with loads of peripherals and the power consumption could be much higher. Of course, you can drop in a 100Wh battery pack if you wanted as well :)

    Another cute feature of the battery board is that it can drive an analog panel meter. Xobs had suggested that it would be neat to embed a retro analog needle meter into the palmrest of the laptop to give a real-time display of power consumption. I thought it was a great idea, so I designed that in. Of course, the analog meter is driven by a DAC on the battery microcontroller, so it can be configured to perform a multitude of useful (or not so useful) analog read-outs, such as remaining runtime, battery voltage, temperature, the time (represented as an analog value), etc.

    Next up is to spend a couple months validating all the features on the board — a long list of features to grind through indeed — and port drivers and a linux distro (no small task, but I’ll have Xobs‘ skillful help). I also am looking forward to designing the enclosure. Probably for the first rev, I will do something out of laser-cut acrylic that is vaguely tablet-like, to avoid having to mess around with a friction clutch on version 1 of the plastics.

    A detached keyboard/trackpoint is attractive to me because I’ve always wanted a display I can “hang” on the seat in front of mine when sitting in an airplane or a bus — it’s a lot easier on the neck and the arrangement actually works better if the person in front reclines their seat.

    Once I’ve got some experience integrating the whole thing, I’ll probably design a rev-2 case using CNC-cut ABS and aluminum. CNC cut ABS is almost as robust as injection molded ABS, and can produce reasonably intricate shapes. It’s also relatively economical to produce in single quantities. The CNC-cut design could be a clamshell design, or maybe some other funky design. Maybe I’ll try using wood and brass — who knows, the whole idea of making my own laptop is to play around with some new ideas!

    It occurs to me that maybe other people might also be interested in owning a laptop like this, but don’t want to go through the trouble of fabricating their own circuit boards. If it seems like a few hundred folks are interested, I might be convinced to try a Kickstarter campaign in several months, once the design is stable and tested. However, I’m not looking to break any low-price records for this laptop — if you just want a cheap linux laptop you’re better off buying a netbook or EeePC. This is a low-volume, hand-crafted laptop made with uniquely open-source components, so the pricing would be consistent with such crafted goods.

    For those interested in the source files for the current early prototype iteration of the design, bounce over to the Novena wiki, and keep an eye on Xobs’ blog. Novena (yet another Singaporean metro station, and also Latin for “nine”) is our stand-in codename for the laptop motherboard.