HC-SR04 with Nordic nRF52840 DK

Wiring for the HC-SR04 ultrasonic distance on the Nordic nRF52840 DK (nRF52840-QIAA, 3.3 V logic), chosen with the same pin rules BoardPilot uses: default buses first, and no pins that are used for flash, USB, the debugger or booting.

Wiring

HC-SR04 pinRoleNordic nRF52840 DK pinNotes
VCCPower5VNeeds 5 V: use 5V
TRIGInput to the partP1.03A 10 µs HIGH pulse starts a measurement
ECHOOutput from the partP1.04
GNDGroundGND

Check before you power it on

Test code (Arduino)

The Arduino core for this board numbers its pins differently from the chip names, so no code is shown here. Use the pin names from your core’s variant file.

Arduino board: adafruit:nrf52:pca10056. Plug USB into the port on the short edge (interface MCU, J2) and set the power switch to ON; before the first Arduino sketch, burn the Adafruit bootloader and SoftDevice once.

Questions

Which Nordic nRF52840 DK pins do I use for the HC-SR04?

VCC → 5V, TRIG → P1.03, ECHO → P1.04, GND → GND.

Does the HC-SR04 work with the Nordic nRF52840 DK at 3.3 V?

The HC-SR04 works at 5 V, so its output (ECHO → P1.04) can reach 5 V. The Nordic nRF52840 DK pins take only 3.3 V: add a voltage divider (for example 1 kΩ and 2 kΩ) or a level shifter on that wire.

BoardPilot checks this wiring in 3D as you build it, and finds crossed or missing wires on the real board.

Download BoardPilot

Full Nordic nRF52840 DK pinout · HC-SR04 ultrasonic distance: all pins and data

The HC-SR04 on other boards

Other parts on the Nordic nRF52840 DK