Novena Main Page
Novena is an open hardware and F/OSS computing platform.
Real-time updates and announcements can be tracked by following @novenakosagi on twitter.
Alpha evaluators: Please visit Using Novena PVT1 for more info.
Contents
Hardware
More photos: Novena PVT Hardware Photos
Mainboard
Features:
- Freescale iMX6 CPU — same footprint can support dual-lite and quad versions:
- Quad-core Cortex A9 CPU with NEON FPU @ 1.2 GHz
- Vivante GC2000 OpenGL ES2.0 GPU, 200Mtri/s, 1Gpix/s (*)
- NDA-free datasheet and programming manual
- 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 wifi, bluetooth, mobile data, etc.)
- UIM slot for mPCIx mobile data cards
- Dual-channel LVDS LCD connector with USB2.0 side-channel for a display-side camera
- Resistive touchscreen controller (note: captouch displays typically come with an embedded controller)
- 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:
- 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.
- High-speed I/O expansion header
Items marked with an asterisk (*) require a closed-source firmware blob, but the system is functional and bootable without the blob.
Keep an eye on bunnie's blog for updates and notes. You can also discuss at the forum.
Battery board
More photos: Novena PVT Hardware Photos
Battery management functions are implemented in an optional daughtercard.
Features:
- SATA-style connector to route power and control signals to the main board
- Works with battery packs used by most RC enthusiasts
- 2S1P to 4S1P
- 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
- STM32 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 so as to prevent surreptitious malware insertion
- Has DAC output to drive an analog panel meter
eDP Adapter
More photos: Novena PVT Hardware Photos
Novena natively supports a dual-channel LVDS interface for LCDs. However, today's LCD panels are migrating to an eDP-style interface. To bridge this gap, there is the eDP adapter board.
Features:
- IT6251 chipset
- DisplayPort 1.1a Tx supporting HBR (2.7Gbps) and RBR (1.62 Gbps)
- Input pixel rate up to 165MHz
- 24-bit color
- Breakouts for touchscreen and USB
- On-board switching regulators for low power operation
In addition, there is a custom flex cable that goes between the Novena mainboard and the eDP adapter.
Hardware Design Source
Please see Novena PVT Design Source.
Firmware
Software
Once you get Novena running, there are a few tweaks that you might have to make to the software to get it to run. Not all software likes running on Linux on anything other than x86/x64. Others just require software fixes to work around kernel bugs that we haven't fixed yet.
Enigmail
Enigmail (and possibly some other Thudnerbird extensions) explicitly only works for x86 and x64, Linux, Windows, and Darwin. You need to modify install.rdf. If you're using Debian, it's called Icedove.
- Install the extension, either from Thunderbird itself, or through "apt-get install enigmail"
- Edit either ~/.thunderbird/*.default/extensions/{GUID}/install.rdf OR /usr/lib/xul-ext/enigmail/install.rdf
- Find the lines that contain <em:targetPlatform> (e.g. <em:targetPlatform>Darwin_x86_64-gcc3</em:targetPlatform>)
- Add the following line:
<em:targetPlatform>Linux_arm-eabi-gcc3</em:targetPlatform>
- Save and close the file
- Restart Thunderbird
PulseAudio
PulseAudio uses a type of scheduling that requires very accurate DMA response. Unfortunately, this is not accurate with the current i.MX6 DMA driver. The workaround is to use time-based scheduling instead.
- Edit /etc/pulse/default.pa
- Locate the line that says "load-module module-udev-detect"
- Replace it with the following line:
load-module module-udev-detect tsched=0
- Save the file
- Run "killall pulseaudio"
Booting Novena
See booting novena for details on running the board after building and flashing the novena firmware.
Source
Mainboard
EVT-stage design files. As always, provided as-is, no warranty for fitness -- but particularly worthy of re-iteration since as an EVT design, it is in early stages and I fully expect to be finding and fixing bugs.
Battery board
EVT-stage design files. As always, provided as-is, no warranty for fitness -- but particularly worthy of re-iteration, since as an EVT design it is in early stages and I fully expect to be finding and fixing bugs.
DVT-stage design files.
Kernel
Novena uses the stock Linux kernel with few patches. Any patches that might be useful to other projects (such as PCIe or ES8328 audio codec) are being submitted upstream.
The 2D/3D/Vector unit requires its own driver, which is available in source form on Github. Different userspace drivers require different kernel modules, so be sure to check out the branch that corresponds with your driver version.
More Pages
Here on the wiki:
Getting started
Build notes
Tech notes
- Booting novena
- Novena/Crypto
- Novena Issue Log
- Novena DVT Issue Log
- Novena PVT Issue Log
- Novena ddr3 notes
- Novena/Power Management Board
- Definitive GPIO guide