Although protocols such as I2C and SPI are excellent for communication between embedded devices and their peripherals, it can be difficult to interface these low-level digital interfaces with a PC. [Alexandre] he usually used an Arduino to connect the PC to the embedded worlds, but was tired of defining a custom serial protocol for each project. Inspired by the MicroPython car module, [Alexandre] developed u2if – an implementation of some of the MicroPython machine modules for the PC – using a USB-connected Raspberry Pi Pico to connect a PC to low-level digital interfaces.
u2if consists of two parts: the PC portion is a Python implementation of a portion of the MicroPython machine module, and the Raspberry Pi Pico receives some custom C ++ firmware. So far, [Alexandre] implemented functionality for the on-board ADC, I2C, SPI, UART and GPIO lines, as well as additional support for I2S sound and the WS2812B addressable LED.
In addition to the u2if package, [Alexandre] designed a PCB to break all Raspberry Pi Pico interfaces into a handy 3 × 3.9 ″ board. We especially like that several I2C headers are provided, including one with enough space to mount an SSD1306 OLED display.
We think this could be an incredibly useful tool and what makes it even more impressive is that it uses a board that many of us already have on it. If you want a dedicated device for the low-level digital bus interface, we recommend you check out GreatFET.