Gumsense

From GumstixWiki

Gumsense - a sensor board for the Gumstix. It has an on-board micro-controller that can power both the Gumstix and sensors sepearately at scheduled times. We made these (v3) as a platform for sensor network research. The Gumstix provides a Linux platform on each node and it is therefore easy to develop algorithms in any language and deploy them. Microcontroller programming can be avoided if the standard firmware is used as everything can be controlled under Linux. The real-world performance of a test system is much better than you would expect from a powerful node - as it has a sleep current of a few microamps! The sensors on the initial network will be simple, but the network will provide us with valuable platform and development information for future directions.

There have been three revisions so far, from the PIC based prototype (Royan Ong and Kirk Martinez) to the current V3 MPS430-based version (Rob Spanton) - see photos on Kirk's pages.

Contents

Concept of the sensor node

  • Very low power consumption in sleep mode (11uA in sleep mode)
  • Enough processing power on board for sophisticated data analysis = 200-600MHz ARM
  • Uses MSP430 micro-controller for most sensor IO (free dev tools)

Modes of Operation

  • Gum OFF mainly - woken by uC
    • gum/uC scheduler allows uC wake up for sensors and gum wake periodically easily controlled from Linux
  • Mains mode - everything is ON

Sensors

  • Temperature & humidity (combined sensor used in glacsweb) 10 available
  • Light - tested LDR - should use nice photodiode really
  • Battery voltage - needs calibrating as it depends on 2 Rs - appears on ADC7
  • Simple switch inputs?
  • Simple LED outputs - we've used rgb LED on three gpios

sensorconfig

Networking

  • WiFi as main linkup for config etc - we have ambicom cards for some, and wifistix for rest
  • 433MHz Easyradio on a gum serial port for networking research (RSSI needs adc on uC)no code yet
  • some gumstix would allow bluetooth - useful for some pervasive stuff. Not all of out gums have it though

PSU:

  • Input 6-12V
  • 5V supply points for peripherals
  • Vcc switching for groups of sensors

Components

  • we useconnex for first deployment - need to port to Overo for v4 deployment
  • we have some ambicom CF cards but will standardise on WiFistix
  • Hum T sensors probably SHT75 or surface mount version
  • use transparent lid plastic boxes for indoors and small peli-cases for outdoor
  • indoor test units use AA NiMH bats, outdoor 6V lead acid

Gumsense revision 3

The third revision of the Gumsense has some additional features:

  • Current limited power switch off Gumstix rail for external radio.
  • Current sensing for two power domains: the Gumstix
  • Battery voltage measurement

ten of these were built measured gumsense power

Gumsense revision 4

  • better programming header - at least right order pins for direct ribbon
  • extra silkscreen labels
  • power header change
  • usb - vertical or mini?
  • 4 wire temphum connector for SHT device
  • remove bat holder - replace with 2 pin and maybe charger circuit?
  • one max232 level converter?
  • check power rails/drive capability
  • Jumper to disable auto reboot of gum?

Software

Most recent guumsense software is available from forge.ecs

to checkout whole lot:

svn checkout svn+ssh://username@ugforge.ecs.soton.ac.uk/projects/gumsense-devel

Gumstix

forge.ecs.soton.ac.uk has the latest src in project "gumsense"

Building linux from scratch using Open Embedded

Firmware

The firmware for the Gumsense board can be found in the same subversion (forge.ecs) project "gumsense". It needs mspgcc to build it. A list and description of the I2C commands that the firmware supports can be found here.