ESP32 BLE Communication

by AkarshA2 in Circuits > Arduino

25 Views, 1 Favorites, 0 Comments

ESP32 BLE Communication

10.JPG

Hey, what's up, Guys! Akarsh here from CETech.

In this tutorial, I'm going to show you how to trigger actions with Bluetooth using M5Stamp PICO and M5Stick C which are very cheap and High efficient ESP32 Controllers.

We will create a simple Transmitter Receiver pair using M5Stick C and M5Stamp PICO modules and whenever we will trigger the connection using a button on M5Stick C, an LED will blink on the M5Stamp showing that it has received the Signal. We will be using Arduino IDE to program these modules as Transmitter and Receiver So you can also check using the Serial Monitor whether the Transmission is happening or not.

It is a very simple project and no Hardware connections are required as such. We just need to program the boards and we are good to go. So let's jump straight into it.

Supplies

Things used in the project :

  1. M5Stick C
  2. M5Stamp PICO
  3. Arduino IDE

Get PCBs for Your Projects Manufactured

1.JPG

You must check out PCBWAY for ordering PCBs online for cheap!

You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto PCBWAY to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.

What Are M5Stick and M5Stamp?

2.JPG
11.JPG
12.JPG

M5Stack is a technology company that designs and manufactures an open-source development toolkit, including hardware, programming platform, and IoT solutions. It was founded by Jimmy Lai in 2017 and is based in Shenzhen, China. M5Stack created the M5Stick and M5Stamps, which are both based on the ESP32 controller. The M5Stick C features an embedded TFT display and battery, while the M5Stamp has a small footprint and can be used in a variety of IoT products.

M5StickC is a mini M5Stack, powered by ESP32. It is a portable, easy-to-use, open-source, IoT development board. It is an ESP32 development board with 0.96 inch TFT color screen (80 * 160 resolution), Red LED, button, Microphone, IR transmitter, 6-axis IMU (SH200Q), and 80 mAH battery. The ESP32 module ESP32-Pico in M5StickC also has a built-in 4MB flash. If the M5StickC is equipped with a watch base and watch belt, you can wear it on your wrist.
It is built in a continually growing hardware and software ecosystem. It has a lot of compatible modules and units, as well as the open-source code & engineering communities that will help you maximize your benefits in every step of the developing process.

Power switch operation:

Power on: Press the power button for 2 seconds

Power off: Press the power button for 6 seconds The input range of VBUS_VIN and VBUS_USB is limited to 4.8-5.5V, and the internal battery will be charged through AXP192 power management when VBUS is powered.

STAMP-PICO features an ultra-compact design with two low-power Xtensa® 32-bit LX6 microprocessors at 240MHz on a PCB as tiny and delicate as a postage stamp. low power consumption. It is ideal for any space-constrained or battery-powered devices such as wearables, medical devices, sensors, and other IoT devices.

1, MULTIFORM: 5 options of installation, means endless possibilities! (SMT, DIP, flywire, grove interface), with a high-temperature resistant plastic shell, 3D antenna and components can be better protected.

2, LOW-CODE DEVELOPMENT: STAMP-PICO supports UIFlow graphical programming platform, scripting-free, cloud push; and fully compatible with Arduino, MicroPython, ESP32-IDF, and other mainstream development platforms to quickly build various applications.

3, HIGH INTEGRATION: STAMP-PICO contains a 5V->3.3V DC/DC port, GPIOx12, programmable RGB light x1, button x1, and finely tuned RF circuit, providing stable and reliable wireless communication.

4, STRONG EXPANDABILITY: Easy access to M5Stack's hardware and software ecology system: a wealth of sensors, actuators, functional modules, and accessories to choose from, and Extremely fast adaptation.

Setup and Coding the Modules

3.JPG
4.JPG
5.JPG
6.JPG

Set up M5Stamp and M5Stick with Arduino IDE by following these instructions.

https://docs.m5stack.com/en/quick_start/m5core/arduino

M5Stick C will act as a BLE transmitter, while M5Stamp PICO will act as a BLE receiver. When Button A on the M5Stick is pressed, the M5Stamp's LED turns green.

The codes that are needed to be uploaded to the modules are available in the Github repository of the project that you can access from here. You can access the Transmitter code from here and the receiver code from here.

One thing that needs to be taken care of is that in the receiver code, you need to provide the BLE Address of your MStickC. So change the field accordingly in the code.

Testing the Connection

7.JPG
8.JPG
9.JPG

Once the Transmitter and Receiver codes have been uploaded to the M5Stick and M5Stamp, connect the M5Stamp to your PC and open the serial monitor, then click the button A on the M5Stick C, which will display Triggered on the TFT Display.

Check the Serial Monitor Results whenever you see a triggered message in your M5Stick C. The name of the ESP Transmitter, RSSI, and Triggered Message will be displayed on the serial monitor. The Green led on the M5Stamp will blink.

So in this way, the connection between these two modules is established. You can use these modules in projects that require small data to be transferred. Hope you liked this project. We will be back soon with some more interesting projects like this.