Posts

Showing posts from October, 2024

I2C Pico USB Adapter: Part 3 - I2C

Image
I expected implementing the I2C communication would be very easy. After all, the RP microcontrollers have hardware for this and the SDK has support for it. Alas, I did not take into account some limitations of the hardware and the way i2c-tiny-usb implements its commands.

I2C Pico USB Adapter: Part 2 - USB Communication

Image
The USB standard is complex. Even having studied it hard for my book on the RP2040, I admit I was sometimes confused. This particular application involves some functions of the tinyusb library that are not much discussed in the documentation. USB Control Transfers, Taken from Figure 8-37 of the USB 2.0 specifications

Halloween with MicroPython

Image
This is a quick Halloween project (if you have the parts, they are easy to find).  With a little imagination, you can adapt it to different components or behaviors. The software is written in MicroPython for a RP2040 (or RP2350), you can port it to other boards by replacing the PIO code for the HC-SR04 sensor with normal GPIO operations. A resin skull (bought in a trinket store) is transformed into a spooked object that lights up and makes strange noises, especially when someone nears it.

I2C Pico USB Adapter: Part 1 - Introduction

Image
In this series of posts I will describe my latest project: an I2C to USB adapter that can be constructed with an RP2040 or RP2350 board. The adapter using a XIAO RP2040 connected to a PCF8583 RTC+RAM