Distance
Interfacing US 100 Distance with STM32 Blue Pill
What is the US 100?
US 100 practical reference
A drop-in HC-SR04 upgrade that adds temperature compensation and an optional UART mode for more consistent readings. The US-100 uses the same physical dual-transducer layout as the classic HC-SR04, so it fits existing mounts and wiring, but internally it corrects for the fact that the speed of sound changes with air temperature — giving noticeably steadier distance readings across hot and cold environments — and it can optionally be switched into a simple 3-wire UART mode that skips the fussy pulse-timing of the standard trigger/echo interface entirely.
Key specifications
- Sensor type: Dual-transducer ultrasonic ranging module with onboard temperature compensation
- Operating voltage: 2.4V–5.5V DC
- Operating current: ~2.2 mA
- Measuring range: 2cm to 450cm
- Accuracy: ±1% typical, improved over standard HC-SR04 thanks to temperature compensation
- Interface modes: Trigger/Echo pulse mode (pin-compatible with HC-SR04) or UART serial mode, selectable by a jumper
- UART settings: 9600 baud, 8N1, when jumper-configured for serial mode
- Temperature sensor: Onboard temperature sensor used internally to correct the speed-of-sound calculation
Pinout and connection notes
A small onboard jumper (often a solder pad or physical switch) selects between classic trigger/echo pulse mode — wired and coded exactly like an HC-SR04 — and UART serial mode, which instead streams distance readings as simple serial bytes at 9600 baud, avoiding the need for precise pulse-width timing in your microcontroller code.
- VCC: Power, 2.4–5.5V DC
- Trig / TX: Trigger input in pulse mode, or UART TX in serial mode (set by onboard jumper)
- Echo / RX: Echo output in pulse mode, or UART RX in serial mode
- GND: Ground
Integration checklist
- Confirm the exact part number and breakout-board revision.
- Verify supply voltage, current demand, logic levels, and signal direction against the datasheet.
- Check controller pin assignments and bus address or interface mode against the example code.
- Power up with external loads disconnected, then test signals before full integration.
- If readings or communication fail, check power and ground first, then pin mapping, interface settings, and library initialization.
Troubleshooting and reproducibility
Record the board used, wiring, library/version, supply arrangement, and measured behavior. Use the selected board-specific wiring example as the source of truth. Never assume visually similar modules share identical voltage tolerance or pin order.
Setting Up US 100 with STM32 Blue Pill
Wiring
| Component pin | STM32 Blue Pill pin | Note |
|---|---|---|
| VCC | 5V | |
| TX | PA10 / Serial1 RX (through a divider) | Sensor TX is 5V logic — Blue Pill GPIOs are 3.3V-only |
| RX | PA9 / Serial1 TX |
Swipe sideways to see every column →
- Blue Pill's USB-CDC Serial often doesn't show up without extra setup — flash via ST-Link and watch Serial1's USB-TTL output if this is new to you, same as other UART components on this board.
- The divider on the sensor's 5V TX line feeding into PA10 is still required.
- Same 0x55-request / 2-byte-reply protocol as the other boards.
Related Components
GP2Y0A21
Analog IR distance sensor for obstacle detection at 10-80cm range — reliable and well-documented.
HC-SR04
The most reliable ultrasonic distance sensor — measure 2cm to 4m with just two GPIO pins.
JSN SR04T
Waterproof ultrasonic sensor for tank level measurement and outdoor robotics.
VL53L0X
A tiny laser time-of-flight ranger that measures distance in millimetres over I²C, accurate to a few percent and far narrower than ultrasonic.
Related Guides & Projects
STM32 Low-Power Modes: Sleep, Stop, and Standby Explained (With Working Code)
A practical guide to STM32's three-tier low-power system — Sleep, Stop, and Standby — with working STM32duino code, measured current draw on a Blue Pill, and a battery-powered project example.
STM32 Blue Pill Pinout: Every GPIO, ADC, and Alternate Function Explained
A complete STM32F103C8T6 Blue Pill pinout reference: every GPIO port, ADC channel, timer, and communication bus mapped, plus the 5V-tolerance and clone-board considerations that affect wiring decisions.
STM32 Black Pill Pinout: Every GPIO, ADC, and Peripheral Explained
Complete STM32 Black Pill (STM32F411CEU6) pinout reference: GPIO ports, 12-bit ADC, timers/PWM, USART, SPI, I2C, and the 3.3V-only pins to watch out for.
STM32 Nucleo Pinout: Arduino Headers, Morpho Connectors, and GPIO Explained
Complete STM32 Nucleo pinout reference: Arduino-compatible headers vs ST Morpho connectors, the built-in ST-LINK debugger, ADC voltage limits, and every peripheral pin mapped.