Skip to content

MicrochipTech/PIC32CXBZ2_WBZ45x_BLE_SENSOR_Touch_ATtiny3217

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PIC32CXBZ2_WBZ45x BLE Sensor with ATTINY3217 Touch Demo

"IoT Made Easy!"

Devices: | PIC32CXBZ2 | WBZ45x | ATtiny3217 Xplained Pro |
Features: | BLE | TOUCH |

⚠ Disclaimer

THE SOFTWARE ARE PROVIDED "AS IS" AND GIVE A PATH FOR SELF-SUPPORT AND SELF-MAINTENANCE. This repository contains example code intended to help accelerate client product development.

For additional Microchip repos, see: https://github.com/Microchip-MPLAB-Harmony

Checkout the Technical support portal to access our knowledge base, community forums or submit support ticket requests.

Contents

  1. Introduction
  2. Bill of materials
  3. Hardware Setup
  4. Software Setup
  5. Harmony MCC Configuration
  6. ATtiny3217 Touch Application Code
  7. Board Programming
  8. Run the demo

1. Introduction

This application demonstrates the use of an external touch interface (ATtiny3217 Xplained Pro and T10 Xplained Pro kit) through UART protocol to control the RGB LED of WBZ451 Curiosity board. The LED can also be controlled by Microchip Bluetooth Data (MBD) application through Bluetooth Low Energy (BLE) using BLE Sensor application. The WBZ451 Curiosity board will report the LED status to mobile phone and touch interface through BLE and UART respectively. The temperature data is also periodically reported to the mobile phone through BLE.

The T10 Xplained Pro kit has four mutual capacitance buttons and one mutual capacitance slider. This kit is supported by the ATtiny3217 Xplained Pro as it has a capacitive touch enabled MCU and a matching pinout that connects the external headers. The four mutual capacitance buttons are configured for Red, Green, Blue and ON_OFF button. The intensity of each Red, Green and Blue button is controlled by the slider respectively.

To set maximum intensity of a color in the LED we need to complete two full swipes in the slider. The range of one slide is from minimum intensity to medium intensity and the second slide is from medium intensity to maximum intensity and the vice versa to reduce the intensity. This touch data is transmitted to WBZ451 Curiosity board through UART protocol in the form of a 32-bit data frame as shown below.

The WBZ451 curiosity board receives this data frame and uses this to control the RGB LED. Whenever the RGB button is pressed the LED switches on and when the ON_OFF button is pressed the LED switches off. These changes are also reflected in the MBD application.

Note

The mutual capacitance slider in T10 Xplained Pro kit has 4 sensors. Because of this, the slider can only set four intensity values on a single slide. To increase the RGB LED's resolution, we are using two slide logic in the application.

2. Bill of materials

3. Hardware Setup

  • Connect T10 Extension header 3 (EXT3) to ATtiny3217 Xplained Pro Extension Header 1 (EXT1).
  • Connect the External 3 header of ATtiny3217 Xplained Pro touch interface with the WBZ451 Curiosity board using jumper wires as shown in the table below.
ATtiny3217 Xplained Pro+T10 Xplained Pro Description WBZ451 Curiosity board PIN Name\Number Description
PB3 UART-RX PA13 Sercom2-UART-TX
PB2 UART-TX PA14 Sercom2-UART-RX

4. Software Setup

  • Microchip Studio

    • Version: 7.0.2594
    • XC8Toolchain Provider (1.0.140)
    • Atmel kits (7.0.132)
  • MPLAB X IDE

    • Version: 6.00
    • XC32 Compiler v4.10
    • MPLAB® Code Configurator v5.1.17
    • PIC32CX-BZ_DFP v1.0.107
    • MCC Harmony
      • csp version: v3.13.1
      • core version: v3.11.1
      • CMSIS-FreeRTOS: V10.3.1
      • zlib version: v1.2.11
      • dev_packs: v3.13.0
      • wolfssl version: v4.7.0
      • crypto version: v3.7.6
      • wireless_pic32cxbz_wbz: v1.0.0
      • wireless_ble: v1.0.0
      • wireless_system_pic32cxbz_wbz: v1.0.0
  • Any Serial Terminal application like TERA TERM terminal application

  • Microchip Bluetooth Data (MBD) iOS/Android app

  • MPLAB X IPE v6.00

5. Harmony MCC Configuration

Getting started with touch application in WBZ451 Curiosity board

Tip New users of MPLAB Code Configurator are recommended to go through the overview

Step 1 - Connect the WBZ451 CURIOSITY BOARD and touch interface to the device/system using a micro-USB cable.

Step 2 - This application is built by using BLE Sensor Application as the building block. The project graph of the BLE Sensor application is shown below.

Note The BLE Sensor application repository can be cloned/downloaded from this link.
File path wireless_apps_pic32cxbz2_wbz45/apps/ble/advanced_applications/ble_sensor/ firmware/ ble_sensor.x

Step 4 - In MCC harmony project graph select the SERCOM2 from device resources->peripherals and configure as shown below.

Step 5 - In MCC harmony project graph, select System Console and configure as mentioned below.

  • Add another instance by clicking the "+" button in System Console device and connect SERCOM2 to Instance 1.

Step 6 - Make the system configurations as shown below.

Step 7 - In project graph, go to Plugins->Pin configurations->Pin settings and set the pin configuration as shown below.

Step 8 - The project graph after making the configurations is shown below.

Step 9 - Generate the code.

Step 10 - In "app_user_edits.c", make sure the below code line is commented

  • "#error User action required - manually edit files as described here".

Step 11 - Copy the mentioned files from this repository by navigating to the location mentioned below and replace the generated files.

Note This application repository should be cloned/downloaded to perform the following steps.
  • Copy the "app.c","app_ble_sensor.c","app_ble_sensor.h" and "app.h" files, which can be found by navigating to the following path: "PIC32CXBZ2_WBZ45x_BLE_SENSOR_Touch_ATtiny3217\ble_sensor_attiny3217_touch\firmware\src".
  • Replace the "app.c","app_ble_sensor.c","app.h" and "app_ble_sensor.h" files in your project folder location(...\firmware\src).
  • Copy the "app_ble.c","app_ble.h","app_ble_handler.c" and "app_ble_handler.h" files, which can be found by navigating to the following path: "PIC32CXBZ2_WBZ45x_BLE_SENSOR_Touch_ATtiny3217\ble_sensor_attiny3217_touch\firmware\src\app_ble".
  • Replace the "app_ble.c","app_ble.h","app_ble_handler.c" and "app_ble_handler.h" files in your project folder location(...\firmware\src\app_ble).
  • Copy the "Sensors" folder which can be found by navigating to the following path: "PIC32CXBZ2_WBZ45x_BLE_SENSOR_Touch_ATtiny3217\ble_sensor_attiny3217_touch\firmware\src".
  • Replace the "Sensors" folder in your project folder location(...\firmware\src).

Step 12 - Clean and build the project. To run the project, select "Make and program device" button.

Step 13 - To the test the application in MBD app follow the steps provided in the BLE Sensor App.

Step 14 - The data printed onto the tera term is shown below.

  • Baud rate: 115200
  • Com port: COM USB serial port

6. ATtiny3217 Touch Application

  • Follow the steps provided under program the precompiled hex file section to program the ATtiny3217 Xplained Pro and T10 Xplained Pro interface.
  • To create the Atmel Start project from scratch follow steps provided in this link.

7. Board Programming

Program the precompiled hex file using MPLAB X IPE

The application hex files can be found by navigating to the following paths:

  • "PIC32CXBZ2_WBZ45x_BLE_SENSOR_Touch_ATtiny3217/hex/ble_sensor_touch.X.production.signed.unified.hex"
  • "PIC32CXBZ2_WBZ45x_BLE_SENSOR_Touch_ATtiny3217/hex/ATTiny3217_T10.hex"

Follow the steps provided in the link to program the precompiled hex file using MPLABX IPE to program the pre-compiled hex image.

Build and program the application using MPLAB X IDE

The application folder can be found by navigating to the following path:

  • "PIC32CXBZ2_WBZ45x_BLE_SENSOR_Touch_ATtiny3217/ble_sensor_ATtiny3217 Xplained Pro_touch/firmware/ble_sensor_touch.X"

Follow the steps provided in the link to Build and program the application.

8. Run the demo

  • After programming the board, the expected application behavior is shown in the below video.

Alt Text

About

"IoT Made Easy!" - Application to control the RGB led on WBZ451 Curiosity board using T10 Board and Microchip Bluetooth Data(MBD) iOS/Android app

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages