ESP-NOW Remote Control

by Markus Opitz in Circuits > Remote Control

7241 Views, 20 Favorites, 0 Comments

ESP-NOW Remote Control

Grafik1.jpg

Universal remote control for small vehicles or robots, using the ESP-NOW-protocol, which is similar to the low-power 2.4GHz wireless connectivity.

Up, down, right, left, button.

Small, simple, with control LED.


Basic knowledge for Arduino IDE is required.

Supplies

Supply.jpg


ESP32 or ESP8266

Joystick (5 pins)

5V power supply


optional: 1 micro LED + 150 Ohm resistor

buck-boost converter 3.3V + LiPo battery

housing (wood, plastic, cardboard ...)

cables, soldering iron, Arduino IDE


If you want to use the tiny ESP32-C3, this instructable will help you.

Hardware: Transmitter

ESP-Now Remote.jpg

In the basic configuration, all you have to do is connect the pins of the joystick to the ESP32 or ESP8266 correctly (see illustration).

An LED, a switch and a converter for the LiPo battery are optional.

  • Joystick -- microcontroler
  • GND --> GND
  • 5V --> 3.3V
  • x --> SP
  • y --> SN
  • SW(itch) > G25

For the battery I used a buck-boost converter that changes the voltages from 1.8V - 5V to 3.3V.


The easy way:

Instead of using a battery, simply connect the ESP to a power bank with a USB cable.


Software

For signal transmission, we use ESP-NOW, a protocol that works on a WiFi basis, but without registration, therefore faster and with a greater range. Only the MAC address of the addressee must be known to pair the devices.


A great description of ESP-NOW can be found at:

https://randomnerdtutorials.com/esp-now-esp32-arduino-ide/

Many thanks to Sara Santos and Rui Santos!


Transmitter

The microcontroller (transmitter) detects the movements of the joystick and transmits the signal via Wifi to a device with a specific MAC address. It receives a confirmation of receipt from the receiver, and the LED on the remote control lights up as a check.


Receiver (see Step 3)

The receiver sends an acknowledgement of receipt as soon as a signal arrives. Further processing takes place in this second microcontroler.

Prepare the Receiver

Now you can set up another ESP8266 / ESP32 (for example in a toy car) as receiver. Don't forget to match the MAC address of the transmitter and receiver.

Software Upload

Basic knowledge for Arduino IDE is required.


Download Arduino IDE for free at https://www.arduino.cc/

Case

A housing for the remote control depends very much on which microcontroller and which power source you use. Solid cardboard or plastic plates will protect the electronics properly.


If you are also using an ESP32 D1 and a small LiPo battery, I will be happy to share the 3D print files with you.