Skip to content
All projects

Embedded / Drivers2026

ToF + Ultrasonic on Pico 2350

An Arduino-free port of the VL53L1X driver to the bare Pico SDK

  • C / C++
  • Pico SDK
  • RP2350
  • VL53L1X
  • HC-SR04
  • I²C
  • CMake

Distance sensing on the RP2350 from two different physical principles at once — a VL53L1X time-of-flight sensor and an ultrasonic rangefinder — with the Adafruit VL53L1X driver ported off Arduino and onto the raw Pico C/C++ SDK.

The Pico 2350 wired to the VL53L1X and ultrasonic sensors
  1. 01

    Driver port off the Arduino framework

    The Adafruit VL53L1X driver is rewritten against the Pico SDK's I²C primitives directly, removing the Arduino abstraction layer entirely.

  2. 02

    Two sensing principles, one target

    Optical time-of-flight and acoustic ranging measured side by side, which exposes where each one fails — reflective surfaces for one, soft surfaces for the other.

  3. 03

    CMake and Pico SDK from scratch

    Built on the plain Pico SDK toolchain with CMake and VSCode configuration checked in, no vendor IDE required.

Comparison plot of time-of-flight and ultrasonic distance readings