Maker.io main logo

Control LED Via Phone App – Arduino ESP32 Home Automation Using Matter

2025-11-12 | By Ron Cutts

License: GNU Lesser General Public License Interconnect LED / Display Drivers Arduino ESP32 ESP8266

 

In this easy Visuino post, you’ll learn how to use the Matter protocol to control an LED on your Arduino Nano ESP32 directly from your smartphone—creating a simple and powerful smart home automation setup.

With Visuino’s visual programming, you can quickly connect your Arduino Nano ESP32 to a Matter network and control your LED with just a tap on your phone.

This tutorial will show you how to:

  1. Connect an Arduino Nano ESP32 to a Matter network for smart home automation

  2. Control an LED from your smartphone using the RainMaker app

  3. Use Visuino to set up IoT devices easily without coding

  4. Understand pairing codes, on/off control, and status feedback

  5. Build real, practical smart home projects in minutes

💡 Works with Google and other Matter-supported smart home systems!

Download the Visuino project file at the bottom and

🎥 Watch the full video to see it in action!

Step 1: What You Will Need

What You Will Need

What You Will Need

What You Will Need

  1. Arduino Nano ESP32 (or any other ESP32 board)

  2. ESP RainMaker App Download

  3. Visuino program: Download Visuino

Step 2: Start Visuino, and Select the Arduino Nano ESP32 Board Type

Start Visuino, and Select the Arduino Nano ESP32 Board Type

Start Visuino, and Select the Arduino Nano ESP32 Board Type

Start Visuino as shown in the first picture. Click on the "Tools" button on the Arduino component (Picture 1) in Visuino. When the dialog appears, select "Arduino Nano ESP32" as shown in Picture 2

Step 3: In Visuino, Set WiFi

In Visuino Set WiFi

In Visuino Set WiFi

In Visuino Set WiFi

  1. Select the Arduino Nano ESP32 board and in the properties window, expand "Modules>WiFi>Connect To Access Points."

  2. Click on the Connect To Access Points 3 Dots

  3. In the AccessPoints window, drag "WiFi Access Point" to the left side

  4. In the properties window, set SSID (name of your WiFi hotspot or router)

  5. In the properties window, set Password (password of your WiFi hotspot or router)

  6. Close the AccessPoints window

Step 4: In Visuino Set Matter

In Visuino Set Matter

In Visuino Set Matter

Now, let's set the Matter.

Select the Arduino Nano ESP32 board, and in the properties window, expand

"Modules>Matter Click on the "End Points" 3-dot button. In the "End Points" window, drag "On/Off Plugin" to the left side. Close the "End Points" window

Step 5: In Visuino Add & Connect Components

imageimageimage

  1. Connect Arduino >On/Off Plugin1> Pin [Out] to Arduino Digital (LED) pin 13

  2. Connect Arduino >Matter> ManualPairingCode to Arduino > Serial USB pin p[In]

Step 6: Generate, Compile, and Upload the Project

Generate, Compile, and Upload the Project

  1. In Visuino, at the bottom, click on the "Build" tab, make sure the correct port is selected, and then click on the "Compile/Build and Upload" button.

Step 7: Getting the Code

Getting the Code

After uploading the project to the board, switch to the serial tab, select the correct port, and click the Connect button. You should see the Matter pairing code displayed.

Step 8: ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

ESP RainMaker App

Install the App and Add Your Device

On your smartphone, go to the Google Play Store or Apple App Store and search for “ESP RainMaker.”

Download and install the app, then open it and create an account (or log in if you already have one).

With your Arduino Nano ESP32 flashed with the Visuino Matter project and connected via the serial monitor, you’ll see a pairing code displayed.

Make sure your phone is connected to the same Wi-Fi network as your Arduino board.

Open the RainMaker app, go to the home screen, and tap “Add Device” (or the + icon) to start adding your device.

Select “I don’t have a QR code.”

Then choose Provisioning Transport → Matter.

Select your group, and then choose “Set up without QR code.”

Enter the Matter pairing code from the serial window.

Tap “I’m ready,” and wait for the app to connect to the Arduino board.

When it’s successfully connected, you’ll see your new device appear in the app —

Ready to control the LED!

💡 Tip: Make sure your phone is on the same Wi-Fi network as the ESP32. If the app can’t find your device, try reconnecting to Wi-Fi or restarting the RainMaker app.

You can also, in Visuino set "Erase All Flash Before Sketch Upload" to Enabled when you upload the project.

More about the ESP RainMaker App

Step 9: Play

After uploading the project to the Arduino Nano ESP32 board and setting the ESP RainMaker App, you should be able to control the LED on the Arduino Nano ESP32 board from the app.

Congratulations! You have completed your LED project with Visuino.

Also attached is the Visuino project that I created for this. You can download and open it in Visuino: https://www.visuino.com

Download: Arduino Nano ESP32 - Matter - RainMaker.visuino


Mfr Part # ABX00083
ARDUINO NANO ESP32 WITH HEADERS
Arduino
R334,47
View More Details
Mfr Part # ABX00092
ARDUINO NANO ESP32 WITHOUT HEADE
Arduino
R317,14
View More Details
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.