Hack: The Bug
Technology Review takes apart Bug Labs’ modular open-source hardware system and explains how it works.
With its open-source, modular approach to personal electronics, New York’s Bug Labs could be on to something big. Its beautifully designed flagship device, the Bug, is a central base about the size of an iPhone that can be programmed to serve as a custom-designed gadget with the help of snap-in modules. To maximize its flexibility, a user needs to be able to program in Java, so initially, the Bug may be of interest only to hobbyists. But the company is building up a library of programs and designs that will be easy for the average person to use. The Bug, and the first modules made for it, began shipping at the end of 2007.
Most electronic devices, because of their limited memory and processing power, must be programmed using languages and techniques that are difficult to master. But the Linux computer at the heart of Bug Labs’ modular device provides tools that let users program applications more easily. The technically inclined can program in Java, a widely known language, and make their programs available to other users. The device has enough memory to store multiple programs, so it can perform many different functions when the proper modules are connected.
A. Common Connections
Rather than use a customized connector for each module that snaps into its base, the Bug relies on standard 40-pin connectors. “It’s a very low-tech, brute-force method, but we didn’t want to get into the cable business,” says Bug Labs CEO Peter Semmelhack. In addition, the sides of the base feature USB, Ethernet, power, and memory ports. The Bug contains embedded software designed to recognize modules. To avoid crashes, the software prevents programs from running unless all the necessary modules are plugged in. For example, a program that tells the Bug how to take geotagged photographs will run only if the system detects the camera and GPS modules.
B. Modular Design
Modules currently available for the Bug include a camera, a motion detector, a GPS receiver, and a touch-sensitive color LCD screen. On the way are a mini QWERTY keyboard, an audio speaker with mini input/output jacks, and an LCD screen twice the size of a regular module. Technically inclined users can also design and build their own components for the Bug, connecting them through the Von Hippel module–named for MIT professor Eric Von Hippel, who advocates making it possible for people to participate in the design of the products they use. The module is a plastic case, empty except for the tools necessary for a user to connect it to the base.
A drag-and-drop interface allows users to easily download or upload Bug programs. An online development environment, which works much like iTunes, can be accessed through a user’s computer. When the Bug is connected to a computer by a USB cable, the development environment detects it and its connected modules and displays popular programs using the given configuration. A user can download the programs by dragging their icons onto the Bug icon. If the user changes the Bug’s physical configuration, the change is mirrored on-screen in the development environment.
In the spirit of the open-source movement, Bug Labs makes available all the schematics of its hardware. Users can collaborate through the development environment, sharing programs for the device and ideas for different configurations.
Images credit: David Arky