Design & build your own open source device

Ever wonder what it takes to design & build your hand-held device, carputer or gadget? Read this to find out how easy it is to go from being a software developer to a fully-fledged hardware developer with help from BeagleBoard and Android (among others)…

Design & build your own device

This article originally appeared in issue 89 of Linux User & Developer magazine.

Subscribe and save more than 30% and receive our exclusive money back guarantee – click here to find out more.

Gadgets are awesome. We buy them, use them and program them. But do we build them? Most of us will say no. This is largely because it’s a project too big for an individual to do. It’s highly complex and needs a lot of investment in terms of hardware and software licences. But let’s say a fairy godmother came along (the good one, not the evil one) and made all these problems go away. Would you design your own gadget then? Of course you would. And all you need are some affordable hardware components and this guide to set you off on the right foot…

Designing your own gadget is not very different from building your own computer. The major difference is the form factor – the components are a lot smaller than for a laptop or PC. After all, you need to fit a whole computing system inside a small box, together with other components like the display or wireless radio.

Most modern gadgets (like the Google Nexus One smartphone or the iPad) are made with the following components:

1. SoC: Also known as system-on-(a-)chip, this is the most important part of a modern computing device. The SoC houses the complete system on one silicon chip. Modern SoCs cram the CPU, RAM and GPU onto a single tiny chip.
2. Storage: Storage can be provided by various means. The popular ones are NAND flash, SD cards and HDD (hard disk drive).
3. Display: Typically LCD, this could also be touch screen or another type of display system.

BeagleBoard is a low-power, low-cost single-board computer (SBC) that integrates SoC, storage and GPU on one board of size 3” x 3”. It was designed with open source and hobbyists in mind. And there are numerous open source projects around. But before we jump into the software side, let’s dig deeper into the hardware. BeagleBoard-xM is a revision of the original BeagleBoard and has only just been launched (with pre-orders being taken on the website from 7 June 2010). The xM makes use of an OMAP35x SoC which is based around the ARM Cortex A8 CPU.

You might be wondering about the ARM CPU here. It is the same processor that powers 95 per cent of the world’s embedded devices. It is the de facto standard for embedded computing and is being used in some of the world’s most popular gadgets, such as the Google Nexus One, Apple iPad/iPhone and Nokia Symbian smartphones. ARM is also the name of the processor company which is designing it, ARM Holdings plc, but it is not a manufacturer like Intel. ARM licenses its processor designs rather than making them. ARM CPUs can be manufactured by any of ARM’s licensees, such as Texas Instruments and Samsung. Most of the embedded world today runs on ARM (Advanced RISC Machine) architecture.

[twitter username=”linuxusermag”]