USB Sensor: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 47: Line 47:
Make CDC device available to Measure/Etoys/Scratch<br>
Make CDC device available to Measure/Etoys/Scratch<br>
Update board to drop hardwired button and led (could always be added by user) and reduce size of board<br>
Update board to drop hardwired button and led (could always be added by user) and reduce size of board<br>


====Building It====

The USB Sensor can be mechanically etched using a 3 axis milling machine.. The following shows the process using a Roland Modela Desktop Mill available in FabLabs..


[[Image:Sensor_Eagle.JPG | USB Sensor as Eagle board file |600px]]

[[Image:Sensor_Milling.JPG | USB Sensor being milled on Roland Modela |600px]]

[[Image:Sensor_Milled.JPG | USB Sensor milled on Roland Modela |600px]]

[[Image:Sensor_Hand.JPG | USB Sensor board - Unstuffed |600px]]

[[Image:Sensor_Laptop.JPG | USB Sensor in Laptop |600px]]

[[Image:Sensor_Laptop_Close.JPG | USB Sensor in Laptop - Close |600px]]

Revision as of 16:13, 10 March 2008

This page talks about the development of a Super Low Cost USB based sensor board

Low Cost USB Sensor

People

This board was designed by Edward Baafi and based on discussions with Arjun Sarwal and David Cavallo

Rationale

The XO has a unique feature which allows the microphone input to be used as a general purpose sensor input.
This is a very powerful concept as many sensors can be connected for <$2..

There are some limitations with this approach such as:

1) Only one analog input possible
2) No output is possible 3) No possibility to decouple sensor from pc for long term acquisition.. 4) TODO - add other limitations

This low cost sensor input is being developed to address these limitations and explore other possibilities

Cost

~$2 of parts

Input/Output

3ADC/GPIO pins
1 GPIO only pin

Features

No special USB Connector - Board IS the USB connector
No USB Hardware - Firmware based USB stack (based on low cost ATTiny45 Microcontroller)
Reprogrammable / Extensible

Current Status

Current firmware only uses one of the four I/O pins as sensor input (1 pin used for LED which indicates state, 1 pin used for button to start operation)
Sensor board shows up as a usb keyboard and dumps data as if typing from keyboard
Single layer board to make possible homemade boards using chemical etch, or mechanical milling (see pics below)
Board based on the AVR USB - EasyLogger reference design
Eagle board file is available here and schematic is available here Firmware is available here]

TO DO

Update firmware to use 4 pins (3 ADC / 1 Digital In)
Develop/adopt scheme to implement USB CDC device and access through pyUSB (libUSB wrapper) and update firmware
Make CDC device available to Measure/Etoys/Scratch
Update board to drop hardwired button and led (could always be added by user) and reduce size of board


Building It

The USB Sensor can be mechanically etched using a 3 axis milling machine.. The following shows the process using a Roland Modela Desktop Mill available in FabLabs..


USB Sensor as Eagle board file

USB Sensor being milled on Roland Modela

USB Sensor milled on Roland Modela

USB Sensor board - Unstuffed

USB Sensor in Laptop

USB Sensor in Laptop - Close