1032 Moen Ave, Suite 1, Rockdale, IL 60436
MC# 598300 DOT# 1345616

Arduino Example Best: Jdy40

bool sendCommand(String cmd) jdy40.println(cmd); unsigned long timeout = millis() + 500; while (millis() < timeout) if (jdy40.find("ACK")) return true; return false; // Retry or indicate failure

Add a 100µF capacitor across VCC and GND on the JDY-40. This filters noise from the Arduino’s regulator and doubles the effective range. The Best Code Architecture: Don't Use Serial The biggest mistake beginners make is connecting the JDY-40 to Serial (Pins 0/1). This clashes with the USB programmer and crashes your uploads. jdy40 arduino example best

Out of the box, the JDY-40 works. But to eliminate interference and maximize range, you must configure it via AT commands. bool sendCommand(String cmd) jdy40

| Command | Function | Best Setting | | :--- | :--- | :--- | | AT+RFADDR | RF Channel (0-255) | AT+RFADDR=115 (Pick a quiet channel) | | AT+RFNETID | Network ID (0-65535) | AT+RFNETID=5678 (Avoid default 0) | | AT+BAUD | UART baud rate | AT+BAUD=9600 (Most stable) | | AT+RFMD | RF Data rate | AT+RFMD=250 (250kbps = longest range) | | AT+TRPMAX | Transmit power | AT+TRPMAX=1 (Max power) | | AT+SLEEP | Power management | AT+SLEEP=0 (Disable sleep for continuous use) | This clashes with the USB programmer and crashes