Basic features of the firmware

Supported sensors and actuators

The MiniBee firmware library allows you to use most common sensors without having to reprogram the boards.

The sensor and actuation options supported by the library are:

  • Analog sensors (connected to the analog input pins, e.g. resistive sensors, analog accelerometers, infrared distance sensors)
  • Digital sensors (on/off, e.g. buttons and switches)
  • Accelerometer (on board ADXL345), a two wire interface (TWI or I2C) device.
  • PWM output (e.g. dimmable LEDs, motors)
  • Digital output (on/off)

Configuration

Configuration is currently done through the XML configuration file (see documentation on the hive client) or interactively via OSC.

What happens during the wireless configuration

  • Board reads the serial number of the XBee and sends it to the coordinator
  • Coordinator assigns an ID and tells the board whether or not it will receive a new configuration
    • Board sends a message back that it is waiting
    • Coordinator sends configuration
  • Board sends a summary of the current configuration (for the coordinator to verify)
  • Board starts sending data

Sensors supported in older firmware versions

Up to firmware library version 8 the following additional two-wire sensors were supported:

  • LIS302DL – accelerometer
  • HMC58X3 – magnetometer
  • TMP102 – temperature sensor
  • BMP085 – barometric pressure and temperature

as well as

  • SHT15: Relative humidity and temperature sensor
  • Ultrasound sensors

In the newer versions the default support for these sensors has been removed, since new digital sensors are coming to the market fairly quickly, but also leaving the market faster than the MiniBee. So I’ve chosen to keep the MiniBee firmware small and add new digital sensors as examples of custom firmware rather than supporting them in the default firmware.