Waspmote Bluetooth Low Energy 5dBi
Waspmote is an open-source wireless sensor platform specially focused on the implementation of low-consumption modes, which allows the sensor nodes ("motes") to be completely autonomous, i.e. battery powered. The life span of Waspmote sensor nodes may range from 1 to 5 years depending on the duty cycle and the radio used.
A custom Integrated Development Environment for Waspmote is available on Windows, Mac and Linux. It was derived from the popular Arduino IDE, and is used for writing and uploading code to the Waspmote (which comes with a USB bootloader installed), as well as for monitoring the serial output. An API is available for you to use in your own applications. Waspmote communication apps for iPhone, Android and Java are already available.
Using a Waspmote Gateway, it's possible to program new firmware into Waspmote nodes remotely via 802.15.4/ZigBee/DigiMesh/868MHz/900MHz or 3G/GPRS/WiFi — single nodes, multiple nodes or the entire network at once. See the Over-the-Air Programming Guide below. (Note that over-the-air programming is not possible via Bluetooth.)
The Waspmote hardware is based on a modular architecture. The idea is to integrate only the modules needed in each device, optimizing costs. For this reason, all the modules (radios, sensor boards, etc.) plug into Waspmote through sockets.
Modules available for integration into Waspmote include ZigBee/802.15.4, GSM/GPRS, 3G/GPRS, WiFi, Bluetooth, GPS, NFC/RFID, Sensors, and industrial wired communications modules (RS232, RS485, CAN, ModBus, 4-20mA).
Most importantly, all possible combinations of Waspmote hardware with wireless modules have FCC, CE and IC Radio Certifications! This is not true of combinations you might make using Arduino, Raspberry Pi etc. So with Waspmote, you can build and deploy your device quickly and easily — just make sure you use radio frequencies and power ratings within local regulations.
Please see our Waspmote Category for a list of main Waspmote boards and starter kits, and see its subcategories for individual sensor modules or other accessories.
This Waspmote Main Board package includes the Bluetooth Low Energy Module with 5dBi antenna. The module is a BLE-SMA5 Bluetooth Low Energy module in XBee form factor, with screw-on 5dBi antenna included.
Waspmote Main Board Features
- ATmega1281 microcontroller running at 14.7456 MHz, with 8KB SRAM, 4KB EEPROM, 128KB Flash
- SD Card Slot supporting up to 2GB
- 32kHz RTC (DS3231SN)
- Built-in temperature sensing: -40 to +85 °C with 0.25° accuracy (via DS3231SN)
- Built-in accelerometer: ±2/±4/±8g @ 0.5Hz to 1kHz (LIS3331LDH)
- Power consumption, On: 15mA
- Power consumption, Sleep: 55µA
- Power consumption, Deep Sleep: 55µA
- Power consumption, Hibernate: 0.07µA
- 7x Analog Inputs (+3.8V absolute maximum)
- 8x Digital I/Os
- 1x PWM (via Digital Pin 1)
- 2x UARTs
- 1x I2C
- 1x USB
- 1x SPI
- Battery input: 3.3V to 4.2V (3-pin JST connection; battery not included)
- USB charging: 5V @ 100mA (mini-USB connection)
- Solar panel charging: 6V to 12V @ 280mA (2-pin JST connection)
- Weight: 20 grams
- Dimensions: 73.5 × 51 × 13 mm
- Operating temperature: -10 to +65 °C
Analog Inputs Waspmote has seven accessible analog inputs in the sensor connector. Each input is connected directly to the microcontroller. The microcontroller uses a 10-bit successive-approximation analog-to-digital converter (ADC). The reference voltage value for the inputs is 0V (GND). The maximum value of input voltage is 3.3V which corresponds with the microcontroller's general power voltage.
To obtain input values, the function analogRead(analog input) is used. The function's input parameter will be the name as the input to be read, e.g. ANALOG1, ANALOG2 etc. The value obtained from this function will be an integer between 0 and 1023, where 0 corresponds to 0V and 1023 to 3.3V.
The analog input pins also can be used as digital input/output pins, with Analog 1-7 corresponding to Digital 14-20 respectively.
Digital I/O Waspmote has digital pins which can be configured as input or output depending on the needs of your application. The voltage values corresponding to the digital values would be 0V for logic 0 and 3.3V for logic 1.
PWM DIGITAL1 pin also can be used as output PWM (Pulse Width Modulation) with which an analog signal can be simulated. It actually is a square wave between 0V and 3.3V for which the proportion of time when the signal is high can be changed (its working cycle) from 0% to 100%, simulating a voltage of 0V (0%) to 3.3V (100%). The resolution is 8 bits, so the values are 0-255 to represent 0% to 100%. The instruction to control the PWM output is analogWrite(DIGITAL1, value); where value is the analog value (0-255).
UART There are two UARTs in Waspmote: UART0 and UART1. Also, there are several ports which might be connected to these UARTs through two different multiplexers, one for each UART.
- UART0 is shared by the USB port and the Socket0. This socket is used for XBee modules, RFID modules, Bluetooth modules, WiFi modules, etc. The multiplexer in this UART controls the data signal which by default is always switched to Socket0. When the USB needs to send info through the UART0, the multiplexer is momentarily switched to the USB port and set back again to Socket0 after printing.
- UART1 is shared by four ports: Socket1, GPS socket, Auxiliary1 and Auxiliary2 sockets. It is possible in the same program to select which of the four ports is connected to UART1 in the microcontroller.
I2C, SPI and USB The I2C communication bus also is used in Waspmote where two devices are connected in parallel: the accelerometer and the RTC. In all cases, the microcontroller acts as Master while the other devices connected to the bus are Slaves.
The SPI port on the microcontroller is used for communication with the microSD card. All operations using this bus are performed clearly by the specific library. The SPI port also is available in the SPI/UART connector.
USB is used in Waspmote for communication with a computer or compatible USB host. This communication allows the microcontroller program to be loaded. The USB communication, the microcontroller's UART0 is used. An FT232RL chip carries out the serial-to-USB conversion.
Real-Time Clock Waspmote has a built-in Maxim DS3231SN RTC which keeps track of time. This allows Waspmote to be programmed to perform time-related actions such as Sleep for 1h, 20 mins and 15 secs, then wake up and perform the following action or Wake on the 5th of each month at 00:20 and perform the following action. All RTC programming and control is done through the I2C bus.
Alarms can be programming in the RTC specifying day/hour/minute/second, giving you total control over when the Waspmote wakes up to capture sensor values and perform actions. This allows Waspmote to stay in its energy-saving modes (e.g. Deep Sleep or Hibernate) until the required moment. You can set both relative alarms and periodic alarms; Waspmote can reprogram its alarm automatically each time one is triggered.
The DS3231SN is an extremely accurate clock chip, thanks to its internal compensation mechanism. Whereas most RTCs can go off by as much as 1.7 seconds per day, the RTC in the Waspmote is accurate down to 0.16s per day — just 1 minute per year.
Note: While the value of the RTC's built-in temperature sensor can be read though the I2C bus, it is not meant for common air temperature sensing; there are separate sensor boards designed for that function.
LEDs The Waspmore board has four LEDs. One red LED indicates battery charging (which can be through USB or through a solar panel). One green LED indicates when it is connected via USB. The other two LEDs (one red, one green) are user-programmable, though the red one also blinks to indicate a system reset.
Accelerometer Waspmote has a built-in STMicroelectronics LIS3331LDH acceleration sensor which informs it of acceleration variations experienced on each of the 3 axes (X,Y,Z), establishing four kinds of events: Free Fall, Inertial Wake Up, 6D Movement, and 6D Position. See the Interrupts Programming Guide for details.
The LIS331DLH has dynamically user-selectable full scales of ±2g/±4g/±8g and it is capable of measuring accelerations with output data rates from 0.5 Hz to 1 kHz. The device features seven power modes; the output data rate will depend on the power mode selected.
The accelerometer communicates with the microcontroller through the I2C interface. The pins that are used for this task are the SCL pin and the SDA pin, as well as another INT pin to generate the interrupts.
Integration of New Sensors The Waspmote design is aimed at easing integration of both inputs (sensors) and outputs (actuators) which allows expansion of the already wide range of mote responses. Sensor boards can be connected to the Waspmote via its 2×12- and 1×12-pin connectors, which allow communication of 16 digital input and output signals, of which seven can be used as analog inputs and one as a PWM output signal, as well as a line to Ground, 3.3V and 5V power feeds, two selectable connections to the UART inputs and outputs, connection to the two lines of the I2C bus, and connection to inputs for high-level and low-level interrupts.
See the Sensor Boards subcategory for a list of available sensor interface boards. Each board will have supported sensors listed as options.
The management of a sensor board's two power lines is carried out through two solid-state switches which allow the continuous passage of a current of up to 200mA and whose control can be programmed using the functions included in the WaspPWR library.
The input and output voltage values for both digital and analog pins will be between 0V and 3.3V, logic zero (0) being found in values less than 0.5V and logic one (1) in values higher than 2.3V. To read analog signals, the microprocessor has a 10-bit ADC which allows a resolution of 3mV. Waspmote also has one 8-bit PWM output pin for the generation of analog signals.
Waspmote includes two interrupt pins — one low-level (TXD1) one and a high-level (RXD1) — which offer an alternative to reading the sensors by polling, allowing the microprocessor to be woken up when an event occurs (such as exceeding a certain threshold in a comparator) which generates a change in a digital signal connected to one of the above pins, facilitating the sensor reading only at the moments when a remarkable event occurs.
This option is especially recommended for low-consumption sensors that may remain active for long periods of time. Reading by polling (switched on and cyclical sensor reading after a set time) is more appropriate for those that, in addition to showing greater consumption, do not require monitoring that generates an alarm signal. The interrupts can be managed using the warning functions and vectors (flags) defined in the Winterruptions library (Winterruptions.c).
Sensor reading can generate three types of response: storage of collected data (on the SD card), wireless transmission of data (using an RF signal through the XBee module or through the mobile communications network using a GRPS module) or automatic activation through an actuator directly controlled by the microprocessor's output signals or through a switch or relay.
Obtaining Sensor Data This Waspmote Main Board package includes a Bluetooth 4.0 (Bluetooth Low Energy) module. Purchase the Bluetooth Low Energy Waspmote Gateway to create a wireless communication interface between the Waspmote and your PC or other USB Host (to which the Gateway would connect).
Alternatively, there are optional modules for common wired communications protocols, including RS232, RS485, ModBus, and CAN.
Optional Recommended Products for this Item