Client Profile: Digi International, Inc

Contact: Elizabeth Presson
elizabeth.presson@digi.com

Featured Product: The XBee product family (www.digi.com/xbee) is a series of modular products that make adding wireless technology easy and cost-effective. Whether you need a ZigBee module or a fast multipoint solution, 2.4 GHz or long-range 900 MHz—there’s an XBee to meet your specific requirements.

XBee Cloud Kit

Digi International XBee Cloud Kit

Product information: Digi now offers the XBee Wi-Fi Cloud Kit (www.digi.com/xbeewificloudkit) for those who want to try the XBee Wi-Fi (XB2B-WFUT-001) with seamless cloud connectivity. The Cloud Kit brings the Internet of Things (IoT) to the popular XBee platform. Built around Digi’s new XBee Wi-Fi
module, which fully integrates into the Device Cloud by Etherios, the kit is a simple way for anyone with an interest in M2M and the IoT to build a hardware prototype and integrate it into an Internet-based application. This kit is suitable for electronics engineers, software designers, educators, and innovators.

Exclusive Offer: The XBee Wi-Fi Cloud Kit includes an XBee Wi-Fi module; a development board with a variety of sensors and actuators; loose electronic prototyping parts to make circuits of your own; a free subscription to Device Cloud; fully customizable widgets to monitor and control connected devices; an open-source application that enables two-way communication and control with the development board over the Internet; and cables, accessories, and everything needed to connect to the web. The Cloud Kit costs $149.

Low-Cost SBCs Could Revolutionize Robotics Education

For my entire life, my mother has been a technology trainer for various educational institutions, so it’s probably no surprise that I ended up as an engineer with a passion for STEM education. When I heard about the Raspberry Pi, a diminutive $25 computer, my thoughts immediately turned to creating low-cost mobile computing labs. These labs could be easily and quickly loaded with a variety of programming environments, walking students through a step-by-step curriculum to teach them about computer hardware and software.

However, my time in the robotics field has made me realize that this endeavor could be so much more than a traditional computer lab. By adding actuators and sensors, these low-cost SBCs could become fully fledged robotic platforms. Leveraging the common I2C protocol, adding chains of these sensors would be incredibly easy. The SBCs could even be paired with microcontrollers to add more functionality and introduce students to embedded design.

rover_webThere are many ways to introduce students to programming robot-computers, but I believe that a web-based interface is ideal. By setting up each computer as a web server, students can easily access the interface for their robot directly though the computer itself, or remotely from any web-enabled device (e.g., a smartphone or tablet). Through a web browser, these devices provide a uniform interface for remote control and even programming robotic platforms.

A server-side language (e.g., Python or PHP) can handle direct serial/I2C communications with actuators and sensors. It can also wrap more complicated robotic concepts into easily accessible functions. For example, the server-side language could handle PID and odometry control for a small rover, then provide the user functions such as “right, “left,“ and “forward“ to move the robot. These functions could be accessed through an AJAX interface directly controlled through a web browser, enabling the robot to perform simple tasks.

This web-based approach is great for an educational environment, as students can systematically pull back programming layers to learn more. Beginning students would be able to string preprogrammed movements together to make the robot perform simple tasks. Each movement could then be dissected into more basic commands, teaching students how to make their own movements by combining, rearranging, and altering these commands.

By adding more complex commands, students can even introduce autonomous behaviors into their robotic platforms. Eventually, students can be given access to the HTML user interfaces and begin to alter and customize the user interface. This small superficial step can give students insight into what they can do, spurring them ahead into the next phase.
Students can start as end users of this robotic framework, but can eventually graduate to become its developers. By mapping different commands to different functions in the server side code, students can begin to understand the links between the web interface and the code that runs it.

Kyle Granat

Kyle Granat, who wrote this essay for Circuit Cellar,  is a hardware engineer at Trossen Robotics, headquarted in Downers Grove, IL. Kyle graduated from Purdue University with a degree in Computer Engineering. Kyle, who lives in Valparaiso, IN, specializes in embedded system design and is dedicated to STEM education.

Students will delve deeper into the server-side code, eventually directly controlling actuators and sensors. Once students begin to understand the electronics at a much more basic level, they will be able to improve this robotic infrastructure by adding more features and languages. While the Raspberry Pi is one of today’s more popular SBCs, a variety of SBCs (e.g., the BeagleBone and the pcDuino) lend themselves nicely to building educational robotic platforms. As the cost of these platforms decreases, it becomes even more feasible for advanced students to recreate the experience on many platforms.

We’re already seeing web-based interfaces (e.g., ArduinoPi and WebIOPi) lay down the beginnings of a web-based framework to interact with hardware on SBCs. As these frameworks evolve, and as the costs of hardware drops even further, I’m confident we’ll see educational robotic platforms built by the open-source community.

I/O Raspberry Pi Expansion Card

The RIO is an I/O expansion card intended for use with the Raspberry Pi SBC. The card stacks on top of a Raspberry Pi to create a powerful embedded control and navigation computer in a small 20-mm × 65-mm × 85-mm footprint. The RIO is well suited for applications requiring real-world interfacing, such as robotics, industrial and home automation, and data acquisition and control.

RoboteqThe RIO adds 13 inputs that can be configured as digital inputs, 0-to-5-V analog inputs with 12-bit resolution, or pulse inputs capable of pulse width, duty cycle, or frequency capture. Eight digital outputs are provided to drive loads up to 1 A each at up to 24 V.
The RIO includes a 32-bit ARM Cortex M4 microcontroller that processes and buffers the I/O and creates a seamless communication with the Raspberry Pi. The RIO processor can be user-programmed with a simple BASIC-like programming language, enabling it to perform logic, conditioning, and other I/O processing in real time. On the Linux side, RIO comes with drivers and a function library to quickly configure and access the I/O and to exchange data with the Raspberry Pi.

The RIO features several communication interfaces, including an RS-232 serial port to connect to standard serial devices, a TTL serial port to connect to Arduino and other microcontrollers that aren’t equipped with a RS-232 transceiver, and a CAN bus interface.
The RIO is available in two versions. The RIO-BASIC costs $85 and the RIO-AHRS costs $175.

Roboteq, Inc.
www.roboteq.com

Arduino-Based Hand-Held Gaming System

gameduino2-WEBJames Bowman, creator of the Gameduino game adapter for microcontrollers, recently made an upgrade to the system adding a Future Technology Devices International (FTDI) FT800 chip to drive the graphics. Associate Editor Nan Price interviewed James about the system and its capabilities.

NAN: Give us some background. Where do you live? Where did you go to school? What did you study?

Bowman-WEB

James Bowman

 JAMES: I live on the California coast in a small farming village between Santa Cruz and San Francisco. I moved here from London 17 years ago. I studied computing at Imperial College London.

NAN: What types of projects did you work on when you were employed by Silicon Graphics, 3dfx Interactive, and NVIDIA?

JAMES: Always software and hardware for GPUs. I began in software, which led me to microcode, which led to hardware. Before you know it you’ve learned Verilog. I was usually working near the boundary of software and hardware, optimizing something for cost, speed, or both.

NAN: How did you come up with the idea for the Gameduino game console?

JAMES: I paid for my college tuition by working as a games programmer for Nintendo and Sega consoles, so I was quite familiar with that world. It seemed a natural fit to try to give the Arduino some eye-catching color graphics. Some quick experiments with a breadboard and an FPGA confirmed that the idea was feasible.

NAN: The Gameduino 2 turns your Arduino into a hand-held modern gaming system. Explain the difference from the first version of Gameduino—what upgrades/additions have been made?

Gameduinofinal-WEB

The Gameduino2 uses a Future Technology Devices International chip to drive its graphics

JAMES: The original Gameduino had to use an FPGA to generate graphics, because in 2011 there was no such thing as an embedded GPU. It needs an external monitor and you had to supply your own inputs (e.g., buttons, joysticks, etc.). The Gameduino 2 uses the new Future Technology Devices International (FTDI) FT800 chip, which drives all the graphics. It has a built-in color resistive touchscreen and a three-axis accelerometer. So it is a complete game system—you just add the CPU.

NAN: How does the Arduino factor into the design?

GameduinoPCB-WEB

An Arduino, Ethernet adapter, and a Gameduino

 JAMES: Arduino is an interesting platform. It is 5 V, believe it or not, so the design needs a level shifter. Also, the Arduino is based on an 8-bit microcontroller, so the software stack needs to be carefully built to provide acceptable performance. The huge advantage of the Arduino is that the programming environment—the IDE, compiler, and downloader—is used and understood by hundreds of thousands of people.

 NAN: Is it easy or possible to customize the Gameduino 2?

 JAMES: I would have to say no. The PCB itself is entirely surface mount technology (SMT) and all the ICs are QFNs—they have no accessible pins! This is a long way from the DIP packages of yesterday, where you could change the circuit by cutting tracks and soldering onto the pins.

I needed a microscope and a hot air station to make the Gameduino2 prototype. That is a long way from the “kitchen table” tradition of the Arduino. Fortunately the Arduino’s physical design is very customization-friendly. Other devices can be stacked up, adding networking, hi-fi sound, or other sensor inputs.

 NAN: The Gameduino 2 project is on Kickstarter through November 7, 2013. Why did you decide to use Kickstarter crowdfunding for this project?

 JAMES: Kickstarter is great for small-scale inventors. The audience it reaches also tends to be interested in novel, clever things. So it’s a wonderful way to launch a small new product.

NAN: What’s next for Gameduino 2? Will the future see a Gameduino 3?

 JAMES: Product cycles in the Arduino ecosystem are quite long, fortunately, so a Gameduino 3 is distant. For the Gameduino 2, I’m writing a book, shipping the product, and supporting the developer community, which will hopefully make use of it.

 

Designing Wireless Data Gloves

Kevin Marinelli, IT manager for the Mathematics Department at the University of Connecticut, recently answered CC.Post’s newsletter invitation to readers to tell us about their wearable electronics projects. Kevin exhibited his project,  “Wireless Data Gloves,” at the World Maker Faire New York in September. He spoke with Circuit Cellar Managing Editor Mary Wilson about the gloves, which are based on an Adafruit ATmega32U4 breakout board, use XBee modules for wireless communication, and enable wearers to visually manipulate data and 3-D graphics.

MARY: Tell us a little bit about yourself and your educational and professional background.

KEVIN: I am originally from Sydney, Nova Scotia, in Canada. From an early age I have

Kevin Marinelli

Kevin Marinelli

always been interested in taking things apart and creating new things. My degrees are a Bachelor’s in Computer Science from Dalhousie University in Halifax, Nova Scotia, and a Master’s in Computer Science from the University of New Brunswick in Fredericton, New Brunswick. I am currently working on my PhD in Computer Science at the University of Connecticut (UConn).

My first full-time employment was with ITS (the computer center) at Dalhousie University. After eight years, I moved on to an IT management position the Ocean Mapping Group at the University of New Brunswick. I am currently the IT manager for the Mathematics Department at  UConn.

I am also an active member of MakeHartford, which is a local group of makers in Hartford, Connecticut.

MARY: Describe the wireless data gloves you recently exhibited at the World Maker Faire in New York. What inspired the idea?

KEVIN: The idea was initially inspired 20 years ago when using a Polhemus 6 Degree-of-Freedom sensor for manipulating computer graphics when I was at the University of New Brunswick. The device used magnetic fields to locate a sensor in three-dimensional space and detect its orientation. The combined location and orientation data provides data with six degrees of freedom. I have been interested in creating six degrees of freedom input devices ever since. With the Arduino and current sensor technologies, that is now possible.

Wireless data gloves on display at World Maker Faire New York. (Photo: Rohit Mehta)

Wireless data gloves on display at World Maker Faire New York. (Photo: Rohit Mehta)

MARY: What do the gloves do? What applications are there? Can you provide an example of who might use them and for what purpose?

KEVIN: The data gloves allow me to use my hands to wirelessly transmit telemetry data to a base station computer, which collects the data and provides it to any application programs that need it.

There are a number of potential applications, such as manipulating 3-D computer graphics, measurement of data for medical applications, remote control of vehicles, remote control of animatronics and puppetry.

MARY: Can you tell me about the data gloves’s design and the components used?

KEVIN: The basic design guidelines were to make the gloves self-contained, lightweight, easy to program, wireless, and rechargeable. The main electronic components are an Adafruit ATmega32U4 breakout board  (Arduino Leonardo software compatible), a SparkFun 9d0f sensor board, an XBee Pro packet radio, a LiPo battery charger circuit, and a LiPo battery. These are all open hardware projects or, in the case of the battery, are ordinary consumer products.

The choice of the ATMega32U4 for the processor was made to provide a USB port without any external components such as an FTDI chip to convert between serial and USB communications. This frees up the serial port on the processor for communicating with the XBee radio.

For the sensors, the SparkFun 9dof board was perfect because of its miniscule size and

Top of glove

Top of glove

because it only requires four connections: two connections for power and two connections for I2C. The board has components with readily available data sheets, and there is access to working example code for the sensor board. This reduced the design work greatly by using an off-the-shelf product instead of designing one myself.

The choice of an 800-mAh LiPo battery provides an excellent lightweight rechargeable power supply in a small form factor. The relatively small battery powers the project for more than 24 h of continuous use.

Palm of glove

Palm of glove

A simple white cotton glove acts as the structure to mount the electronics. For user-controlled input, the glove has conductive fabric fingertips and palm. Touching a finger to the thumb, or the pad on the palm, closes an electrical pathway, which allows the microcontroller to detect the input.

For user-selectable input, each fingertip and the palm of the hand has a conductive fabric pad connected to the Adafruit microcontroller. The thumb and palm act as a voltage source, while the fingertips act as inputs to the microcontroller. This way, the microcontroller can detect which fingers are touching the thumb and the palm pads. Insulated wires of 30 gauge phosphor bronze are sewn into the glove to connect the pads to the microcontroller.

MARY: Are the gloves finished? What were some of the design challenges? Do you plan any changes to the design?

KEVIN: The initial glove design and second version of the prototype have been completed. The major design challenges were finding a microcontroller board with sufficient capabilities to fit on the back of a hand, and configuring the XBee radios. The data glove design will continue to evolve over the next year as newer and more compact components become available.

Initially I was designing and building my own microcontroller circuit based on the ATmega32U4, but Adafruit came out with a nice, usable, designed board for my needs. So I changed the design to use their board.

SparkFun has a well-designed micro USB-based LiPo battery charger circuit. This would have been ideal for my project except that it does not have an On/Off switch and only has some through-hole solder points for powering an external project. I used their CadSoft EAGLE files to redesign the circuit to make it slightly more compact, added in a power switch and a JST connector for the power output for projects.

The XBee radios were an interesting challenge on their own. My initial design used the standard XBee, but that caused communication complications when using multiple data gloves simultaneously. In reading Robert Faludi’s book Building Wireless Sensor Networks: With ZigBee, XBee, Arduino, and Processing, I learned that the XBee Pro was more suited to my needs because it could be configured on a private area network (PAN) with end-nodes for the data gloves and a coordinator for the base station.

One planned future change is to switch to the surface-mount version of the XBee Pro. This will reduce both the size and weight of the electronics for the project.

The current significant design challenge I am working on is how to prevent metal fatigue in the phosphor bronze wires as they bend when the hand and fingers flex. The fatigue problem occurs because I use a small diamond file to remove the Kapton insulation on the wires. This process introduces small nicks or makes the wires too thin, which then promotes the metal fatigue.

A third version is in the design stage. The new design will replace the SparkFun 9dof board with a smaller single-chip sensor, which I hope can be mounted directly on the Adafruit ATmega32U4 board.

MARY: What new skills or technologies did you learn from the project, if any?

KEVIN: Along the way to creating the gloves, I learned a great deal about modern electronics. My previous skills in electronics were learned in the ’70s with single-sided circuits with through-hole components and pre-made circuit boards. I can now design and create double-sided circuit boards with primarily surface-mounted components. For initial prototype designs, I use double-sided photosensitized circuit boards and etch them at home.

Learning to program Arduino boards and Arduino clones has been incredible. The fact that the boards can be programmed using C in a nice IDE with lots of support libraries for common programming tasks makes the platform an incredibly efficient tool. Having an enormous following makes it very easy to find technical support for solving problems with Arduino products and making Arduino clones.

Wireless networking is a key component for the success of the project. I was lucky to have a course in wireless sensor network design at UConn, which taught me how to leverage wireless technology and avoid many of the pitfalls. That, combined with some excellent reference books I found, insured that the networking is stable. The network design provides for more network bandwidth than a single pair of data gloves require, so it is feasible to have multiple people collaborating manipulating the same on the same project.

Designing microcontroller circuits using EAGLE has been an interesting experience. While most of the new components I use regularly in designs are available in libraries from Adafruit and SparkFun, I occasionally have to design my own parts in EAGLE. Using EAGLE to its fullest potential will still take some time, but I have become reasonably proficient with it.

For soldering, I mostly still use a standard temperature controlled soldering iron with a standard tip. Amazingly, this allows me to solder 0402 resistors and capacitors and up to 100 pitch chips. When I have components that need to be soldered under the surface, I use solder paste and a modified electric skillet. This allows me to directly control the temperature of the soldering and gives me direct access to monitoring the process.

The battery charger circuit on my data glove is hand soldered and has a number of 0402-sized components, as  well as a micro USB connector, which also is a challenge to hand solder properly.

MARY: Are there similar “data gloves” out there? How are yours different?

There are a number of data glove projects, which can be found on the Internet. Some are commercial products, while others are academic projects.

My gloves are unique in that they are lightweight and self-contained on the cotton glove. All other projects that you can find on the Internet are either hard-wired to a computer or have components such as the microcontroller, batteries, or radio strapped to the arm or body.

Also, because the main structure is a self-contained cotton glove; the gloves do not interfere with other activities such as typing on a keyboard, using a mouse, writing with a pen, or even drinking from a glass. This was quite handy when developing the software for the glove because I could test the software and make programming corrections without having the inconvenience of putting the gloves on and taking them off repeatedly.

MARY: Are you working on any other projects you’d like to briefly tell us about?

KEVIN: At UConn, we are lucky to have one of the few academic programs in puppetry in the US. In the spring, I plan on taking a fine arts course at UConn in designing and making marionette puppets. This will allow me to expand the use of my data gloves into controlling and manipulating puppets for performance art.

I am collaborating on designing circuit boards with a number of people in Hartford. The more interesting collaborations are with artists, where they think differently about technology than I do. Balam Soto of Open Wire Labs is a new media artist and one of the creative artists I collaborate with regularly. He is also a member of MakeHartford and presents at Maker Faires.

MARY: What was the response to the wireless data gloves at World Maker Faire New York?

KEVIN: The response to the data gloves was overwhelmingly positive. People were making comparisons to the Nintendo Power Glove and to the movie “Minority Report.” Several musicians commented that the gloves should be excellent for performing and recording virtual musical instruments such as a guitar, trumpet and drums.

For the demonstration, I showed a custom application; which allowed both hands (or two people) to interactively manipulate points and lines on a drawing. Many people were encouraged to use the gloves for themselves, which enhanced the quality of the feedback I received.

The gloves are large-sized to fit my hands, which was quite a challenge for younger children to use because their hands were “lost” in the gloves. Even with the size challenge, it was fun watching younger children manipulating the objects on the computer screen.

I look forward to the Maker Faire next year, when I will have implemented the newer design for the data gloves and will have additional software to demonstrate. I plan on trying to put together a presentation on some form of performance art using the data gloves.