Bluetooth Low Energy weather station

Created by Reid Landsrud, last modified by Rolf HornFeb 22, 2016

Project overview

image

The main intent of this project is to showcase TE Connectivity/Measurement Specialties’ sensor portfolio and Panasonic’s PAN1740 Bluetooth Low Energy module.

This project consists of two applications:

The first is a BLE server or peripheral that reads and serves up the sensor data. This is the standalone board that is battery operated with the three sensors on it: temperature, pressure, and humidity. This application can be interfaced to any BLE central that is capable of reading raw BLE packets, such as an Android, iOS, or custom application. This is also demonstrated in the Create a Weather Station with TE Connectivity sensors – Another Geek Moment.

The other is a BLE client or central that gathers the sensor data from the server, formats it, and prepares the data for transfer to a PIC32 via an SPI bus. This application was designed to interface with PICtail Plus Connector on Microchip’s Low-Cost Controllerless Graphics Board. The graphics interface is shown here: [PIC32 Low-Cost Controllerless Graphics Interface to Newhaven Color LCD]( PIC32 Low-Cost Controllerless Graphics Interface to Newhaven Color LCD - eewiki / Microcontroller - Engineering and Component Solution Forum - TechForum │ Digi-Key)

Main Resources

Hardware

Sensor Board

Schematic:


Figure 1

Layout:

Figure 2

Figure 1 shows the schematic of the sensor board. The PAN1740 provides the processing power for the board with the onboard Cortex M0 in the module. The sensors are interfaced via I2C bus, and the data is processed and broadcast via the Bluetooth module.

Figure 2 shows the basic layout of the board. Further detail on the 4 layer board layout and gerbers can be found in the attached resources.

Client Module

Schematic:


Figure 3

Layout:

image
Figure 4

Figure 3 shows the schematic of the client board that interfaces with the Controllerless graphics board. It utilizes the PICTail Plus board edge connector to interface with the SPI bus. With the lack of a 3.3v power pin on the connector, this board required a 3.3v regulator of its own.

Figure 4 shows the basic layout of the client board.

Firmware

The firmware created for the Cortex M0 microcontroller that is embedded in the PAN1740 module was created in KEIL µVision 5 using Dialog Semiconductor’s SDK3.0.10.1.

The firmware on the BLE server board collects the raw data from the sensors and calculates actual values from the calibration data provided by the TE Connectivity sensors. It then uses a custom profile, which utilizes a 128-bit UUID, to transmit the data over the BLE connection. Using Dialog Semiconductor’s app note AN-B-029, will walk the developer through creating a custom profile.

The firmware on the BLE client board takes advantage of the custom profile from above to easily read the data made available on the BLE connection. The data is read in and stored, then transmitted over the SPI bus to the PIC32 for display.

The firmware for each board is stored on the external EEPROM. When the PAN1740 boots with an empty OTP memory, it searches for a program residing on an external device. This makes the module very versatile for development, as the EEPROM can be re-programmed many times. Once development has been completed the program can be burned to the OTP memory, allowing for the elimination of the EEPROM for added power savings and faster boot times.

The EEPROM can be programmed with Dialog’s SmartSnippets software using an FTDI USB – RS232 cable (TTL-232R-3V3) and small programming points integrated into the board layout.

Bill of Materials

This bill of materials would satisfy making one set.

Quantity Part Number Description BLE Client BLE Server/Sensor
2 CKN10502CT-ND SWITCH TACTILE SPST-NO 0.05A 16V S1 S1
2 587-1880-1-ND FERRITE BEAD 120 OHM 0603 L1 L1
2 497-6351-1-ND IC EEPROM 1MBIT 1MHZ 8SO U2 U2
7 399-1096-1-ND CAP CER 0.1UF 16V X7R 0603 C1, C2 C1, C2, C3, C4, C5
4 YAG1238CT-ND RES SMD 4.7K OHM 1% 1/10W 0603 R1,R2 R1,R2
2 P10KYCT-ND RES SMD 10K OHM 0.1% 1/10W 0603 R4 R3
3 160-1828-1-ND LED GREEN CLEAR 0603 SMD D1, D2 D1
3 RHM100GCT-ND RES SMD 100 OHM 5% 1/10W 0603 R3, R5 R4
1 478-3119-1-ND CAP TANT 2.2UF 16V 20% 0603 C3
1 478-6201-1-ND CAP CER 470PF 25V NP0 0603 C4
2 P16823CT-ND MOD BLUETOOTH LOW ENERGY 4.0 U1 U1
1 576-1281-1-ND IC REG LDO 3.3V 0.5A SOT23-5 U3
1 223-1134-ND SENSOR TEMPERATURE I2C SPI 16QFN U5
1 223-1199-1-ND BAROMETRIC PRESSURE SENSOR U4
1 223-1144-1-ND IC SENSOR TEMP/HUM DGTL U3
1 BAT-HLD-001-ND HOLDER BATTERY 20MM COIN BATT
1 AC164144-ND LLC PICTAIL PLUS DAUGHTR BRD
1 DKSB1014B-ND NHD-3.5-320240MF-PIC EVAL BOARD
1 DM320003-2-ND KIT EVAL PIC32 USB II STARTER

Board Files

Weather station PICTail Client.zip (306.0 KB)
Weather station server.zip (232.1 KB)