Categories
16 Digital Fabrication Project Development Fab Academy AS220 - Providence, RI Fab Academy Final Project Fab Academy Providence -Year I - Student Projects

PuppetMaster v.1-v.2 [capacitive sensing]

puppetv2

Puppetmaster Project Overview

My final project for Fab Academy is a universal remote I am calling PuppetMaster, due to its ability to control out of reach objects / devices using the fingers. This post details the PuppetMaster boards v.1 – v.2 that use capacitive sensing.

Capacitive Sensing Board Versions

The first working version of the prototype uses capacitive sensing built on the Hello World Step response example, but converted for use with a attiny 44.

I fabbed the board(s) myself, using the standard fab inventory parts.

PuppetMaster Board Version 1 –> pitfalls / issues

I designed my own board based on the hello step response with 3 additional inputs for each of the four fingers. (The hello step response has only one input). As the hello step response example uses the attiny 45 (and does not have enough input / charging pins for 4 inputs), I modified Shawn’s version of the hello step response to work with the attiny 44.

This initial version of the PuppetMaster board has a FTDI header and 4 inputs / charge pins.

PuppetMaster v.1

board v.1

However, there was a issue with this initial board and I could not get the modified code for the attiny 44 to work with the Hello.Step.45.py code. I attempted triage, but the board remained flaky. There seemed to be an issue between the ground pin on the chip and power.

In addition, I realized that I routed the Tx to Rx wrong on the FTDI header pins. I was using jumpers to work around it initially, but after the version 1 board’s persistent flakiness, I decided to make a version 2 board. I am not including the schematics & Eagle files for version 1 because of these issues.

Code Modification:  From attiny 45 to attiny 44

I modified the hello step response assembly language code to work with the attiny 44 microcontroller. Both sets of .asm files are listed below.

Attiny 45 FTDI Hello Step Response Code
Attiny 44 FTDI Hello Step Response Code

Puppetmaster Board Version 2

Here is the version 2 board with the correctly mapped FTDI header and some slightly shifted components to allow for more space between some problematic components. This board version has been flashed with the attiny 44 code (above) and works with Hello.Step.45.py code.

Eagle Files

Download – PuppetMaster v.2.0 Board
Download – PuppetMaster v.2.0 Schematic

schematic v2

board v2

CAD Image Files Used to Mill board v.2

mill tracesmill holes

Putting the Version 2 Board Together

puppet boardpuppet boardfilepuppetboard

I ran out of time in the lab and did not get a chance to mill out the board. Instead, I scored the perimeter with a utility knife and broke off the excess edge. Then I used a rasp to file the edges down.

Capacitive Sensing in Action

Using Neil’s term.py program to visualize the initial charging graph and sensor input.

capacitive sensingpuppetv2puppetv2

Categories
08 Project Management 16 Digital Fabrication Project Development Fab Academy AS220 - Providence, RI Fab Academy Final Project Fab Academy Providence -Year I - Student Projects

Fab Academy Final Project Proposal [revised]: PuppetMaster

Puppetmaster Overview

My final project for Fab Academy is a universal remote I am calling PuppetMaster, due to its ability to control out of reach objects / devices using the fingers. This is the revised final project proposal – the first proposal was overly ambitious and encompassed too many sensor types in too short of a time period.

First Working Prototype: The first working prototype (illustrated in the PuppetMaster v.1-v.2 [capacitive sensing] post) uses thin copper sheets to create a capacitive sensor between the index finger and the thumb.

For Fab 6: By Fab Academy graduation I propose that PuppetMaster will consist of a fabbed board that reads gestural input from accelerometers.

Overall Project Goals / Design Considerations:

  • Create a remote control that takes input from finger movements / gestures
  • Remote is small and wearable (will likely look like a bracelet or a watch) with connections to the fingertips.
  • Remote is comfortable enough for long-term wear, will help to relieve hand / joint fatigue

Project Plan

Short Term Project Stages (Completed by Fab 6)

All board(s) will be fabbed, using the standard fab inventory parts with a few exceptions, (the sensors used in the later stages).

The First Stage [capacitive sensing]

  • Completed June 2nd – consists of using capacitive sensing as input data.

The Second Stage [ accelerometer input]

  • Completion before Fab 6 in August, will include the addition of accelerometer on each finger to record control gestures.
  • Simple gestures will be used for input controls.

Long Term Project Stages (Work in Progress – NOT for Fab 6)

  • Additional stages (to follow in the in the Fall) will include one mode of control (IR) but other modes (radio, bluetooth) will be added as the project progresses. (See stages outlined in the table below.)
  • Eventually, a dial or switching mechanism will be added to switch between the modes. Although the other modes of control mentioned above will be explored, the gestural input will be the primary focus.
  • In the final version of this prototype, the user of PuppetMaster will be able to input information via gestures and remote control objects by using sensors embedded in the fingertips.
  • These additional modes (combined with the necessary code) will allow the user to control almost any device with hand gestures. I also want to develop a complete gestural language (possibly based on sign language)in tandem with the addition of 6-axis sensors (3 axis gyro, 3 axis accelerometer) to the device.

Revised Project Schedule:

Stage Description Deliverable Date Range Board Version
Short Term – For Fab 6
1.0 Capacitive Sensing working capacitive sensing prototype Complete on 6/2/2010 v.1 – v.2
2.0 6-axis Sensors (gyro, accelerometer) accelerometer prototype 06/02/2010 – 09/16/2010 v.3 –
3.0 Basic gestural language A few mapable gestures that can be read by the computer / another device 06/02/2010 – 09/16/2010 v.3 –
Long Term – Future Improvements to make the remote “universal”
4.0 Infrared infrared remote prototype 05/16/2010 – TBD
5.0 Radio Control infrared remote prototype + radio control 07/01/2010 – TBD
6.0 Bluetooth infrared remote prototype + radio control + bluetooth 08/20/2010 – TBD
7.0 Complex gestural Language Full gestural language mapped to the 6-axis sensors 07/01/2010 –TBD
Categories
16 Digital Fabrication Project Development Fab Academy AS220 - Providence, RI Fab Academy Final Project Fab Academy Providence -Year I - Student Projects

Fab Academy Final Project Proposal – Puppet Master Universal Remote

puppetmaster

Final Project Overview

My final project for Fab Academy is a universal remote I am calling PuppetMaster, due to its ability to wirelessly control out of reach objects / devices using the fingers. This device enables the user to remotely control infrared receiving devices (such as a television or stereo) from a maximum distance of 100 – 150 feet. The user of PuppetMaster will be able to operate the remote by using switches embedded in the fingertips. The board and power supply will be worn around the wrist like a watch or bracelet. (This makes weight and a small form factor a major design consideration for this project). Additional controls will be added in later stages. (see details below)

Form Factor / General Idea Mockup

If IR model – Infrared LED would be placed on top of hand in wrist strap.

puppetmasterpuppetmasterpuppetmaster

I intend to fab the boards myself, using the standard fab inventory parts with a few exceptions, (especially the sensors used in the later stages). The first stage (to be completed by June 1 for the fab academy final project) consists of one mode of control (IR) but other modes (radio, bluetooth and additional gestural sensors) will be added as the project progresses. (See stages outlined below.) A dial or switching mechanism will be added to switch between the modes. These additional modes (combined with the necessary code) will allow the user to control almost any device with hand gestures. I am also keen to develop a gestural language in tandem with the addition of 6-axis sensors (3 axis gyro, 3 axis accelerometer) to the device.

Standing On The Shoulders of Giants – What I Will Borrow

I intend to stand on the shoulders of giants for the first stage (infrared) of this project. The IR transmitter portion of this project is based on Mitch Altman‘s popular TV-Be-Gone device – as modified to transmit 150 feet by Lady Ada.

I intend to use a lithium battery for lighter weight and longer life – that power supply will be based on the LiPower design by Leah Buechley, but I intend to make mine slightly smaller.

Overall Project Goals:

  • Create a remote control that takes input from finger movements / gestures
  • Remote is small and wearable (will likely look like a bracelet or a watch) with connections to the fingertips.
  • Remote is comfortable enough for long-term wear, will help to relieve hand / joint fatigue

Short Term Goals By Stage

Prototype in stages, adding functionality and additional control channels / technologies in each stage

1.0 Stage 1: Infrared

1.1. Use infrared to turn off on devices, navigate devices (most likely television)

1.1.1. Most likely commands:

1.1.1.1.On

1.1.1.2.Off

1.1.1.3.Up channel

1.1.1.4.Down channel

1.1.1.5.Other specialty features?

1.2. Power supply -> LiPo model uses lightweight lithium battery and outputs 5V

1.2.1 This is perfect for the TV-B-Gone style board I want to create / modify / fab

1.3 Parts List for puppetmaster (phase 1 – IR)

1.4. Complete working prototype by 6/01/2010

2.0 Stage 2: Radio Control

2.1. Add radio control to Stage 1 prototype

2.2. Enable mode switching on input device different modes different gestures

2.3. Experiment with driving a RC device.

2.4. Complete working prototype by 6/30/2010

3.0 Stage 3: Bluetooth

3.1. Add Bluetooth to Stage 1 prototype

3.2. Enable mode switching on input device different modes different gestures

3.3. Experiment with driving a RC device.

3.4. Complete working prototype by 7/30/2010

4.0 Stage 4: 6-axis motion sensors

4.1. Add additional sensors to interface:

4.1.1. 6-axis motion sensors (3 axis gyro, 3 axis accelerometer) to input gestures.

4.2. Complete working prototype by 11/01/2010

5.0 Stage 5: Gestural Language

5.1. Utilize 6-axis motion sensors (3 axis gyro, 3 axis accelerometer) to input gestures.

5.2. Creation of full blown gestural language (possibly based on sign language)

5.3. Complete working prototype by 11/01/2010

6.0 Stage 6: Personal LAN

6.1. Connect to the internet to create personal LAN.

6.1.1. Most likely by fabbing a board that can plug into an iphone,

6.1.2. This board could then provide any other user devices with data access

6.1.3. Could connect to Premonition system

6.2. Complete working prototype by 11/01/2010

Schedule:

Stage Description Deliverable Date Range
1.0 Infrared Working infrared remote prototype 05/16/2010 06/01/2010
2.0 Radio Control Working infrared remote prototype + radio control 06/01/2010 – 06/30/2010
3.0 Bluetooth Working infrared remote prototype + radio control + bluetooth 07/01/2010 7/30/2010
4.0 6-axis Sensors (gyro, acelorometer) Stages 1 or 2 plus working sensor prototype 06/01/2010 11/01/2010
5.0 Gestural Language Gestural language mapped to the 6-axis sensors 06/01/2010

11/01/2010

6.0 Personal LAN Local area network driven by iphone data access that can wirelessly provide data to other personal devices. 08/01/2010

11/01/2010

Distribution Plan

I plan to distribute this project through my website as downloadable schematics and board files. Releases will be made available as individual stages are completed. If the project becomes popular, I may consider distributing it as a kit.

It is unlikely that I will patent this device, as patents are expensive and afford little protection unless you are the owner of a large company with deep pockets who is prepared to litigate.

I instead intend to use the Creative Commons for both licensing and enabling others to find these plans. (a non-commercial – modifications allowed – share alike license seems to make the most sense). This will enable me to keep the copyright to my work while allowing others to us, modify and improve it.