Depot comprises firmware and client code that allows you to connect a multi-bus adaptor board to your Mac or Linux computer and communicate with I²C and 1-Wire peripheral devices wired up to the adaptor.
The adaptor is a Raspberry Pi RP2040-based board, such as the Pico, running the Depot firmware. The adaptor relays commands from client apps to peripheral devices, be they sensors, displays, actuators, storage chips, or whatever.
The Mac or Linux box connects to the adaptor over USB.
The Depot firmware is documented separately in the documentation section.
Depot builds on and extends the older
cli2c tool, and its version numbering is therefore consistent with the older code.
Because it’s a place in which you’ll find lots of buses.
Important WE STRONGLY RECOMMEND YOU BUILD THE FIRMWARE WITH PICO SDK 1.5.0 OR ABOVE.
cmake -S . -B firmwarebuild
cmake --build firmwarebuild
./deploy.sh /path/to/device firmwarebuild/firmware/pico/firmware_pico_rp2040.uf2
./deploy.sh /path/to/device firmwarebuild/firmware/qtpy/firmware_qtpy_rp2040.uf2
./deploy.sh /path/to/device firmwarebuild/firmware/promicro/firmware_promicro.uf2
./deploy.sh /path/to/device firmwarebuild/firmware/tiny/firmware_tiny2040.uf2
./deploy.sh /path/to/device firmwarebuild/firmware/trinkey/firmware_trinkey2040.uf2
The bundled deploy script,
deploy.sh, tricks the RP2040-based board into booting into disk mode, then copies across the newly build firmware. When the copy completes, the RP2040 automatically reboots. This saves of a lot of tedious power-cycling with the BOOTSEL button held down.
You can switch between build types when you make the
cmake call in step 2, above. A debug build is made by default, but you can make this explicit with:
cmake -S . -B firmwarebuild -D CMAKE_BUILD_TYPE=Debug
For a release build, which omits the UART debugging code, call:
cmake -S . -B firmwarebuild -D CMAKE_BUILD_TYPE=Release
Follow both of these commands with the usual:
cmake --build firmwarebuild
You can build the code from the accompanying Xcode project files:
In each case:
cmake -S . -B build
cmake --build build
builddirectory to your preferred location listed in
The following client apps are provided:
||A CLI utility for generic I²C use||macOS, Linux||Link|
||A CLI utility to operate Holtek HT16K33-based matrix displays via I²C||macOS, Linux||Link|
||A CLI utility to operate Holtek HT16K33-based segment displays via I²C||macOS, Linux||Link|
||A CLI utility for generic 1-Wire use||macOS, Linux||Link|
||A CLI utility to sample an Analog Devices 1-Wire DS18B20 temperature sensor||macOS||Link|
||A GUI app to sample an Analog Devices 1-Wire DS18B20 temperature sensor||macOS||Link|
All of these apps run on macOS and Linux with the exception of
ds18b20 (written in Swift) and
Sensor (a Swift-based macOS GUI app):
Every app makes use of common serial driver and bus driver code so you can view the apps as examples as much as tools that are ready to use.
You can view Depot’s source code at GitHub.
PICO_BOARDenvironment variable to select specific firmware targets.