USB Sensor: Difference between revisions
Edwardbaafi (talk | contribs) No edit summary |
m (Category:XO sensors as well) |
||
(12 intermediate revisions by 4 users not shown) | |||
Line 13: | Line 13: | ||
======There are some limitations with this approach such as:====== |
======There are some limitations with this approach such as:====== |
||
1) Only one analog input possible <br> |
1) Only one analog input possible <br> |
||
2) No output is possible |
2) No output is possible<br> |
||
3) No possibility to decouple sensor from pc for long term acquisition.. |
3) No possibility to decouple sensor from pc for long term acquisition..<br> |
||
4) TODO - add other limitations <br><br> |
4) TODO - add other limitations <br><br> |
||
Line 20: | Line 20: | ||
====Cost==== |
====Cost==== |
||
~$2 of parts |
~$2 of [[USB_Sensor#Parts |parts]] |
||
====Input/Output==== |
====Input/Output==== |
||
3ADC/GPIO pins <br> |
3ADC/GPIO pins <br> |
||
1 GPIO only pin |
1 GPIO only pin <br> |
||
Each i/o pin is exposed with 5V and GND |
|||
====Features==== |
====Features==== |
||
Line 36: | Line 37: | ||
Sensor board shows up as a usb keyboard and dumps data as if typing from keyboard <br> |
Sensor board shows up as a usb keyboard and dumps data as if typing from keyboard <br> |
||
Single layer board to make possible homemade boards using chemical etch, or mechanical milling (see pics below)<br> |
Single layer board to make possible homemade boards using chemical etch, or mechanical milling (see pics below)<br> |
||
Board based on the [ |
Board based on the [http://www.obdev.at/products/avrusb/easylogger.html AVR USB - EasyLogger] reference design |
||
<br> |
<br> |
||
Eagle board file is available [ |
Eagle board file is available [http://fabuntu.org/downloads/USB_Sensor.brd here] and schematic is available [http://fabuntu.org/downloads/USB_Sensor.sch here] |
||
Firmware is available [http://www.obdev.at/ftp/pub/Products/avrusb/EasyLogger. |
Firmware is available [http://www.obdev.at/ftp/pub/Products/avrusb/EasyLogger.2007-07-19.tar.gz here] |
||
====Parts==== |
|||
Here is a list of parts in quantity Q from Digikey (FR2 PCB board from Crossley & Bradley Ltd - UK)<br> |
|||
Certain parts have been omitted such as the led and button which will be removed from later versions of this board and the header connectors which are optional.. <br> |
|||
(1)ATTINY45-20SU $1.18000 (Q=100)<br> |
|||
(2) Vishay 68ohm 1206 Package .02910 (Q=200)<br> |
|||
(1)Vishay 2.2kohm 1206 Package .02910 (Q=200)<br> |
|||
(1)Panasonic .1uf cap 1206 package .12030(Q=100)<br> |
|||
(1)Panasonic 10uf cap 1206 pacakge .21670(Q=100)<br> |
|||
(2) ON Semi 3.6v zener sot23 .07440(Q=250)<br> |
|||
(1/2) FR2 PCB stock - single sided 3" x 2" .20 (Q=200)<br> |
|||
====TO DO==== |
====TO DO==== |
||
Line 47: | Line 61: | ||
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]] |
|||
== See also == |
|||
[[:Category:XO sensors]] lists sensors for the XO-1's MIC input that you can build. |
|||
[[Category:Peripherals]] |
|||
[[Category:XO sensors]] |
Latest revision as of 21:41, 7 July 2009
This page talks about the development of a Super Low Cost USB based sensor board
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
Each i/o pin is exposed with 5V and GND
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
Parts
Here is a list of parts in quantity Q from Digikey (FR2 PCB board from Crossley & Bradley Ltd - UK)
Certain parts have been omitted such as the led and button which will be removed from later versions of this board and the header connectors which are optional..
(1)ATTINY45-20SU $1.18000 (Q=100)
(2) Vishay 68ohm 1206 Package .02910 (Q=200)
(1)Vishay 2.2kohm 1206 Package .02910 (Q=200)
(1)Panasonic .1uf cap 1206 package .12030(Q=100)
(1)Panasonic 10uf cap 1206 pacakge .21670(Q=100)
(2) ON Semi 3.6v zener sot23 .07440(Q=250)
(1/2) FR2 PCB stock - single sided 3" x 2" .20 (Q=200)
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..
See also
Category:XO sensors lists sensors for the XO-1's MIC input that you can build.