I’ve released a new open-source project: PyDEPP – a Python library for communicating with Digilent FPGA boards via the DEPP protocol. The goal was to create a modern, object-oriented interface for accessing registers, data streams, and debugging functions, built directly on top of Digilent’s Adept SDK.
Why this project?
Digilent’s DEPP protocol is powerful, but its native interface is rather clunky. If you’ve ever worked with the C APIs, you know it could be more elegant. PyDEPP abstracts this complexity and brings register and stream access to Python-level simplicity – including context management via with, flexible timeout control, and debug dumps.
Highlights:
get_reg()/set_reg()– easy register accessput_stream()/get_stream()– efficient data transfer- Customizable timeouts
- Context manager for clean resource handling
- Register dumps for debugging
The library is fully open source and MIT licensed. If you’re into Python-based hardware communication, this is for you.
Tested with:
- Digilent Nexys2 FPGA board
- Python 3.11 on Debian
- Shared libraries:
libdmgr.so,libdepp.sofrom the Adept SDK
➡️ If you’re interested in embedded development with Python or want to make better use of the DEPP interface, you’re welcome to join in.
