Pimoroni Pico LiPo (PIM560)

This is a placeholder topic for “Pimoroni Pico LiPo” comments.

A top of the line Pirate-brand RP2040-powered microcontroller with lots of flash memory, USB-C, STEMMA QT/Qwiic and debug connectors… and built in LiPo charging!

Read more

1 Like

Hi, do you have details as to the I2C details for the Pimoroni pico lipo ? Which bus, sda, scl is it using and what changes do we need to make to the Unified library so that we can get a PiicoDev RTC to work? Thank you.

1 Like

Based on the pinout on the pimoroni site:

It’s connected to I2C0 and that’s the same as the PiicoDev expansion board for the pi pico, so it should work with all the PiccoDev modules with no changes to the library

1 Like

Thank you for this info, I have tried it and it does not work. From memory, the PiicoDev Lipo Expansion board uses I2C0 and GP8 and GP9 for sda and scl not GP4 and GP5 as shown in the Pimoroni LIPO Pico which why I believe connecting the PiicoDec RTC and using the PiicoDev Unified and RV3028 libraries gives me an error message.

I gather that if I could change the GP ports in the Unified library to GP4 and GP5 it should work…

I am still new to Python and it takes some time to figure things out - any help is appreciated !!!


1 Like

Hi Socrates,

Welcome! :slight_smile:

There is currently an issue raised about the error with re-assigning the pin on the Pico, so it wont work with pins 4/5 at the moment: PiicoDev Unified RP2040 I2C pin selection · Issue #6 · CoreElectronics/CE-PiicoDev-Unified · GitHub

You should be able to initialise PiicoDev with I2C1 on another set of pins!
With the RTC the initalisation will look something like this:

from machine import Pin

rtc = PiicoDev_RV3028(1,sda=Pin(6), scl=Pin(7)) # Initialise the RTC module, enable charging

Let us know how you go!

Hello Liam,

Thank you for the welcome and the suggestion, I have tried it but no luck here is the code and the error following…

Thank you again for all your help.

from PiicoDev_RV3028 import PiicoDev_RV3028
from PiicoDev_Unified import sleep_ms
from machine import Pin
from utime import sleep_ms, localtime

#rtc = PiicoDev_RV3028() # Initialise the RTC module, enable charging
rtc = PiicoDev_RV3028(1,sda=Pin(6), scl=Pin(7)) # Initialise the RTC module, enable charging with specific Pins

Error message:
PiicoDev could not communicate with module at address 0x52, check wiring
Traceback (most recent call last):
File “”, line 11, in
File “/lib/PiicoDev_RV3028.py”, line 84, in init
File “/lib/PiicoDev_RV3028.py”, line 81, in init
OSError: [Errno 5] EIO

I also tried
rtc = PiicoDev_RV3028(0,sda=Pin(6), scl=Pin(7))

To use I2C0 but no luck either.

Thank you.

Hello again,

Good news, I have tried a pre-releace v1.19.0 of the Pimoroni Lipo Pico 16Mb UF2 and the I2C works without any parameters !!!

It is pre-release and there are changes in the handling of PicoDisplay1/2 but the PiicoDev RTC clock works great.

Thank you.