[Bunnie]‘s Open Source Laptop Is Ready For Production

SONY DSC

Just over a year ago, [Bunnie Huang] announced he was working on a very ambitious personal project: a completely open source laptop. Now, with help from his hardware hacker compatriot [xobs], this laptop named Novena is nearly complete.

Before setting out on this project, [Bunnie] had some must-have requirements for the design. Most importantly, all the components should be free of NDA encumbrances. This isn’t an easy task; an SoC vendor with documentation sitting around on their servers is rare as hen’s teeth, and Freescale was the only vendor that fit the bill. Secondly, the entire laptop should be entirely open source. [Bunnie] wasn’t able to find an open source GPU, so using hardware video decoding on his laptop requires a binary blob. Software decoding works just fine, though.

Furthermore, this laptop is designed for both security and hardware hacking. Two Ethernet ports (one 1Gbit and the second 100Mbit), a USB OTG port, and a Spartan 6 FPGA put this laptop in a class all by itself. The main board includes 8x analog inputs, 8x digital I/O ports, 8 PWM pins, and a Raspberry Pi-compatible header for some real hardware hackery.

As for the specs of the laptop, they’re respectable for a high-end tablet.  The CPU is a Freescale iMX6, a quad-core ARM Cortex-A9 running at 1.2 GHz. The RAM is upgradeable to 4GB, an internal SATA-II port will easily accommodate a huge SSD, the ability to use an LCD adapter board to run the 13-inch 2560×1700 LED panel [Bunnie] is using. The power system is intended to be modular, with batteries provided by run-of-the-mill RC Lipo packs. For complete specs, check out the wiki.

Despite the high price and relatively low performance (compared to i7 laptop) of [Bunnie]‘s laptop, there has been a lot of interest in spinning a few thousand boards and sending them off to be pick and placed. There’s going to be a crowd funding campaign for Novena sometime in late February or March based around an “all-in-one PC with a battery” form factor. There’s no exact figure on what the price of a Novena will be, but it goes without saying a lot will be sold regardless.

If you want the latest updates, the best place to go would be the official Novena twitter: @novenakosagi

A Low Cost Dual Discriminator Module for the Easy-phi Project

A few months ago I presented you the Easy-phi project, which aims at building a simple, cheap but intelligent rack-based open hardware/software platform for hobbyists. With easy-phi, you simply have a rack to which you add cards (like the one shown above) that perform the functions you want.

Recently my team finished testing our FPGA-based discriminator or “universal input” if you prefer. As easy-phi cards use a well-defined electrical signal to communicate with each other, we needed to make a card that would translate the different kinds of electrical signals from the outside, as well as perform plenty of other functions. It was therefore designed to have a 100MHz input bandwidth with an AC/DC coupled 50 ohm/high impedance input stage (x2) and 4 easy-phi outputs. For this module, we picked the (old) spartan3-an FPGA to perform the different logic functions that may be needed by the final users (high speed counter, OR/XOR/AND, pulse creation,…). Using the cortex-m3 microcontroller present on the board, it may be easily reconfigured at will. All design resources may be found on our Github, and you can always have a look at our official website.

Controlling Ten Thousand RGB LEDs

LEDsRGB LEDs are awesome – especially the new, fancy ones with the WS2812 RGB LED driver. These LEDs can be individually controlled to display red, green, and blue, but interfacing them with a microcontroller or computer presents a problem: microcontrollers generally don’t have a whole lot of RAM to store an image, and devices with enough memory to do something really cool with these LEDs don’t have a real-time operating system or the ability to do the very precise timing these LEDs require.  [Sprite_tm] thought about this problem and came up with a great solution for controlling a whole lot of these WS2812 LEDs.

[Sprite] figured there was one device on the current lot of ARM/Linux boards that provides the extremely precise timing required to drive a large array of WS2812 LEDs: the video interface. Even though the video interface on these boards is digital, it’s possible to turn the 16-bit LCD interface on an oLinuXino Nano into something that simply spits out digital values very fast with a consistent timing. Just what a huge array of RGB pixels needs.

Using a Linux board to drive RGB pixels using the video output meant [Sprite_tm] needed video output. He’s running the latest Linux kernel, so he didn’t have the drivers to enable the video hardware. Not a problem for [Sprite], as he can just add a few files to define the 16-bit LCD interface and add the proper display mode.

[Sprite_tm] already taken an oscilloscope to his board while simulating 16 strips of 600 LEDs, and was able to get a frame rate of 30 fps. That’s nearly 10,000 LEDs controlled by a single €22/$30USD board.

Now the only obstacle for building a huge LED display is actually buying the RGB LED strips. A little back-of-the-envelope math tells us a 640×480 display would be about $50,000 in LEDs alone. Anyone know where we can get these LED strips cheap?

[Read more...]

Building An Engine Control Unit With The STM32F4

ECU

If you’re looking to soup up your whip, the first place you’ll probably look is the engine control unit. This computer shoved in the engine compartment controls just about every aspect of your car’s performance, from the air/fuel ratio, the ignition timing, and the valve controls. Upgrading the ECU usually means flashing new firmware on the device, but [Andrey] is taking it one step further: he’s building his own ECU using the STM32F4 Discovery dev board.

[Andrey]‘s ride is a 1996 Ford Aspire, but while he was developing his open source ECU, he wanted to be able to drive his car. No problem, as going down to the junkyard, picking up a spare, and reverse engineering that was a cheap and easy way to do some development. After powering this spare ECU with an ATX supply, [Andrey] was able to figure out a circuit to get sensor input to his microcontroller and having his dev board control the fuel injector.

With a few additional bits of hardware [Andrey] has his open ECU controlling the fuel injection, ignition, fuel pump, and idle air valve solenoid. Not a bad replacement for something that took Ford engineers thousands of man hours to create.

[Andrey]‘s ECU actually works, too. In the video below, you can see him driving around a snow-covered waste with his DIY ECU controlling all aspects of the engine. If the engine sounds a little rough, it’s because a wire came loose and he was only using two cylinders. A bit of hot glue will fix that, though.

[Read more...]

Making An ARM Powered MIDI Synthesizer

What you see in the picture above is a hand-made 4-oscillator synthesizer with MIDI input, multi-mode filter and a handful of modulation options. It was built by [Matt], an AVR accustomed electronics enthusiast who made an exception to his habits for this project. The core of the platform is a DIP packaged 32-bit Cortex-M0 ARM processor (LPC1114), stuffed with ‘hand’ written assembly code and compiled C functions. With a 50MHz clock speed, the microcontroller can output samples at 250kHz on the 12bit DAC while being powered by 3 AA batteries.

Reading [Matt]‘s write-up, we discover that the firmware he created uses 4 oscillators (sawtooth or pulse shape) together with a low frequency oscillator (triangle, ramp, square, random shapes). It also includes a 2-pole state-variable filter and the ability to adjust the attack-release envelopes (among others). The system takes MIDI commands from a connected device. We embedded videos of his creation in action after the break.

[Read more...]

Meet the Teensy 3.1

[Paul Stoffregen] just released an updated version of his Teensy 3.0, meet the oddly named Teensy 3.1. For our readers that don’t recall, the Teensy 3.0 is a 32 bit ARM Cortex-M4 based development platform supported by the Arduino IDE (using the Teensyduino add-on). The newest version has the same size, shape & pinout, is compatible with code written for the Teensy 3.0 and provides several new features as well.

The Flash has doubled, the RAM has quadrupled (from 16K to 64K) allowing much more advanced applications. The Cortex-M4 core frequency is 72MHz (48MHz on the Teensy 3.0) and the digital inputs are 5V volts compatible. Pins 3 and 4 gained CAN bus functions. The new microcontroller used even has a 12 bits Digital to Analog Converter (DAC) so you could create a simple signal generator like the one shown in the picture above. Programming is done through the USB port, which can later behave as host or slave once your application is launched. Finally, the price tag ($19.80) is in our opinion very reasonable.

Embedded below is an interview with its creator [Paul Stroffregen].

[Read more...]

Speeding Up BeagleBone Black GPIO A Thousand Times

scope

For both the Raspberry Pi and BeagleBone Black, there’s a lot of GPIO access that happens the way normal Unix systems do – by moving files around. Yes, for most applications you really don’t need incredibly fast GPIO, but for the one time in a thousand you do, poking around /sysfs just won’t do.

[Chirag] was playing around with a BeagleBone and a quadrature encoder and found the usual methods of poking and prodding pins just wasn’t working. By connecting his scope to a pin that was toggled on and off with /sysfs he found – to his horror – the maximum speed of the BBB’s GPIO was around three and a half kilohertz. Something had to be done.

After finding an old Stack Overflow question, [Chirag] hit upon the solution of using /dev/mem to toggle his pins. A quick check with the scope revealed he was now toggling pins at 2.8 Megahertz, or just about a thousand times faster than before.

Follow

Get every new post delivered to your Inbox.

Join 96,693 other followers