Monthly Archives: November 2009

Basic E-Field Sensor Board

Board photo
Basic E-Field Sensor Board. Designed for UW CSE Software for embedded systems class.

For the Winter 2009 offering of the University of Washington CSE Software for Embedded Systems course, I designed a laboratory assignment around electric field sensing. In the lab, students used an 8-bit microcontroller to accomplish the following:

  • generate a waveform at a specific frequency to drive a resonant transmitter
  • synchronously sample a received signal with an analog/digital converter
  • demodulate the received signal in software to recover the signal magnitude
  • use pulse-width modulation to drive an RGB LED, varying its color with the sensed distance between the sensor and the user’s hand

For the lab, I developed a custom PCB that contains both the transmit and receive electrodes, as well as the resonant tank for the transmitter and the analog front-end for the receiver. Header pins along the front edge of the board enabled students to plug the unit into their breadboards for connection to their microcontroller circuits. Placing the portions of the circuit that were sensitive to layout and breadboard capacitance on the PCB enabled students to focus on the objectives of the lab assignment rather than on debugging layout problems.

I designed the board to be easy to assemble; the students computed the frequencies that they would use based on the capabilities of their microcontroller and the parts available in the lab, then selected components and assembled the boards themselves. Several pads for various capacitors were provided for frequency selection.

E-field sensor board in action.

Robot Finger E-Field Sensor Board

Board photo
E-Field sensor board for robot fingers. v1.1 hardware, assembled board.

This board that I developed fits inside of each of the three fingers of Intel Labs Seattle’s mobile robot. It includes two resonant transmitters for generating high voltage AC signals, two analog front-ends for amplifying the received current to be fed into the microcontroller’s ADC, and enough processing in the microcontroller to perform synchronous demodulation on the received signal.


Each transmit-receive pair has unique geometry and constitutes a unique measurement. Within a single finger, four different transmit/receive channel pairs are possible: with the current antenna configuration in the fingers, there are split left and right receive electrodes and mid- and short-range transmit electrodes. Each finger can also be linked to a third transmit electrode in the palm of the hand, which provides additional left and right long-range channels.




  • Microcontroller: 8-bit AVR at 20 MHz
  • Interfaces: USB via FTDI chip, I2C, and analog outputs to palm board
  • Transmit channels: 2 tunable transmitters
  • Receive channels: 2 amplified receivers
  • Transmit frequency: 156 kHz


Design and Construction


The board is designed to fit entirely within the fingertip links of the BarrettHand Grasper, a standard robotic hand widely used in research. The stock aluminum fingertips are replaced with plastic 3-D printed parts that are mostly transparent to electric fields. To fit all of the electronics into the fingers, I used QFN ICs and 0402 surface-mount components. The sensor boards are stacked on top of a transmit electrode board and a perpendicular receive electrode board inside the plastic fingertips.

Finger assembly
Complete finger assembly with v1.5 hardware.

An on-board USB-to-serial chip provides a way to interface an individual finger directly to a PC for development and debugging. When installed in the hand, the finger boards communicate via an I2C interface to another board in the palm of the hand, which aggregates the measurements from all of the fingers and sends them back to the PC over USB.


Relevant Publications

Mayton, B.D., Legrand, L., and Smith, J. 2009.  Robot, Feed Thyself: Plugging In to Unmodified Electrical Outlets by Sensing Emitted AC Electric FieldsIEEE International Conference on Robotics and Automation, 2010.

Mayton, B.D., Legrand, L., and Smith, J. 2009.  An Electric Field Pretouch System for Grasping and Co-ManipulationIEEE International Conference on Robotics and Automation, 2010.

CSE 466: Software for Embedded Systems

I was a TA for the Software for Embedded Systems course for three quarters. I developed lab assignments and custom hardware for the class, and assisted students in the lab. I received an honorable mention for the Bandes Memorial Award for Excellence in Teaching and a nomination for the University of Washington College of Engineering Community of Innovators Awards for my work.

Lab Assignments I Developed

Listed below in chronological order are several of the laboratory assignments that I developed for the class over the three quarters I was a TA. The final projects were collaborative efforts involving input from all of the students in the course at the time.

  • Autumn 2007, Lab 6: Sound on the SuperBird — Students learned about sampled sound, wrote code for sound playback on an embedded platform, and developed creative applications with their sound code
  • Autumn 2007, Lab 8: Final Project: SWARMS — Students developed wireless ‘agents’ that communicated with each other and produced sounds using the Pure Data audio synthesis language, exploring the concepts of swarming and emerging behavior and embedded wireless sensor networks. Specifications were developed in class discussions, based on student suggestions.
  • Winter 2008, Lab 7: The AirStick (in collaboration with Josh Smith at Intel Labs Seattle) — Students wrote software for a 4-way electric field sensing “air joystick,” and learned about signal modulation and demodulation, code and time division multiplexing
  • Winter 2008, Lab 8: Final Project: The Second Annual CSE466 World Cup — Building on a project that was developed (and software that I wrote) when I was a CSE466 student, students developed wireless controllers to move their players in a 28-player soccer game, using the “AirStick” joysticks they developed in the previous lab. (See also the related paper)
  • Winter 2009, Lab 3: PWM and Electric Field Sensing — Using a custom electric field sensing board that I designed, students learned about signal modulation, synchronous demodulation, and developed a 1-D electric field sensor that used pulse-width modulation to control the color of an LED based on the distance between their hands and the sensor board.
  • Winter 2009, Lab 4: SPI, USB, and Electric Field Sensing Part II — In this continuation of the previous lab, students interfaced their electric field sensor with a PC over USB and used it to control a color wheel on the computer display.
  • Winter 2009, Lab 6: Sound on the SuperBird — Students learned about sampled sound and how to use ALSA on an embedded platform. They developed a sine-table synthesizer before moving on to a creative and open-ended sound/synthesis project.
  • Winter 2009, Lab 8: Final Project: The Raven Deconstructed — Revisiting the emergent behavior elements of the previous SWARMS project, students built wireless agents that listened to each other’s messages and determined when to play phrases of Edgar Allan Poe’s The Raven and various raven sounds. Using an accelerometer, agents also detected when they were moved and played startled raven sounds and told other nearby agents to do the same.

Relevant Publications

Borriello, G., Hartung, C., Hemingway, B., Koscher, K., and Mayton, B. 2008. Multi-player soccer and wireless embedded systems. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (Portland, OR, USA, March 12-15 2008). SIGCSE ’08. ACM, New York, NY, 82-86.