How to Interface the Digilent PmodToF Using I²C on the Basys 3 FPGA

2026-07-21

How to Interface the Digilent PmodToF Using I²C on the Basys 3 FPGA

Channel: FPGA Discovery (Learning How to Work with FPGAs) (2320 subscribers)

Interfacing external sensors over I²C is one of the most practical skills an FPGA developer can learn, and this video tackles it head-on with a genuinely useful peripheral: the Digilent PmodToF, built around the ISL29501 time-of-flight ranging chip. Unlike a microcontroller where you can lean on a library, driving I²C from an FPGA means you're implementing the protocol yourself in HDL — dealing with start/stop conditions, ACK bits, clock stretching, and the multi-byte register reads the ISL29501 requires for distance measurements.

The Basys 3 is a popular Artix-7 learner board, so this walkthrough hits a sweet spot: real hardware most hobbyists already own, a non-trivial sensor with a proper datasheet, and a protocol that forces you to think about timing rather than just combinational logic. Time-of-flight sensors also involve calibration and configuration writes before you can read a range value, so viewers get exposure to the sequencing state machines that dominate real embedded FPGA work.

Compared to the other candidates — mostly "hello world" Vivado project setups or generic counters — this one actually produces a working sensor-driven system and teaches a transferable protocol skill.

Why watch: A concrete, hardware-in-the-loop I²C implementation on a Basys 3 that teaches sensor bring-up skills you'll reuse on every future FPGA project.

All newsletters