Building The Novena Laptop

The latest hardware project from [Bunnie] is the Novena, a truly open source laptop where nearly every part has non-NDA’d datasheets. This is the ideal laptop for hardware hacking – it has an FPGA right on the motherboard, a ton of pin headers, and a lot of extras that make interfacing with the outside world easy.

While the crowdfunding campaign for the Novena included a completely custom laptop, it was terribly expensive. That’s okay; it’s an heirloom laptop, and this is a DIY laptop anyway. With the Novena now shipping, it’s time for people to build their laptops. [Ben Heck] is the first person to throw his hat into the ring with his own build of the Novena laptop, and it’s fantastic.

The second video of the build was dedicated to what is arguably the most important part of any laptop: the keyboard. For the keyboard, [Ben Heck] went all out. It’s a completely mechanical keyboard, with backlit LEDs built around the Phantom PCB with Cherry MX switches. Because this is a DIY laptop and something that is meant to be opened, the keyboard is completely removable. Think of something like the original Compaq luggable, but turned into a laptop that looks reasonably modern.

The laptop enclosure was constructed out of a sandwich of an aluminum and laser cut plastic. These layers were glued and screwed together, the parts were carefully mounted into the case. The USB keyboard was attached directly to one of the chips on the motherboard with a few flying wires and hot glue.

The finished build is fantastic, even if it is a bit thick. It’s the ultimate hacker’s laptop, with an FPGA, Linux, open source everything, and even a cute little secret compartment for storing tools and cable adapters. A great build from one of the best builders around.

27 thoughts on “Building The Novena Laptop

    1. please pardon my ignorance but how the heck can you put a backdoor in an FPGA? most of them are specifically designed without “firmware” so they have to be programmed on the fly…

    2. ITAR is about export control – some high-end FPGAs are export controlled. How exactly would you backdoor an FPGA anyway? It’s hardware, not code, so there is no way a backdoor could know what the design is supposed to do or what interfaces it might have.
      Or are you suggesting there is a deliberate weakness in the encrypted bitstream mechanism to allow it to be copied? Hard to see how that would be any use to the Spooks.

      1. Not that hard – if they (TLA of choice) can get access to the device and dump the configuration they can then modify it and make the device leak data in a number of ways.

        But as everyone knows (or should know) if one have access to a device one can hack it.

        1. You’re well into la-la cuckoo land there. It’s MUCH harder for an intelegency agency to reverse engineer a low volume design (which is what FPGAs are for after all) and hack their own back door in to it than it is to hack a general purpose CPU or OS. It’s also something that the design engineers put a lot of effort into validating, so anomalies are more often spotted. They are better off finding holes in whatever CPU based system is in control.

    1. Agreed, the credit for building the keyboard should go to Felix. He spent hours putting the keyboard together with LEDs behind each key. Yes, Ben helped with making sure that only 1 row of LEDs were lit at a time but switches between rows fast enough to not be noticeable.

  1. I’m a fan of [Bunnie] and I’ve heard a lot about [Bunnie] and Sean’s Novena but not a lot about what can be done with it.
    I’ve been looking at something similar (and cheaper but not as cool) with off the shelf components. It seems like a Raspi2, beaglebone black and an FPGA trainer along with some opensource software, batteries and storage could be used to create a cheap configurable hacker system.
    What can the Novena do?

    1. I think some great insight is given in Bunnie’s Fernvale blog post: http://www.bunniestudios.com/blog/?p=4297 (search for Novena)

      The big advantage (IMO) is the FPGA is sat on a big wide bus which seems easy to interface to the OS. You can’t really do the same thing on a BB or RPi because this kind of bus isn’t broken out. Sure you could do something with a bunch of GPIOs, or write a module to allow mmap-ing something on the other end of an SPI bus… but it’s not the same.

      The whole “we just mapped the ‘ROM’ into linux userspace at the same time the phone was booted from it” thing is afaik completely unique to Novena, and is absolutely *awesome*

  2. Did anyone even attempt to probe the hackers community to know if we have enough people/money to fund fully open source processors and associated chipsets creation? I don’t mean setting up a fab but rather designing something from scratch that can be released for free. Once it’s ready it would be soon picked up by far east manufacturers as like us they want to trust their systems.

    1. Like openRISC? OpenCores.org has been accepting donations for years to get an ASIC built, but the turnout has been abysmal. Then again, not many seem to have heard about it.

    2. I wonder how much Micron would sell their Rendition IP for?

      Rendition’s V1000 GPU was for a brief time top of the heap ahead of Matrox, S3, ATi and 3dFX. But with the V1000 topping out at 4 megabytes of video memory the others quickly leapfrogged Rendition in both memory capacity and overall performance.

      Due to a bug discovered in the design of their second generation V2100/V2200 GPU the company lost half a year bringing it to market. Ultimately the bug tested out that it would not have caused any problems in actual use by real software. Rendition could have just shipped on time then quietly redone the design once the bug was found. (The only difference between the 2100 and 2200 was clock speed. Only one vendor shipped a V2100 board, then released a BIOS update to run it at the 2200 speed.)

      With the lost time and lost income, Rendition’s planned “Thriller Conspiracy” combining a Hercules Pinolite with their V2200 was too little, too late to match against the nVidia Riva TNT and 3dFX’s Voodoo 2.

      The V3300 was never released due to delays from lack of funds. Had it been produced it would also have been behind the other GPU manufacturers by its launch.

      After the purchase by Micron (wherein it was promised that a full OpenGL ICD for the V1000 would happen but didn’t) the Rendition team proposed the V4400E, a 125 million transistor monster with 12 megabytes on-die RAM. Another proposed V4400 model had 4 meg RAM plus PCI interface, USB interface, Ultra ATA 66, AC’98 audio controller, and IEEE 1394 on one chip.

      Micron used the Rendition name on a line of PC RAM, which was later changed to SpecTek Select.

      So Micron has this intellectual property they have *never actually used*. I’d think they’d want to sell it off cheap and have the loss amortized across the past 15+ years.

      V3300 features

      Dual Pixel Engine
      dual-texturing for bilinear and trilinear filtering
      specular highlighting (per vertex), Anti-aliasing
      3 million triangles/second triangle setup engine, 200 million pixels/s trilinear fillrate
      Dual independent 250 MHz RAMDAC CRT controllers
      iDCT transformations & motion compensation support (DVD playback acceleration)
      Compatible with 166 MHz SDRAM/SGRAM
      128-bit bus architecture
      AGP 2X execute mode support

      How does that compare to current smartphone GPUs?

      1. The Adreno 330 in my Sony Z1 Compact can do a 3.6 Gigapixel fillrate, it’s clocked at 450MHz and can do up to 325 million triangles/second. This is a phone GPU which was available from Q2 2013.

  3. ITAR is about export control – some high-end FPGAs are export controlled. How exactly would you backdoor an FPGA anyway? It’s hardware, not code, so there is no way a backdoor could know what the design is supposed to do or what interfaces it might have.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.