Tag Archives: ARM

[Bunnie] Launches the Novena Open Laptop

via Hack a Day» hardware

Novena Laptop

Today [Bunnie] is announcing the launch of the Novena Open Laptop. When we first heard he was developing an open source laptop as a hobby project, we hoped we’d see the day where we could have our own. Starting today, you can help crowdfund the project by pre-ordering a Novena.

The Novena is based on the i.MX6Q ARM processor from Freescale, coupled to a Xilinx Spartan 6 FPGA. Combined with the open nature of the project, this creates a lot of possibilities for using the laptop as a hacking tool. It has dual ethernet, for routing or sniffing purposes. USB OTG support lets the laptop act as a USB device, for USB fuzzing and spoofing. There’s even a high speed expansion bus to interface with whatever peripheral you’d like to design.

You can pre-order the Novena in four models. The $500 “just the board” release has no case, but includes all the hardware needed to get up and running. The $1,195 “All-in-One Desktop” model adds a case and screen, and hinges open to reveal the board for easy hacking. Next up is the $1,995 “Laptop” which includes a battery control board and a battery pack. Finally, there’s the $5000 “Heirloom Laptop” featuring a wood and aluminum case and a Thinkpad keyboard.

The hardware design files are already available, so you can drool over them. It will be interesting to see what people start doing with this powerful, open computer once it ships. After the break, check out the launch video.

Filed under: ARM, Crowd Funding, hardware

Designing a WakeUp Light

via Hack a Day» hardware

[Akhil] and his wife recently finished their WakeUp Light project. As the name suggests, this kind of morning alarm uses light to wake you up in the morning. The main constraints when starting this relationship-strengthening adventure were cost, ability to work with any table lamp, and having a simple but effective control interface, all while keeping all the design open. The created platform (put in the wooden box shown above) is built around a Stellaris Launchpad (ARM Cortex M4 based) and uses an AC dimmer circuit found in this instructable. For our readers interested in those, [Akhil] mentions two very interesting articles about their theory of operation here and here.

An Android application has been made to set up all the alarm parameters, which uses the phone’s Bluetooth to communicate with the (well-known) HC-05 Bluetooth transceiver connected to the Launchpad. For safety, the current design also includes an LM4876 based audio amplifier connected to the microcontroller’s PWM output. The next revision will integrate a Digital to Analog Converter and an SD-Card slot for better quality and music diversity. A presentation video is embedded after the break and you can find the official repository at GitHub.

Filed under: ARM, hardware, lifehacks

GEVCU – an Open Generalized Electric Vehicle Control Unit

via Hack a Day» hardware

At Hackaday we’re very happy to see the increasing number of open hardware devices that appear everyday on the internet, and we’re also quite thrilled about open-source electric cars. Pictured above is the GEVCU, an open source electric vehicle control unit (or ECU). It is in charge of processing different inputs (throttle position, brake pressure, vehicle sensors) then send the appropriate control commands to electric motor controllers (aka inverters) via CAN bus messages or digital / PWM signals.

The project started back in December 2012 and was originally based on an Arduino Due. Since then, the GEVCU went through several revisions and ultimately a complete custom board was produced, while still keeping the Cortex M3 ATSAM3X8E from the Due. As you may have guessed, the board also includes a Wifi transceiver so users may adjust the ECU parameters via a web based platform. All resources may be downloaded from the official GitHub.

Filed under: Arduino Hacks, ARM, hardware

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

via Hack a Day» hardware


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

Filed under: ARM, hardware

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

via Hack a Day» hardware

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.

Filed under: Arduino Hacks, ARM, hardware

A cortex M4 based platform with ETH, USB, BT and many on-board peripherals

via Hack a Day» hardware

Here is a very time consuming project that I worked on during last summer: an ARM Cortex M4 based platform with plenty of communication interfaces and on-board peripherals. The particular project for which this board has been developed is not really HaD material (one of my father’s funny ideas) so I’ll only describe the platform itself. The microcontroller used in the project is the ATSAM4E16C from Atmel, which has 1Mbyte of flash and 128Kbytes of SRAM. It integrates an Ethernet MAC, a USB 2.0 Full-speed controller, a sophisticated Analog to Digital Converter and a Digital to Analog Converter (among others).

Here is a list of the different components present on the board so you can get a better idea of what the platform can do: a microphone with its amplifier, a capacitive touch sensor, two unipolar stepper motors controllers, two mosfets, a microSD card connector, a Bluetooth to serial bridge, a linear motor controller and finally a battery retainer for backup power. You can have a look at a simple demonstration video I made, embedded after the break. The firmware was made in C and uses the Atmel Software Framework. The project is obviously open hardware (Kicad) and open software.

If you’re interested in one platform and don’t want spending many hours soldering it, I even made a profitless fundraiser (even though I need a better camera and a better accent!).

Filed under: ARM, hardware

Easy-phi: an Open Source Platform for Experimenters

via Hack a Day» hardware

As a few of Hackaday readers may already know, my day job involves working with high speed electronics. For the last few months, my team at [Université de Genève] in Switzerland has been working on an open source platform (mostly) targeted for experimenters: the easy-phi project. The main idea is to build a simple, cheap but intelligent open hardware/software platform consisting of a 19″ frame (or smaller), which can house a big variety of electronic modules. Hobbyist would therefore only make/buy the modules that would suit their needs and control them through a web page / standalone application / Labview module.

I detailed in more depth on my website the technical aspects of the project. To give you a quick and simple overview, the rack is essentially a USB hub that connects all the modules to a Cubieboard. It also integrates a few synchronization signals, a clock and a monitoring system for voltages, temperatures, power consumption. The modules are made of template + module specific electronics. The template electronics are part of the ‘easy-phi standard’, they consist of the Arduino compatible SAM3X8E microcontroller and of a few other power related components. This ensures electrical and firmware compatibility between the rack and modules that you guys may develop. It is important to note that the modules are enumerated on the USB bus as composite CDC (communication device) and MSC (mass storage). The CDC is used to configure the module while the MSC allows you to grab its documentation, resources, and standalone application in case you use the module without the rack.

The chosen schematics / layout software is Kicad, and all current files can be found on our github. Others will be uploaded once we have tested the other modules currently in the pipe. As the ones we’re developing are physics oriented, we hope that enthusiasts will bring easy-phi to other domains. Don’t hesitate to contact us if you have any question or if you’d like to contribute.

Filed under: Arduino Hacks, ARM, hardware

A $5 ARM development board

via Hack a Day» hardware

Most of you know that there are plenty of ARM powered development boards out there, so you may not be really sure what a new one can still bring to the table.

With a $5 price tag, the open hardware McHck (pronounced McHack) is meant for quickly building projects on a small budget. The board created by [Simon] is based on a Freescale Cortex M4 microcontroller, and can be plugged directly into one’s computer. As a Direct Firmware Update (DFU) bootloader is present on the microcontroller, there is no need for external programming equipment.

The board has unpopulated footprints that allow users to add other functionalities that may be required for their future projects: a Real Time Clock (RTC), a Boost regulator for single cell battery operation, Buck and linear regulators, a Lithium Polymer (LiPo) battery charger and even an External Flash storage.

The Bill of Materials can be found on the project wiki and the McHck community will soon launch a crowdfunding campaign to send the 5th version of the board to all the hobbyists that may be interested.

And if you’re curious, you can also have a look at all the other boards that Hackaday featured these last months: the browser based IDE arm boardquad-core ARM dev board and the Matchbox ARM.

Filed under: hardware

Arduino-compatible, quad-core ARM dev board

via Hack a Day» hardware


The Advent of the Raspberry Pi has seen an explosion in the market for ARM dev boards, sometimes even with pinouts for Arduino shields. The UDOO, though, takes those boards and ramps up the processing power for some very, very interesting builds.

The UDOO comes equipped with a dual or quad-core ARM CPU running at 1GHz with 1 GB of RAM. Also on board is the Atmel SAM3X8E – the same chip in the new Arduino DUE - and has pinouts for all those Arduino shields you have lying around.

In addition to serving your next project as a souped-up Raspberry Pi, UDOO also includes 78 (!) GPIO pins, Gigabit Ethernet, a camera connector, one SATA port (on the quad-core version), and an LVDS header for attaching LCD monitors. Basically, the UDOO is the motherboard of an ARM-powered laptop with the pinouts to handle Arduino shields. It’s just like [Bunnie]‘s laptop, only this time you can actually buy it.

The UDOO doesn’t come cheap, though: on the UDOO Kickstarter, the dual-core version is going for $150 while the quad-core is priced at $170. Still, if you need the power to run a pair of Kinects or want to build an awesome torrent box, you’d be hard pressed to find a more powerful board.

Filed under: ARM, hardware

Frederik and Ernest’s Europe – Middle East – Africa roadtrip

via Raspberry Pi

Frederik and Ernest Lotter from Blue Horizon Embedded Systems in South Africa are driving from the UK to South Africa via Russia and the Middle East, taking in seventeen countries on their way.

They are making the journey in a Land Rover Defender which is fitted with a Raspberry Pi-based distributed light control system. The Raspberry Pi, and their lighting rig design, will be put to the test over 22000km of harsh conditions and rough terrain.

The Lotter brothers are experienced electronic engineers and are offering to meet up with groups of potential Raspberry Pi or ARM enthusiasts along the way. There may even be a Pi-themed reward available if you can find them using the live GPS tracking system they have installed.

You can track them live online, and if you want them to come and talk to your school, business or another group about Raspberry Pi and ARM processors while they’re in your country, they’re inviting you to email them - please get in touch as soon as possible if you’d like them to visit. Watch the video to learn more, and to find out what their route looks like. Thanks Fred and Ernest; we’re looking forward to tracking your progress!

Drawing Arm with Arduino

via Arduino Blog

Can you imagine to build a robotic arm that can draw? Actually [acorv] realized a good prototype.

I wanted to build a drawing arm that could write. My first version wasn’t good enough, so I built this one. I used timing belts and pulleys to improve the resolution. Stepper motors are driven by a Motor Shield on top of an Arduino UNO. On the tip, a servo motor allows the pen to go up and down. For input, I used a touch pad.

A more detailed description can be found on the [website].

Netduino gets a huge upgrade

via Hack a Day» hardware

The Netduino, a dev board built around the .NET Micro framework with the goal of being compatible with Arduino shields just got a huge upgrade.

The new Netduino Plus 2 features an upgraded STM32 ARM Cortex-M4 uC running at 168 MHz, improving on the original Netduino’s ARM7 running at 47 MHz. In addition to some more processing power, the STM32-based microcontroller has twice the RAM and six times as much Flash memory. Also, Ethernet (10Mbps), a MicroSD card port, and of course compatibility with all Arduino shields – including the new Arduino ‘Revision C’ boards for the Leonardo – remains intact.

In keeping with the design goals of the Netduino, the new board uses the .NET Micro Framework running under Windows. It looks like OS X and Linux users won’t be left out in the cold for long, though; there’s a project to port the .NET Micro stuff over to Mono.

Tip ‘o the hat to [Jason] for sending this one in.

Filed under: ARM, hardware

Turning a 600 mil chip to 300 mil

via Hack a Day » hardware

We’ve seen a few builds featuring NXP’s LPC1114 microcontroller before. This chip – the only breadboard friendly ARM microcontroller available – comes in a ‘still a little too large for prototyping’ 600 mil, 28 pin package. We won’t hazard a guess why NXP chose this rather large package, but the good news is it’s possible to shave this chip down to the more common 300 mil, 28-pin package used by AVRs and PICs.

In the video tutorial of this procedure, the chip is first taped down to a desktop CNC mill. 150 mil on each side of the die are removed, exposing the very cool-looking pattern of leads coming out of the chip. This isn’t enough area to solder, so the chip had to be further milled to expose some of the internal wiring.

After soldering everything to a set of pins, the new 300 mil package is covered in epoxy putty, milled down again into a nice cube shape and painted. Yes, the modified chip does work, and no, we can’t figure out why NXP chose a 600 mil package for this microcontroller over the far more common 300 mil chip.

Video after the break. Tip ‘o the hat to [Ian] for sending this one in.

Filed under: ARM, hardware

PWM on the Stellaris Launchpad

via Hack a Day» hardware

[Joonas] has been following TI’s ‘getting started’ tutorials for their new Stellaris Launchpad. Everything had been going swimmingly until [Joonas] reached the fourth tutorial on interrupts. To the ire of LEDs the world over, implementing PWM on the new Stellaris Launchpad is a somewhat difficult task. After banging his head against the documentation for hours, [Joonas] finally cracked his PWM problem and decided to share his discoveries with the world.

The Stellaris has a PWM mode for its six hardware timers, but unfortunately there are no PWM units on the chip. Solving this problem required making two 16-bit timers out of a single 32-bit one. This allowed [Joonas] to specify a ‘load’ and ‘match’ value.

After coding this up, [Joonas] discovered the PWM timer only works on two of the Launchpad’s pins. Hours of Googling later, he had real PWM on his Stellaris Launchpad.

Given the amount of time [Joonas] spent on this problem, we’re glad to help all the other frustrated Stellaris tinkerers out there by sharing this.

Filed under: ARM, hardware

Raspberry Pi – Where to start?

via Wolf Paulus » Embedded

At its core, the Raspberry Pi uses the Broadcom BCM2835 System-on-a-chip. This single chip contains

  • an ARM1176 CPU (normally clocked at 700MHz)
  • a VideoCore 4 GPU, i.e. a low-power mobile multimedia processor (also used in the Roku-2)
  • 256 MByte SDRAM
  • in addition to the ARM’s MMU, a second coarse-grained Memory Management Unit for mapping ARM physical addresses onto system bus addresses.

The memory needs to be divided into ARM and GPU memory (happens by including one of the supplied start*.elf files into the boot partition). The minimum amount of memory which can be given to the GPU is 32MB. However that will restrict the multimedia performance and 32MB does not provide enough buffering for the GPU to do 1080p30 video decoding.

The second, slightly smaller chip on the Raspberry Pi board, is an LAN9512, an USB 2.0 hub and 10/100 MBit Ethernet controllers. The LAN9512 is a low-cost, power-efficient, small-footprint USB to Ethernet and multi-port USB connectivity solution in a single package, contains a Hi-Speed USB 2.0 hub with two fully-integrated downstream USB 2.0 PHYs, an integrated upstream USB 2.0 PHY, a 10/100 Ethernet MAC/PHY controller, and an EEPROM controller.

Single-Chip, Hi-Speed USB 2.0 Hub and High-Performance 10/100 Ethernet Controllers

Boot Process

Besides the hardware board itself, starting with the boot process seems to be as good an idea as any… When the Raspberry Pi powers up, it’s the GPU that is active, looking for bootcode.bin, loader.bin, start.elf at the root dir of the first partition at the (fat formatted) SDCard. I.e., booting is hardcoded to happen from the SDCard.
The GPU reads and executes bootcode.bin, which then loads loader.bin, which loads start.elf.
Again in the root dir of the first partition it looks for config.txt, contains information like the arm speed (defaults to 700MHz), address from where to load kernel.img, etc.
Now it kernel.img (arm boot binary file) is copied it to memory and the ARM11 is reset that it runs from the address where kernel.img (default kernel_address 0×8000) was loaded.

Memory Split

The memory needs to be divided into ARM and GPU memory and currently, we have three start.elf files to choose from (see below for details).

  • arm128_start.elf: 1:1, 128MBytes for the ARM11 and 128MBytes for the GPU
  • arm192_start.elf: 3:1, 192MBytes for the ARM11 and 64MBytes for the GPU
  • arm224_start.elf: 7:1, 224MBytes for the ARM11 and 32MBytes for the GPU

Broadcom states in their BCM2835 documentation that 32MBytes might not be enough memory for the GPU and until you reach the point where 128MByte aren’t quite enough for the ARM, you may want to go with the 1:1 spit.

Minimal Boot Image and Blinky Program

Let’s put this Boot Process assumptions that were made above to the test.

  • Prepare an SDCard card (a 1 GByte Class-2 cards works just fine) by formatting it with the MS-DOS (FAT) file system.
  • Download a Raspberry Pi Distribution (currently wheezy-raspbian vers.2012-07-15), uncompress the zip file and open the resulting image file 2012-07-15-wheezy-raspbian.img, for instance with DiskImageMounter, if you are using Mac OS X.
  • Copy bootcode.bin form the wheezy-raspbian.img to the root directory of the SDCard.
  • Copy loader.bin form the wheezy-raspbian.img to the root directory of the SDCard.
  • Copy arm128_start.elf form the wheezy-raspbian.img to the root directory of the SDCard and rename it to start.elf.
  • Copy config.txt form the wheezy-raspbian.img to the root directory of the SDCard.
  • Add the following two lines to your config.txt:
    kernel blinky.bin
    kernel_address 0×8000
  • Uncompress and copy blinky.bin to the root directory of the SDCard.

Now insert the SDCard into your Raspberry Pi and power it up. If all goes well, you should see the Raspberry Pi’s OK LED blink.
The five files, which total just over 2MBytes are probably the closest and smallest you can get to an Hello_World style program for the Raspberry Pi.

Stay tuned for how to create your own Raspberry Pi Tool Chain and how to make blinky.