Channels ▼

Open Source

Bug Labs: Mashups for the Hardware Inclined

Bug Labs is a real interesting company. Its mission is to help engineers tap their creativity and build any type of device they want -- without having to solder or learn solid state electronics. And to apply the term "mashups" to hardware as well as software. We recently had the opportunity to chat with Bug Labs CEO and founder Peter Semmelhack.

DDJ: Peter, the hardware components and electronic modules that Bug Labs provides have been described as the "Lego of Gadgets." In what way? Can you explain?

PS: First a quick intro... BUG is comprised of the BUGbase, a mini-Linux computer roughly the size of a PDA, and various BUGmodules, or functional components that literally snap on to the BUGbase. The BUGbase is powered by a fast ARM processor, onboard RAM and storage, RS-232 and USB, an MMC slot, and four ports for BUGmodules. Full specs can be found at

Bug Labs wants to make it simple and fun for software developers to make hardware devices, so the entire BUG platform is modular in that the BUGbase and BUGmodules act as "building blocks" for users to create their ultimate gadget. Current BUGmodules include BUGview (touchscreen LCD), BUGlocate (GPS), BUGmotion (motion sensor), and BUGcam2MP (2 megapixel digital camera), and we have roughly 80 additional modules spec'd for eventual development. And since the platform is open source, users can even "hack" their device by disassembling the hardware, customizing the software to suit their exact needs, or even use the specifications we provide to make their own BUGmodule. We further encourage this type of hacking by offering the BUGvonhippel module, (named after Democratizing Innovation author and MIT professor Eric Von Hippel), which is essentially a breadboard module for developers to create new input and output interfaces for their BUG.

DDJ: Tell us about the software side? What operating system? What's the development environment?

PS: BUG is a fully programmable computer, running Linux 2.6.19. The development environment is an Eclipse-based SDK named Dragonfly. Within Dragonfly, users can create and test applications with the virtual BUG emulator, and then upload their projects to BUGnet, our online application repository, for others to download, comment on, or rate. Anyone interested in creating or modifying BUG applications can start by visiting

DDJ: What's the most unique or amazing device you've seen built with the modules?

PS: The BUG platform allows anyone to create whatever device they want, whether it's a device that exists on the market today (e.g. camera, GPS unit, PDA), or one that currently caters to a very small audience but has huge market potential (e.g. GPS-enabled cameraphone). Our community has already uploaded some great applications to BUGnet, including GPStodo (a location-based reminder application) and FlickrUppr (an application that uploads geo-tagged photos to Flickr). We've also heard of some great device ideas from BUG enthusiasts. One person mentioned how he'd take the BUGbase, add a radar detector module and cell radio module (both on our list), and create an application that would track and display speed-traps via Google Maps.

DDJ: Again, can you briefly take us through the entire development process, from snapping hardware together to programming the software?

PS: If a user wants to make a simple camera, they'd snap the camera module on to one of the BUGbase's four ports. Once the module is connected it's interfaces and services are automatically registered. If they wanted to add a LCD viewfinder, they'd simply snap on the touchscreen LCD module, download or write a BUG app, and they now have a BUG comparable to existing cameras today. Now if they want to add geo coordinates to their photos, they'd add the GPS module, create an application or download one from BUGnet, and activate. Finally, if they want to upload their images wirelessly or via mobile, they'd add either the wi-fi or cell radio module, create or download an application like FlickrUppr, and activate. Each of these module additions created a new device, each as unique and exponentially valuable as the previous iteration. And creating these devices with the BUG platform only takes minutes, as opposed to the traditional hardware development process which can last several months.

DDJ: If readers want to learn more about BUG devices, is there a web site they can go to?

PS: Sure, Bug Labs website is a, and our BUG Blogger is at

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags


<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags


<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

