Member Profile: Scott Weber

Scott Weber

Scott Weber

Arlington, Texas, USA

Scott said he started his Circuit Cellar subscription late in the last century. He chose the magazine because it had the right mix of MCU programming and electronics.

He has always enjoyed mixing discrete electronic projects with MCUs. In the early 1980s, he built a MCU board based on an RCA CDP1802 with wirewrap and programmed it with eight switches and a load button.

Back in the 1990s, Scott purchased a Microchip Technology PICStart Plus. “I was thrilled at how powerful and comprehensive the chip and tools were compared to the i8085 and CDP1802 devices I tinkered with years before,” he said.

Scott said he recently treated himself to a brand-new Fluke 77-IV multimeter.

Scott is building devices that can communicate through USB to MS Windows programs. “I don’t have in mind any specific system to control, it is something to learn and have fun with,” he said. “This means learning not only an embedded USB software framework, but also Microsoft Windows device drivers.”

“Embedded devices are popping up everywhere—in places most people don’t even realize they are being used. It’s fun discovering where they are being applied. It is so much easier to change the microcode of an MCU or FPGA as the unit is coming off the assembly line than it is to rewire a complex circuit design,” Scott said.

“I also like Member Profile Joe Pfeiffer’s final comment in Circuit Cellar 276: Surface-mount and ASIC devices are making a ‘barrier to entry’ for the hobbyist. You can’t breadboard those things! I gotta learn a good way to make my own PCBs!”

Brian Shewan Wins the CC Code Challenge (Week 21)

We have a winner of last week’s CC Weekly Code Challenge, sponsored by IAR Systems! We posted a code snippet with an error and challenged the engineering community to find the mistake!

Congratulations to Brian Shewan of Nova Scotia, Canada for winning the CC Weekly Code Challenge for Week 21! Brian will receive an Elektor 2012 & 2011 Archive DVD.

Brians’s correct answer was randomly selected from the pool of responses that correctly identified an error in the code. Brian answered:

Line #4 – Missing ‘.’ after ‘PROGRAM-ID’. Change to “PROGRAM-ID. JUST-A-TEST.”


You can see the complete list of weekly winners and code challenges here.

What is the CC Weekly Code Challenge?
Each week, Circuit Cellar’s technical editors purposely insert an error in a snippet of code. It could be a semantic error, a syntax error, a design error, a spelling error, or another bug the editors slip in. You are challenged to find the error.Once the submission deadline passes, Circuit Cellar will randomly select one winner from the group of respondents who submit the correct answer.

Inspired? Want to try this week’s challenge? Get started!

Submission Deadline: The deadline for each week’s challenge is Sunday, 12 PM EST. Refer to the Rules, Terms & Conditions for information about eligibility and prizes.

The Adafruit Learning System Releases Bluetooth HID Keyboard Controller

Bluefruit2Adafruit’s Bluefruit EZ-Key enables you to create a wireless Bluetooth keyboard controller in an hour. The module acts as a Bluetooth keyboard and is compatible with any Bluetooth-capable device (e.g., Mac, Windows, Linux, iOS, and Android).

You simply power the Bluefruit EZ-Key with 3 to 16 VDC and pair it to a computer, tablet, or smartphone. You can then connect buttons from the 12 input pins. When a button is pressed, it sends a keypress to the computer. The module has been preprogrammed to send the four arrow keys, return, space, “w,” “a,” “s,” “d,” “1,” and “2” by default. Advanced users can use a Future Technology Devices International (FTDI) chip or other serial console cable to reprogram the module’s keys for a human interface device (HID) key report.

BluefruitEach Bluefruit EZ-Key has a unique identifier. More than one module can be paired to a single device. The FCC- and CE-certified, RoHS-compliant modules integrate easily into your project.

Pricing for the Bluefruit EZ-Key begins at $19.95. For more information, visit The Adafruit Learning System. Bluefruit EZ-Key tutorials are also available.

High-Tech Halloween

Still contemplating Halloween ideas? Do you have a costume yet? Is your house trick-or-treat ready? Perhaps some of these high-tech costumes and decorations will help get you in the spirit.

Recent Circuit Cellar interviewee Jeremy Blum designed a creative and high-tech costume that includes 12 individually addressable LEDs, an Adafruit microcontroller, and 3-D printing.


Custom animatronic skull


Animatronic talking raven

Looking for Halloween decoration inspiration? Peter Montgomery designed some programmable servo animation controllers built around a Freescale Semiconductor 68HC11 microcontroller and a Parallax SX28 configurable controller.

Peter’s Windows-based plastic skull is animated with RC servos controlled via a custom system. It moves at 24 or 30 frames per second over a custom RS-485 network.
This animatronic talking raven features a machined aluminum armature and moves via RC servos. The servos are controlled by a custom system using Windows and embedded controllers.

Peter’s Halloween projects were originally featured in “Servo Animation Controller” (Circuit Cellar 188, 2006). He displays the Halloween projects every year.

Feeling inspired? Share your tech-based Halloween projects with us.

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?


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?


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?


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.


Toroid Cutting Simplified (EE Tip #108)

Need to work with a toroidal coil? The following toroid-cutting tips will help you prep for circuit deployment.ToroidCutting

First, pick the correct ferrite toroid for your application, put the windings on, and secure it in a vise (do not over tighten). Consider using small sheets of aluminum, a soft metal, to prevent damaging the toroid.

Using a Dremel or similar tool equipped with a cutoff disc suitable for cutting metal, start cutting at a right angle w.r.t. the toroid. Safety glasses are required. Small pieces can chip from the ferrite as well as from the disc.

Go slow! It can take about 3 to 4 minutes to get this far. The rpm should be quite high, but not exceeding the disc’s maximum rated rpm.

Adjust the toroid so that your second perpendicular cut can be made easily. Be careful: the toroid loses its rigidity when cut, and the material is quite brittle.

Take your time and be sure not to force your way through, as the cutting disc is not suitable for grinding and prone to breaking when pressure is applied perpendicular to the disc radius.

Done! Be careful, the toroid may be hot from the cutting. Again, be gentle while handling the cut toroid, as it’s quite brittle and breaks a lot easier than when in its closed toroid form.

This article first appeared in the January 2013 edition of Elektor (120717). is an Elektor International Media publication.

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.

Client Profile: Pololu Robotics

Pololu Robotics
920 Pilot Road
Las Vegas, NV 89119


Pololu Robotics Zumo

Pololu Robotics Zumo

Embedded Products/Services: Pololu designs, manufactures, and distributes a variety of robotic and electronic parts. Get the building blocks for your next project at Pololu, where you can find wheels, motors, motion controllers, basic prototyping supplies, sensors, complete robot kits, and more. Pololu also offers a custom laser cutting service starting at $25.

Product information: The Pololu Zumo robot is an Arduino-controllable tracked robot platform that measures less than 10 cm × 10 cm, which is small enough to qualify for Mini Sumo. The Zumo includes two micro-metal gearmotors coupled to a pair of silicone tracks, a stainless steel bulldozer-style blade, six infrared reflectance sensors for line following or edge detection, a three-axis accelerometer and magnetometer, and a buzzer for simple sounds and music. A kit version is also available.

Exclusive offer: Use coupon code ZUMOCC20 for 20% off any one item in Pololu’s Zumo category (

Two Campuses, Two Problems, Two Solutions

In some ways, Salish Kootenai College (SKC)  based in Pablo, MT, and Penn State Erie, The Behrend College in Erie, PA, couldn’t be more different

SKC, whose main campus is on the Flathead Reservation, is open to all students but primarily serves Native Americans of the Bitterroot Salish, Kootenai, and Pend d’Orellies tribes. It has an enrollment of approximately 1,400. Penn State Erie has roughly 4,300.

But one thing the schools have in common is enterprising employees and students who recognized a problem on their campuses and came up with technical solutions. Al Anderson, IT director at the SKC, and Chris Coulston, head of the Computer Science and Software Engineering department at Penn State Erie, and his team have written articles about their “campus solutions” to be published in upcoming issues of Circuit Cellar.

In the summer of 2012, Anderson and the IT department he supervises direct-wired the SKC dorms and student housing units with fiber and outdoor CAT-5 cable to provide students better  Ethernet service.

The system is designed around the Raspberry Pi device. The Raspberry Pi queries the TMP102 temperature sensor. The Raspberry Pi is queried via the SNMP protocol.

The system is designed around the Raspberry Pi device. The Raspberry Pi queries the TMP102 temperature sensor. The Raspberry Pi is queried via the SNMP protocol.

“Prior to this, students accessed the Internet via a wireless network that provided very poor service.” Anderson says. “We wired 25 housing units, each with a small unmanaged Ethernet switch. These switches are daisy chained in several different paths back to a central switch.”

To maintain the best service, the IT department needed to monitor the system’s links from Intermapper, a simple network management protocol (SNMP) software. Also, the department had to monitor the temperature inside the utility boxes, because their exposure to the sun could cause the switches to get too hot.

This is the final installation of the Raspberry Pi. The clear acrylic case can be seen along with the TMP102 glued below the air hole drilled into the case. A ribbon cable was modified to connect the various pins of the TMP102 to the Raspberry Pi.

This is the final installation of the Raspberry Pi in the SKC system. The clear acrylic case can be seen along with the TMP102 glued below the air hole drilled into the case. A ribbon cable was modified to connect the various pins of the TMP102 to the Raspberry Pi.

“We decided to build our own monitoring system using a Raspberry Pi to gather temperature data and monitor the network,” Anderson says. “We installed a Debian Linux distro on the Raspberry Pi, added an I2C Texas Instruments TMP102 temperature sensor…, wrote a small Python program to get the temperature via I2C and convert it to Fahrenheit, installed SNMP server software on the Raspberry Pi, added a custom SNMP rule to display the temperature from the script, and finally wrote a custom SNMP MIB to access the temperature information as a string and integer.”

Anderson, 49, who has a BS in Computer Science, did all this even as he earned his MS in Computer Science, Networking, and Telecommunications through the Johns Hopkins University Engineering Professionals program.

Anderson’s article covers the SNMP server installation; I2C TMP102 temperature integration; Python temperature monitoring script; SNMP extension rule; and accessing the SNMP Extension via a custom MIB.

“It has worked flawlessly, and made it through the hot summer fine,” Anderson said recently. “We designed it with robustness in mind.”

Meanwhile, Chris Coulston, head of the Computer Science and Software Engineering department at Penn State Erie, and his team noticed that the shuttle bus

The mobile unit to be installed in the bus. bus

The mobile unit to be installed in the bus.

introduced as his school expanded had low ridership. Part of cause was the unpredictable timing of the bus, which has seven regular stops but also picks up students who flag it down.

“In order to address the issues of low ridership, a team of engineering students and faculty constructed an automated vehicle locator (AVL), an application to track the campus shuttle and to provide accurate estimates when the shuttle will arrive at each stop,” Coulston says.

The system’s three main hardware components are a user’s smartphone; a base station on campus; and a mobile tracker that stays on the traveling bus.

The base station consists of an XTend 900 MHz wireless modem connected to a Raspberry Pi, Coulston says. The Pi runs a web server to handle requests from the user’s smart phones. The mobile tracker consists of a GPS receiver, a Microchip Technology PIC 18F26K22 and an XTend 900 MHz wireless modem.

Coulston and his team completed a functional prototype by the time classes started in August. As a result, a student can call up a bus locater web page on his smartphone. The browser can load a map of the campus via the Google Maps JavaScript API, and JavaScript code overlays the bus and bus stops. You can see the bus locater page between 7:40 a.m. to 7 p.m. EST Monday through Friday.

“The system works remarkably well, providing reliable, accurate information about our campus bus,” Coulston says. “Best of all, it does this autonomously, with very little supervision on our part.  It has worked so well, we have received additional funding to add another base station to campus to cover an extended route coming next year.”

The base station for the mobile tracker is a sandwich of Raspberry Pi, interface board, and wireless modem.

The base station for the mobile tracker is a sandwich of Raspberry Pi, interface board, and wireless modem.

And while the system has helped Penn State Erie students make it to class on time, what does Coulston and his team’s article about it offer Circuit Cellar readers?

“This article should appeal to readers because it’s a web-enabled embedded application,” Coulston says. “We plan on providing users with enough information so that they can create their own embedded web applications.”

Look for the article in an upcoming issue. In the meantime, if you have a DIY wireless project you’d like to share with Circuit Cellar, please e-mail





Natural Human-Computer Interaction

Recent innovations in both hardware and software have brought on a new wave of interaction techniques that depart from mice and keyboards. The widespread adoption of smartphones and tablets with capacitive touchscreens shows people’s preference to directly manipulate virtual objects with their hands.

Going beyond touch-only interaction, the Microsoft Kinect sensor enables users to play

This shows the hand tracking result from Kinect data. The red regions are our tracking results and the green lines are the skeleton tracking results from the Kinect SDK (based on data from the ChAirGest corpus:

This shows the hand tracking result from Kinect data. The red regions are our tracking results and the green lines are the skeleton tracking results from the Kinect SDK (based on data from the ChAirGest corpus:

games with their entire body. More recently, Leap Motion’s new compact sensor, consisting of two cameras and three infrared LEDs, has opened up the possibility of accurate fingertip tracking. With Project Glass, Google is pioneering new technology in the wearable human-computer interface. Other new additions to wearable technology include Samsung’s Galaxy Gear Smartwatch and Apple’s rumored iWatch.

A natural interface reduces the learning curve, or the amount of time and energy a person requires to complete a particular task. Instead of a user learning to communicate with a machine through a programming language, the machine is now learning to understand the user.

Hardware advancements have led to our clunky computer boxes becoming miniaturized, stylish sci-fi-like phones and watches. Along with these shrinking computers come ever-smaller sensors that enable a once keyboard-constrained computer to listen, see, and feel. These developments pave the way to natural human-computer interfaces.
If sensors are like eyes and ears, software would be analogous to our brains.

Understanding human speech and gestures in real time is a challenging task for natural human-computer interaction. At a higher level, both speech and gesture recognition require similar processing pipelines that include data streaming from sensors, feature extraction, and pattern recognition of a time series of feature vectors. One of the main differences between the two is feature representation because speech involves audio data while gestures involve video data.

For gesture recognition, the first main step is locating the user’s hand. Popular libraries for doing this include Microsoft’s Kinect SDK or PrimeSense’s NITE library. However, these libraries only give the coordinates of the hands as points, so the actual hand shapes cannot be evaluated.

Fingertip tracking using a Kinect sensor. The green dots are the tracked fingertips.

Our team at the Massachusetts Institute of Technology (MIT) Computer Science and Artificial Intelligence Laboratory has developed methods that use a combination of skin-color and motion detection to compute a probability map of gesture salience location. The gesture salience computation takes into consideration the amount of movement and the closeness of movement to the observer (i.e., the sensor).

We can use the probability map to find the most likely area of the gesturing hands. For each time frame, after extracting the depth data for the entire hand, we compute a histogram of oriented gradients to represent the hand shape as a more compact feature descriptor. The final feature vector for a time frame includes 3-D position, velocity, and hand acceleration as well as the hand shape descriptor. We also apply principal component analysis to reduce the feature vector’s final dimension.

A 3-D model of pointing gestures using a Kinect sensor. The top left video shows background subtraction, arm segmentation, and fingertip tracking. The top right video shows the raw depth-mapped data. The bottom left video shows the 3D model with the white plane as the tabletop, the green line as the arm, and the small red dot as the fingertip.

The next step in the gesture-recognition pipeline is to classify the feature vector sequence into different gestures. Many machine-learning methods have been used to solve this problem. A popular one is called the hidden Markov model (HMM), which is commonly used to model sequence data. It was earlier used in speech recognition with great success.

There are two steps in gesture classification. First, we need to obtain training data to learn the models for different gestures. Then, during recognition, we find the most likely model that can produce the given observed feature vectors. New developments in the area involve some variations in the HMM, such as using hierarchical HMM for real-time inference or using discriminative training to increase the recognition accuracy.

Ying Yin

Ying Yin is a PhD candidate and a Research Assistant at the Massachusetts Institute of Technology (MIT) Computer Science and Artificial Intelligence Laboratory. Originally from Suzhou, China, Ying received her BASc in Computer Engineering from the University of British Columbia in Vancouver, Canada, in 2008 and an MS in Computer Science from MIT in 2010. Her research focuses on applying machine learning and computer vision methods to multimodal human-computer interaction. Ying is also interested in web and mobile application development. She has won awards in web and mobile programming competitions at MIT.

Currently, the newest development in speech recognition at the industry scale is a method called deep learning. Earlier machine-learning methods require careful selection of feature vectors. The goal of deep learning is automatic discovery of powerful features from raw input data. So far, it has shown promising results in speech recognition. It can possibly be applied to gesture recognition to see whether it can further improve accuracy.

As component form factors shrink, sensor resolutions grow, and recognition algorithms become more accurate, natural human-computer interaction will become more and more ubiquitous in our everyday life.

Rudolf Steger Wins the CC Code Challenge (Week 20)

We have a winner of last week’s CC Weekly Code Challenge, sponsored by IAR Systems! We posted a code snippet with an error and challenged the engineering community to find the mistake!

Congratulations to Rudolf Steger of Niedersachsen, Braunschweig, Germany for winning the CC Weekly Code Challenge for Week 20! Rudolf will receive a CC T-Shirt and one year digital subscription/renewal.

Rudolf’s correct answer was randomly selected from the pool of responses that correctly identified an error in the code. Rudolf answered:

Line 13: the accept statement is missing the “do”


You can see the complete list of weekly winners and code challenges here.

What is the CC Weekly Code Challenge?
Each week, Circuit Cellar’s technical editors purposely insert an error in a snippet of code. It could be a semantic error, a syntax error, a design error, a spelling error, or another bug the editors slip in. You are challenged to find the error.Once the submission deadline passes, Circuit Cellar will randomly select one winner from the group of respondents who submit the correct answer.

Inspired? Want to try this week’s challenge? Get started!

Submission Deadline: The deadline for each week’s challenge is Sunday, 12 PM EST. Refer to the Rules, Terms & Conditions for information about eligibility and prizes.

Electrical Engineering Crossword (Issue 280)

The answers to Circuit Cellar’s November electronics engineering crossword puzzle are now available.



2.    DOPPLERLIMIT—Temperature restrictions for laser cooling techniques [two words]
4.    PINKNOISE—This signal sees the world through rose-colored glasses [two words]
5.    BOLTZMANNCONSTANT—k or kB [two words]
7.    XORGATE—A half adder is made of an AND gate and one of these [two words]
14.    NEPER—Symbolized by “Np”
15.    GOTOPAIR—Two tunnel diodes used in high-speed gate circuits [two words]
17.    YAGI—Unidirectional antenna
18.    PHOSPHOR—Used as a light source in a cathode ray tube
19.    KERREFFECT—All materials show this, but certain liquids display it more strongly than others [two words]


1.    WEINBRIDGEOSCILLATOR—This type generates sine waves [three words]
3.    INTEGRATEDINJECTIONLOGIC—These digital circuits are built with several collector BJTs [three words]
6.    CARBONNANOTUBES—Their electronic properties can be metallic or semiconducting [two words]
8.    GILBERTCIRCUIT—Uses diodes and transistors’ logarithmic properties to compensates for nonlinearities and instabilities [two words]
9.    ADDRESSINGMODE—Can be implied by the instruction’s function [two words]
10.    SINADRATIO—Used to measure a signal’s standards
11.    FLATPACK—Semiconductor network sealed in a thin rectangular package
12.    SPEECHCLIPPING—Process that limits peak signals [two words]
13.    COMPANDOR—Condenses or enlarges an electric signal’s dynamic range
15.    GLASS—Device under development by search engine giant
16.    LILLIPUTIAN—A very small robot


High-Voltage Gate Driver IC

Allegro A4900 Gate Driver IC

Allegro A4900 Gate Driver IC

The A4900 is a high-voltage brushless DC (BLDC) MOSFET gate driver IC. It is designed for high-voltage motor control for hybrid, electric vehicle, and 48-V automotive battery systems (e.g., electronic power steering, A/C compressors, fans, pumps, and blowers).

The A4900’s six gate drives can drive a range of N-channel insulated-gate bipolar transistors (IGBTs) or power MOSFET switches. The gate drives are configured as three high-voltage high-side drives and three low-side drives. The high-side drives are isolated up to 600 V to enable operation with high-bridge (motor) supply voltages. The high-side drives use a bootstrap capacitor to provide the supply gate drive voltage required for N-channel FETs. A TTL logic-level input compatible with 3.3- or 5-V logic systems can be used to control each FET.

A single-supply input provides the gate drive supply and the bootstrap capacitor charge source. An internal regulator from the single supply provides the logic circuit’s lower internal voltage. The A4900’s internal monitors ensure that the high- and low-side external FET’s gate source voltage is above 9 V when active.

The control inputs to the A4900 offer a flexible solution for many motor control applications. Each driver can be driven with an independent PWM signal, which enables implementation of all motor excitation methods including trapezoidal and sinusoidal drive. The IC’s integrated diagnostics detect undervoltage, overtemperature, and power bridge faults that can be configured to protect the power switches under most short-circuit conditions. Detailed diagnostics are available as a serial data word.

The A4900 is supplied in a 44-lead QSOP package and costs $3.23 in 1,000-unit quantities.

Allegro MicroSystems, LLC

Electronics Grounding (EE Tip #107)

Whether you are professional electrical engineer or part-time DIYer, before you start your next project, read through this primer on grounding. This short survey covers one of the most fundamental topics in electronics: grounding.

Electronics Signal Ground or Circuit Common

Signal ground is the current return to the power supply. Current leaves the power supply, passes through the various electronic components, and then returns to the supply. The typical symbol for signal ground is shown in Figure 1.EE107-F1-2

 Chassis Ground or Earth Ground

Chassis ground is an electrical safety requirement to prevent an electrical or electronic device’s chassis from delivering an electrical shock. A long copper rod is driven into the ground outside of the building, and a wire connects the metal chassis to the rod which is at the approximate 0 V potential of the earth. The symbol for earth ground is shown in Figure 2.

Ground Details

Consider the following two details about ground. First, ground is not exactly 0 V. And second, two physically different ground points will not be at the same voltage potential.

Ground Loop

By definition, current will flow in an electrical conductor connected to a difference in voltage potential between two points. Because two physically different ground points are not at the same potential, current will flow through an electrical conductor connected between those two points. This is a ground loop.

Notice this current flowing between these two different ground points is not related to or correlated to any electronic data or message signal. This is noise or garbage that will interfere and distort any information contained in the electronic system.

Note: While “noise” can be added to systems on occasion, it is specifically controlled and the exact quantity is regulated.


Given: A ground loop producing 610 μV of ground noise. It’s a very small quantity. You have a 16-bit A/D converter with a 0- to 10-V input. The smallest voltage it can resolve is:

= 10 V/16 exp 2

= 10 V/65,536

= 152.5ìV

Note that the ground loop noise is four times greater than the actual data, so that A/D converter loses two bits of resolution, and it is now a 14-bit converter.

Connect with Single-Ended/Unbalanced Amps

In Figure 3 the two grounds exist at different potentials, so some current will flow between the grounds. EE107-F3

This ground current has nothing to do with any signals being amplified, and it is noise decreasing the accuracy of the system. Figure 4 is a complete schematic.EE107-F4

Connect with Transformers

When connecting with transformers, keep the following in mind:

  • There is no ground connection, so there can be no Ground Loop.
  • Common-mode rejection of RF interference.
  • Signals are AC coupled, so of limited use for circuits with DC data such as accelerator focus and bend magnets (see Figure 5).EE107-F5

Connect with Differential Amps

Refer to Figure 6 for connecting two systems with differential amplifiers.

  • There is no ground connection, so there can be no Ground Loop.
  • Common-mode rejection of RF interference (see Figure 7).
  • Signals are DC coupled, so this is the perfect solution for circuits with DC data.EE107-F6EE107-F7

—Dennis Hoffman

Note: This article first appeared in audioXpress  (June 2011). It is from a class that Dennis Hoffman teaches at the SLAC National Accelerator Laboratory (Menlo Park, CA). Like Circuit Cellar, audioXpress is Elektor International Media Publication.

Small Plug-In Embedded Cellular Modem

Skywire plug-in modem

Skywire plug-in modem

The Skywire is a small plug-in embedded cellular modem. It uses a standard XBee form factor and 1xRTT CDMA operating mode to help developers minimize hardware and network costs. Its U.FL port ensures antenna flexibility.

The Skywire modem features a Telit CE910-DUAL wireless module and is available with bundled CDMA 1xRTT data plans from leading carriers, enabling developers to add fully compliant cellular connectivity without applying for certification. Future versions of the Skywire will support GSM and LTE. Skywire is smaller than many other embedded solutions and simple to deploy due to its bundled carrier service plans.

Skywire is available with a complete development kit that includes the cellular modem, a baseboard, an antenna, a power supply, debug cables, and a cellular service plan. The Skywire baseboard is an Arduino shield, which enables direct connection to an Arduino microcontroller.

Skywire modems cost $129 individually and $99 for 1,000-unit quantities. A complete development kit including the modem costs $262.

NimbeLink, LLC