If you are controlling a garage door, sending temperature readings across a farm, or building a wearable remote, the JDY-40 is often the best solution.
Up to 120–160 meters in open sight.
To interface the JDY-40 with an Arduino (like a Nano or Uno), use the following wiring scheme. Note that the module is ; applying 5V to the data pins without a level shifter can damage it. JDY-40 Pin Arduino Pin Description VCC Power supply (2.2V - 3.6V) GND Common Ground RXD TX (e.g., D3*) Data receive pin (3.3V logic) TXD RX (e.g., D2*) Data transmit pin SET D4 / GND / 3.3V LOW for AT Mode; HIGH for Communication Mode CS Chip Select; LOW to keep the module active jdy40 arduino example best
Keep the onboard PCB trace antenna clear of wires, metal chassis, and high-power components to ensure maximum range.
void setup() Serial.begin(9600); jdy40.begin(9600); If you are controlling a garage door, sending
: Use a 3.3V logic level. If you're using a 5V Arduino like the Uno, you'll need a voltage divider on the line from the Arduino's TX pin to the module's RX pin to prevent damage.
| JDY-40 Pin | Function | Connection to Arduino | | :--- | :--- | :--- | | | Power supply (3.3V). | Connect to the 3.3V output pin on your Arduino. Do not use 5V , as this may damage the module. | | GND | Ground. | Connect to any GND pin on your Arduino. | | TXD | Serial Data Transmit. | Connect to the Arduino's RX pin (e.g., pin 0 on Uno). | | RXD | Serial Data Receive. | Connect to the Arduino's TX pin (e.g., pin 1 on Uno). | | SET | AT Command Mode pin. | Pull this pin LOW (to GND) to enter configuration mode, HIGH (to 3.3V) for normal transparent mode. | | CS | Chip Select. | Pull this pin LOW (to GND) to wake the module from sleep. For normal operation, tie it to GND. | Note that the module is ; applying 5V
void loop() // Read from Serial Monitor (PC) if (Serial.available()) String data = Serial.readString(); jdy40.print(data); // Send wirelessly to receiver