Bitten by the Bug
Connected World magazine readers may recall my previous article on the Arduino [Dec., ‘10, A Tinkerer’s Approach to Connected Devices, p88]. In it, I shared how one can construct simple electro-mechanical possibilities using the development platform hardware. This article takes a look at a more expensive, though arguably more expansive, open hardware platform known as the BUG, designed and developed by Bug Labs.
Bug Labs recently introduced its redesigned flagship product, the BUG 2.0. This Linux operating system-based embedded device can be expanded with Bug Lab’s custom modules, ranging from cameras and GPS to Wi-Fi and Bluetooth add-ons. BUG modules are fully self-contained and can be mixed and matched onto the BUGbase depending on the application configuration needs. The new BUG 2.0 OS also contains its own built-in Web server that can be used to install, launch, and remove BUG applications, query attached BUG modules, reboot the BUGbase, and more.
Compared to the original BUG release from a few years ago, the BUG 2.0 features a more powerful central processor, better battery life, and a dedicated 24-bit parallel video slot for the new BUGvideo module that supports high-definition video output. These improvements turn the BUG into a truly versatile portable computer that can fit in your pocket. However, it is the hobbyist, systems development, and educational audiences that will most appreciate the BUG’s configuration and programmable potential, thanks to its support for numerous programmable scripting languages like Perl, Python, and Ruby, as well as its preferred development language of choice—Java.
For those who are not as familiar with these languages, there are enough examples available on Bug Labs’ community.buglabs.net to get the hang of how to make the BUG do what you want to thanks to a number of helpful contributions from the BUG customer base.
While customers can purchase the standalone BUGbase for $499, this base unit is essentially a brain without a body. Fortunately, unlike the original BUG, the BUG 2.0 now supports Wi-Fi wireless connectivity, allowing the BUG to operate and be programmed in an untethered state.
Perhaps what makes this BUG design stand out the most are the various modules that give it the uniquely flexible configuration potential. These modules range from the BUGview2 LCD touchscreen and the BUGvideo HDMI and VGA video output adapter to the BUGlocate GPS receiver and the BUGcam three-megapixel still camera module. One module in particular, the BUGvonHippel, will appeal the most to tinkerers and systems developers due to its exposed breakout board that can be used to connect actuators like servo motors and sensors like temperature and pressure detectors. This BUGvonHippel module also sports a USB port to allow the addition of storage devices and even USB-based network adapters that can be used to transform the standalone BUGbase into a full-blown Internet-connected computer.
Finally, for those willing to spend the money for the entire BUG hardware collection, Bug Labs offers the Professional BUGbundle for a pricey $1,599. This comprehensive collection includes the BUGbase, every module currently available for it, the BUGstinger developer docking station add-on, and a one-hour Bug Labs Quick Start Training Session to help new customers get quickly up to speed on the use and possibilities the BUG ecosystem has to offer. And like the Arduino, the BUG is an open-hardware platform, meaning anyone can download its hardware designs from the Bug Labs Website and modify them for his or her own designs. The expectation is, like the open-source software community, active individuals will contribute their modifications and improvements to the hardware designs back to their fellow BUG enthusiasts.
BUG App Development
Because the initial BUG has been around for a few years, more than 200 community-generated applications have already been written for the platform, though predominantly for the first-generation model, and are freely available for download. While many of these contributions are basic hardware test and ‘hello, world’-style applications, there are a couple of gems that show off examples of what creative individuals can do with the hardware. Some of the highest-ranking apps include a Flickr photo uploader, a GPS logger, a security camera, a motion-sensor notification, a barcode reader, and a drawing pad. These applications can be downloaded directly from the buglabs.net/applicatioa> Website or from within the Eclipse plugin-based BUG SDK (software development kit). And because the SDK contains a full-blown BUGbase emulator that accurately simulates the BUG and associated modules, interested customers can 'try before you buy' to see if they have the basic skills, time and energy to invest in the hardware and bring their ideas to life.
Because the BUG’s Dragonfly SDK is an Eclipse plug-in, the development environment can run on any desktop computer that runs Eclipse. Eclipse is a free Java-based Integrated Development Environment available for download from eclipse.org. This portability allows Windows, Macintosh, or Linux customers to install and run the BUG SDK with ease.
Once installed, using the SDK is as simple as creating a new BUG project and running the samples that can be installed from the SDK examples or downloaded from the variety of apps contributed by the BUG community. The emulator behaves almost exactly as the real BUG hardware, sans the sensor data like GPS or camera inputs. This is why the emulator can only go so far before customers have to acquire the BUG hardware to test their creations in the real world. Connecting the BUG hardware to the development environment is as simple as typing in the URL network path to the BUG’s location. The Dragonfly environment then connects to and interrogates the attached modules and services available to the system. Clicking the Run icon in the Eclipse IDE will automatically download, install, and execute the application on the BUG itself. And because this can work over the BUG’s Wi-Fi connection, there’s no need to tether it to the development computer. While this seems like a small feature, it actually is a big deal for developers who may need to support the BUG in a distributed network setting.
Compared to something like the Arduino, BUG application development is more complex. Yet with that complexity comes considerably more flexibility. Indeed, BUG can be configured as a full-blown dynamic, database-driven Web server, a GPS-enabled map display device, or even capture data from and drive the same actuators that work with the Arduino. It wouldn’t surprise me if someone is already working on a BUG-to-Arduino bridge to have the two talk to one another.
Beyond serving just the tinkering open-hardware crowd, Bug Labs is making a play for the larger enterprise with the introduction of its 2.0 line. Positioning it as both a next-generation prototype construction platform as well as a build-to-order custom solution, this BUG is crawling out of the tinkerer’s basement and into mainline business operations. Partnerships with cellular network carriers like Verizon are assisting with Bug Labs’ expanding market base by putting the BUG on the network wherever a supported cellular data network is available in this connected world we live in.
The new BUG 2.0 has plenty to offer tinkerers, developers, and serious new business engineers who prefer to spend more time with rapidly prototyping software designs than wiring up