GND - Fab-Lab Europe

EVALUATION BOARD/KIT/MODULE (EVM) ADDITIONAL TERMS / DISCLAIMER
Fab-Lab.eu provides the enclosed Evaluation Board/Kit/Module (EVM) under the following conditions: The user
assumes all responsibility and liability for proper and safe handling of the goods. Further, the user indemnifies
Fab-Lab.eu from all claims arising from the handling or use of the goods. Should this evaluation board/kit not
meet the specifications indicated in the User’s Guide, the board/kit may be returned within 30 days from the date
of delivery for a full refund without any modification made. THE FOREGOING LIMITED WARRANTY IS THE
EXCLUSIVE WARRANTY MADE BY SELLER TO BUYER AND IS IN LIEU OF ALL OTHER WARRANTIES, EXPRESSED,
IMPLIED, OR STATUTORY, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
PURPOSE. EXCEPT TO THE EXTENT OF THE INDEMNITY SET FORTH ABOVE, NEITHER PARTY SHALL BE LIABLE TO
THE OTHER FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Safety Information and Safety Instructions
The Platinchen aka “BlueIOT” is intended for use as a development, demonstration, evaluation, education
platform for hardware or software in a laboratory environment. The kit is not intended for general consumer use. It
generates, uses and can radiate radio frequency energy. It has not been tested for compliance with the limits
applicable under any standard. Operation of the equipment may cause interference with radio communications, in
which case the user at his own expense will be required to take whatever measures may be required to correct
this interference. Fab-Lab.eu recommends that the kit only be used in a shielded room. Attaching additional wiring
to this product or modifying the product operation from the factory default may affect its performance and cause
interference with other apparatus in the immediate vicinity. If such interference is detected, suitable mitigating
measures should be taken.
The Platinchen aka “BlueIOT” kit contain electrostatic discharge (ESD) sensitive devices. Electrostatic charges
readily accumulate on the human body and any equipment, which can cause a discharge without detection.
Permanent damage may occur on devices subjected to high-energy discharges. Proper ESD precautions are
recommended to avoid performance degradation or loss of functionality. Store unused Platinchen aka “BlueIOT”
kit in the protective shipping package. Platinchen aka “BlueIOT” might be discontinued without notice. Contact
your nearest recycler to discard the kit.
ESD Protection and Handling Boards
ESD can damage boards and associated components. Fab-Lab.eu recommends that the user perform
procedures only at an ESD workstation. If an ESD workstation is not available, use appropriate ESD protection by
wearing an antistatic wrist strap attached to a grounded metal object. Platinchen aka “BlueIOT” boards are
sensitive to ESD. Hold the board only by its edges. After removing the board from its box, place it on a grounded,
static-free surface. Use a conductive foam pad if available. Do not slide the board over any surface.
Battery Care and Use and Battery Disposal
§
§
§
Use the correct size and type of battery specified in this guide.
Make sure that you insert the battery into your device properly, with the + (plus) and – (minus) terminals
aligned correctly. Do not short the battery. Do not subject the battery to high temperatures or high
humidity. Do not recharge a battery.
Caution! Dispose the battery properly and keep out of reach of children. If swallowed, immediately
contact a physician
Batteries can be safely disposed of with normal household waste. Never dispose of batteries in fire because they
can explode. It is important not to dispose of large amounts of batteries in a group. Used batteries are often not
completely “dead.” Grouping used batteries together can bring these “live” batteries into contact with one another,
creating safety risks.
Trademarks:
The Bluetooth trademark is owned by the Bluetooth SIG Inc., USA and is licensed to Bluegiga Technologies. All
other trademarks listed herein are owned by their respective owners.
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
Welcome to blueIOT an experimental platform for wearable and Internet of
Things. The blueIOT board is made by Maker for Maker – it will provide an easy
start in combining the power of Arduino™ and Bluetooth™ Smart aka BLE.
Before you start:
Nevertheless BLE might be new to you – we recommend checking for BLE tutorials on our
webpage, books or any other source giving you an inside into BLE first. Having BLE
Explorer Apps on you Smartphone might be a good advice before starting!
Check that you have an FTDI with 3.3V handy!
It is an educational platform provided as is it is - with know issues as software and hardware
development is still on going.
Board Details
blueIOT is made in ist core out of two main components: ATmega328P MCU from ATMEL
and the BLE112 Bluetooth™ Smart Module from bluegiga. The design follows ultra-lowpower efficiency: all not must have components (LDO, etc) have been removed to avoid any
unwanted power drain. This gives you in the best configuration a managed sleep of just a
few uA! So please take care out our safety instructions and recommendations!
Use only one power source at a time: 3.3V FTDI OR COIN CELL CR2032 OR 2xAA (1.5V)
OR 2xAAA (1.5V) – Remove any battery if your FTDI will provide the supply voltage!
Must stay in these range of power supply: Min: 2.0V MAX: 3.3V, over voltage will kill the
board. Make sure that you connect the battery properly, with the + (plus) and – (minus)
terminals aligned correctly, reverse voltage will kill the board
Brown Out: BLE module will run down to 2.0V before resetting, ATmega328P is set to run
down to 1.8V BODLEVEL (fuses Extended:FE, High:DA, Low:FF)
RevC: Contains Transmitter Module FCC ID: QOQBLE112
RevD: Contains Transmitter Module FCC ID: QOQBLE113
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
PIN
3V
GND
D2, D5, D8, D10
PAD TYPE
Supply voltage
GND
Digital I/O (max Supply voltage)
A0, A4, A5
Analog Input (max Supply
voltage)
Factory only
Reset
Serial (max Supply voltage)
21, 22
RST
RxD, TxD, DTR
DESCRIPTION
Supply voltage 2V - 3.3V
GND
Configurable I/O port, see Arduino
if you do have the version with
micro SD card slot – D8 is used for
CS, don’t use for external
Configurable I/O port, see Arduino
Factory only P2_1, P2_2
Active low reset
FTDI 3.3V or serial UART
PinOut$9$blueIOT$
P2_2$
P2_1$
RST$
3V$
MISO$
SCK$
MOSI$
D10$
D8$
DTR$
A0$
A4$
A5$
RxD$
GND$
D2$
TxD$
D5$
+3V$
Coin$Cell$
CR2032$
GND$
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
Getting Started
Setting up the Arduino DIE, download Arduino IDE >= 1.0.5 and follow in installation guide.
Copy the Arduino Libraries provided with the blueIOT SDK to your Arduino/Library Folder!
Wiring up the 3.3V FTDI (we recommend the 3.3V FTDI from Sparkfun):
1. Select the right Board, blueIOT is compatible with Arduino Pro or Pro Mini (3.3V, 8Mhz) w/
ATmega328, please make sure you only select this board!
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
2. Select the COM: port your FTDI is connected to – ATTENTION: make sure you are using
an 3.3V FTDI only – otherwise blueIOT will be killed as of over voltage. Any Coin Cell or
battery MUST be removed while using FTDI power.
The blueIOT kit comes with a pre-loaded Arduino sketch “blueIOT_read_LED5”, sending „5“
via the write BLE service (see example screenshots) will switch the LED on!
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
#include
#include
#include
#include
<Wire.h>
<LowPower.h>
<SPI.h>
<SoftwareSerial.h>
SoftwareSerial blueIOT(6, 9);
void setup(){
Serial.begin(9600);
delay(1000);
blueIOT.begin(9600);
// BLE Module wakeup - HIGH prevents module to go to sleep mode
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
// TEST LED on PIN5
pinMode(5, OUTPUT);
blueIOT.write(20); // BLE buffer size
delay(1000);
}
void loop(){
if (blueIOT.available()){
char c = blueIOT.read();
Serial.write(c);
if (c == '5') {
digitalWrite(5, HIGH);
}
else {
digitalWrite(5, LOW);
}
}
}
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
Using „BLExplr“ from M. Kroll in Apple iOS
Connected to UART Characteristic sending a Write String „5“ – LED ON
Connected to UART Characteristic sending a Write String „0“ – LED OFF
The samle UUID as shown above can be used to receive sensor data send from
blueIOT!
LED is ON? – conragtulations you have used your first BLE service!
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
Theory of Operation
See SDK for code sample
The distance you can bridge with the blueIOT is in the range of 0-10m depending on
environment, this is due to the current small design with extra shielding, can be improved
giving the ceramic antenna more space in future designs. We have seen this current design
is doing a good job in Lab environment and any project that is in view of a receiver.
Programming and BLE Profile
The current implementation of the UART profile allows easily sending and receiving data
from/by the Arduino. The typical payload for each data transmitting is 20 Byte long.
#include <SoftwareSerial.h>
SoftwareSerial blueIOT(6, 9); // don’t change
...
blueIOT.begin(9600); // don’t change
...
blueIOT.write(20); // set length of BLE buffer
blueIOT.write(buffer);
...
// read
if (blueIOT.available()){
Serial.write(blueIOT.read());
}
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
blueIOT SDK
The SDK provides you with code samples – start with blueIOT_read and blueIOT_write
examples to get the BLE communication running – if you are solid is this – which should be
straight forward – you can try building a motion activated fitness tracker with the ADXL362.
Important: copy the libraries content to you Arduino/Library folder, check for Arduino IDE
instructions if you are not familiar with this step.
Activation OTA mode of blueIOT
The blueIOT comes with a very helpful over the air update for BLE profiles, this feature is
only for advanced users knowing what they do – as wrong operation might lead to deleting of
any profile stored on the module. If such a status occurs only factory reset or having an CC
Debugger (TI) and BLE development environment can help.
You do need now a program, which support OTA for BLE113 – our recommendation is the
„BLExplr“ written by Dr. M. Kroll available on Apple iOS. The OTA mode can only be reset
while running actually an OTA update. So if you don’t have the recommended APP nor
OTA files don’t use this feature.
Part of the SDK is the factory OTA: blueIOT_REVD_101.ota
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
Programming and Debugging BLE Device
Schematic of blueIOT in Revision C:
Note: BLE112 in RevC, BLE113 in RevD
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
blueIOT$und$FTDI$3V!!$
P2_2$
P2_1$
RST$
3V$
MISO$
SCK$
MOSI$
D10$
D8$
DTR$
A0$
A4$
A5$
RxD$
GND$
D2$
TxD$
D5$
blueIOT$und$ADXL362$
P2_2$
P2_1$
RST$
3V$
MISO$
SCK$
MOSI$
D10$
D8$
DTR$
A0$
A4$
A5$
RxD$
GND$
D2$
TxD$
D5$
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D
blueIOT$und$BMP180$
P2_2$
P2_1$
RST$
3V$
MISO$
SCK$
MOSI$
D10$
D8$
DTR$
A0$
A4$
A5$
RxD$
GND$
D2$
TxD$
D5$
Additional Learning Resources
1. Datasheets
blueIOT is widely compatible to the Arduino Mini Pro 3.3V / MHz:
http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardProMini
Specifications of the used Bluetooth™ Smart module you can find here:
https://www.bluetooth.org/tpg/RefNotes/BLE112_Datasheet1.pdf
Adverture in Low Power Land:
https://www.sparkfun.com/tutorials/309
ADXL362 + Arduino: Using Interrupts to Implement Motion-Activated Sleep
https://ez.analog.com/docs/DOC-2261
https://ez.analog.com/docs/DOC-2222
2. Bluetooth Learning Resources
The Bluetooth Developer Portal provides material by the Special Interest Group (SIG) for
learning various aspects of the Bluetooth Low Energy protocol and systems.
3. Technical Support
Please conact [email protected] for technical support only after you have checked generic
information on Arduino and BLE programming first – THANKS.
www.Fab-Lab.eu, 2014-2015, Version 2.0, blueIOT Revision D