Skip to content
EESP32S Wiki
Documentation/HMMD S3KM1110 with ESP32: Presence & UART Setup
PRODUCT DOCUMENTATION

HMMD S3KM1110 with ESP32: Presence & UART Setup

Wire the HMMD radar to ESP32, check OT2 presence, inspect binary UART reports and read firmware information before adjusting detection settings.

Updated Oct 21, 2026 · View product ↗
On this pageIdentify HMMD rather than another radar boardPower and wire the moduleCheck OT2 presence status firstRead UART diagnosticsInspect before changing parametersSeparate installation effects from faultsTroubleshootingSoftware versions and validationDownloads and referencesRelated products
HMMD S3KM1110 Radar — product reference photo
Product reference photo. Check the printed model, hardware revision and pin labels before wiring.

Test presence sensing on the HMMD S3KM1110 module with an ESP32. Begin with its OT2 digital status, then inspect the UART byte stream and query the firmware version without changing the stored radar configuration.

Identify HMMD rather than another radar board

This guide follows the HMMD module with S3KM1110, a five-signal J2 connection and 3.3 V power. An LD2410, LD1020 or an ESP32S Presence Radar assembly has different connections or protocols. Chip frequency alone does not make firmware interchangeable.

Power and wire the module

Install esp32 by Espressif Systems in Arduino Boards Manager. The C3 examples use ESP32C3 Dev Module with USB CDC On Boot enabled and Serial Monitor at 115200 baud. Start with a working Arduino upload setup, then disconnect power before changing wires.

HMMD signal ESP32-C3 example
3V3 3V3 from a stable supply with sufficient current
GND GND
TX GPIO6, the ESP32 UART receive input
RX GPIO7, the ESP32 UART transmit output
OT2 GPIO4, digital input

The manufacturer specifies a 3.0–3.6 V supply and 0–3.3 V UART signals. This is not a 5 V VIN module. Its normal average current is around 50 mA, so supply capability and wiring quality matter.

Check OT2 presence status first

In the documented configuration OT2 goes high for presence and low for absence after the configured disappearance delay. Keep the module stationary, move in front of it and then leave the detection area. A delayed low transition can be normal timer behavior.

Read UART diagnostics

The protocol uses 115200 baud, 8 data bits, no parity and one stop bit. Reports are binary; ordinary text terminals can show apparent garbage. The sketch prints hexadecimal bytes and sends the documented read-only firmware-version request once at startup.

#include <HardwareSerial.h>
HardwareSerial radar(1);
constexpr uint8_t PRESENCE_PIN = 4;
const uint8_t readVersion[] = {0xFD,0xFC,0xFB,0xFA,0x02,0x00,
                               0x00,0x00,0x04,0x03,0x02,0x01};
void setup() {
  Serial.begin(115200); delay(1500);
  pinMode(PRESENCE_PIN, INPUT);
  radar.begin(115200, SERIAL_8N1, 6, 7); // ESP32 RX=6, TX=7
  delay(1000);
  radar.write(readVersion, sizeof(readVersion)); // Read-only firmware query
  Serial.println("HMMD RX bytes below are hexadecimal, not ASCII text.");
}
void loop() {
  static int previous = -1;
  int present = digitalRead(PRESENCE_PIN);
  if (present != previous) {
    Serial.printf("\nOT2 presence=%d\n", present); previous = present;
  }
  while (radar.available()) Serial.printf("%02X ", (uint8_t)radar.read());
  delay(10);
}

Inspect before changing parameters

A valid response uses the documented frame boundaries and length; a stream of bytes alone is not a verified range measurement. Check the linked protocol before decoding its distance/energy fields. Save the current firmware and settings before making a change.

For configuration, use the matching HMMD host tool and its protocol documentation. Set the farthest distance gate and disappearance delay deliberately, then repeat a walk-in/walk-out test. Do not assume the range in one mounting orientation applies to every installation.

Separate installation effects from faults

Mount the antenna with the recommended orientation and keep moving fans, curtains and nearby vibrating objects in mind. Compare a quiet empty room with one controlled moving target. A radar can respond to movement outside the area a user intuitively considers “in front” if the mounting or surrounding material allows it.

Troubleshooting

Symptom Check next
No UART bytes Cross TX/RX correctly, use common ground and confirm 115200/8N1.
Text looks unreadable The stream is binary; inspect hex frames rather than ASCII characters.
Always present Check disappearance delay, nearby movement and mounting before reducing sensitivity.
OT2 works, UART does not Inspect signal wiring and whether the selected operating mode emits periodic reports.
ESP32 resets Measure the 3.3 V rail and improve supply/current capacity before changing software.

Software versions and validation

Documentation reviewed on October 21, 2026. The included minimal sketch was compile-checked with Arduino-ESP32 3.3.0; library versions are listed below. Compilation does not replace a test on your physical module.

Only Arduino-ESP32 built-in APIs are required for the supplied example.

Downloads and references

Download the minimal Arduino sketch (.zip)

Need help with your board?

Share the product link, hardware revision, software version and any error messages.

Contact ESP32S support →
Shop
Sidebar
Wishlist
0 items Cart
My account
Rates by ExchangeRate-API