Rapid Prototyping with 32-bit MCU-based Curiosity Nano Evaluation Kit Using MPLAB Harmony v3 Software Framework: Step8

Step 8.1: Build and Program the Application

1

Clean and build your application by clicking on the Clean and Build clean_build_icon.png button.

If you encounter compilation errors, recheck the steps and build the project again.

2

Program your application to the device by clicking on the Make and Program program_icon.png button.

3

Before proceeding, install the Microchip Bluetooth Data Android app on an Android smartphone.

4

Enable Bluetooth and location services from your smartphone settings.

5

Perform a reset by unplugging and re-plugging the PIC32CM MC00 Curiosity Nano Evaluation Kit power cable.

6

Open the Microchip Bluetooth Data (MBD) Android app from your smartphone and tap on the BLE UART icon on the dashboard. If prompted, allow the application to turn on Bluetooth.

mbd_appscreen1.jpg

7

Now, scan for Bluetooth devices by tapping BM70 > SCAN > SCAN options on the MBD APP.

mbd_appscreen2.jpg
mbd_appscreen3.jpg
mbd_appscreen4.jpg

8

The BM71 device will appear as TransparentUARTDemo in the list of Bluetooth devices.

mbd_appscreen5.jpg

Once you see the TransparentUARTDemo device, click on the CANCEL button to cancel the device scanning

mbd_appscreen6.jpg

9

Tap on TransparentUARTDemo to connect to the device

mbd_appscreen7.jpg
mbd_appscreen8.jpg

10

Once the device is connected, tap on Transfer data to device to build the communication interface between the demo application and MBD App.

mbd_appscreen9.jpg

11

Enable Write with Response by clicking on the OFF button at the bottom of the MBD APP screen.

mbd_appscreen10.jpg
mbd_appscreen11.jpg

12

Send the commands mentioned in the demo description to control the fan. The commands mentioned in the demo description are not case-sensitive.

mbd_appscreen12.jpg
mbd_appscreen13.jpg

13

  • The fan will be controlled based on the command received from the MBD application.
  • When the user chooses temperature based Fan Control mode, the application reads the temperature values from a weather sensor, displays them on the EInk display, and controls a DC fan

 Results

You successfully created a smart appliance control application and observed that the application enabled control of a smart appliance through a BLE-based Android smartphone. In the first method, a 5 V DC fan is controlled based on the room temperature value. The room temperature and the fan's speed are also displayed on a low-power consuming display. In the second method, based on the command exercised by the user on the Android smartphone app, the fan operation was controlled.

 Analysis

In this lab, you quickly and successfully extended an application built using MPLAB® Harmony v3 on a PIC32CM MC00 microcontroller. Your application used all the fundamental elements that go into making a real-time application. In this application, you used MPLAB® Harmony Configurator (MHC) to configure a PIC32CM MC00 device and used the MPLAB Harmony v3 Framework. You used the clock configurator to set up the CPU clock. You configured SERCOM0 (I2C), SERCOM1(USART), SERCOM3(SPI), and PORT peripheral libraries. You also configured and used the BM71 driver, Timer System Service. Lastly, you used the pin configurator to set up the pins for the peripheral functions.

 Conclusions

This lab provided you training for configuring and using all the fundamental components needed to build a real-time application on a PIC32CM MC00 microcontroller with the MPLAB Harmony v3 Framework. As a next step, you may customize this application and reconfigure some of the components used in this tutorial.

© 2022 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.