VL53l5CX Examples don't run as rely on ULAB

I am using a PICO Explorer board and VL53L5CX ToF. As Pimoroni Pico v1.19.9 no longer has ulab, only one of the examples works. Does anyone know of a get around to get the data to display as an image from a list?

ulab is still present in boards that have more than 2MB of flash memory, so you could switch to a Pimoroni Pico LiPo and these examples should still work?

(I think ulab is a huge module which is why we no longer include it in builds for 2MB boards - we were running out of room!).

EDIT: ulab is only currently available in the Pimoroni Pico LiPo builds

Thanks for a fast response - I will order a PICO LIPO next week and have a play.

I bought Motor 2040, Tiny 2040 8MB and VL53L5CX. But the ulab module is missing in pimoroni-tiny2040-ā€¦-micropython.uf2!
Could you create the new MicroPython?
Thanks

Sorry for the duff info :( yeah, looking at the cmake files ulab is only currently included in the Pimoroni Pico LiPo builds. Iā€™ve asked our software folks if itā€™s possible to add it to the Tiny 2040 build.

Hi @Eku - weā€™ve tweaked the cmake rules and future Tiny 2040 8MB builds should now include ulab. If you donā€™t wait for a new release you could try this hot-off-the-press build: pimoroni-tiny2040-9f736279df7a0de7f7e284cad155129062e121de-micropython.uf2.zip (463.6 KB)

Hello HEL.

Thanks.

The file ā€œpimoroni-tiny2040-ā€¦de-micropython.uf2ā€ fits.

It works with Motor 2040, Tiny 2040 8MB and VL53L5CX.

Butā€¦

Is it possible to create the ā€œbigā€ version ā€œpimoroni-tiny2040-8mbā€¦-micropython.uf2ā€ with all modules!

Kind regards

Edward

I think the existing tiny2040 build is for the 8MB version? You can check your available flash space with this code:

import os

f_bsize, f_frsize, f_blocks, f_bfree, _, _, _, _, _, f_namemax = os.statvfs("/")
f_total_size = f_frsize * f_blocks
f_total_free = f_bsize * f_bfree

print(f"Total size: {f_total_size/1048576} MB")
print(f"Total free: {f_total_free/1048576} MB")

Hello HEL.
The VL53L5CX breakout need a module ā€˜ulab (numpy)ā€™.

from time import sleep
from ulab import numpy
import pimoroni_i2c
import breakout_vl53l5cx
from machine import Pin, UART
from pimoroni import Button
from motor import Motor, pico_motor_shim, motor2040

help(ā€˜modulesā€™)

Kind regards
Eduard

I want to use this module with an Inventor 2040 W. Iā€™m working on a Rover build with two Micro Metal Gear Motors. There is no option to swap out the Pico W. What now?

I believe ulab/numpy is only currently included in the builds for boards with greater than 2MB of flash due to space constraints.

Thereā€™s an blog post here about how to use Github actions to compile a custom firmware image that contains the modules you want - you could give that a try? Galactic Unicorns and Custom Pimoroni Pico Firmware | by Iestyn Lloyd | Medium

ā€¦or you could try the inventor2040w image we just span up here (youā€™ll need to be logged into Github to see the download links).

Iā€™ve not tested it exhaustively as I donā€™t have one of the breakouts to hand, but it seems to flash OK to the board and from ulab import numpy worksā€¦

That was quick, and did the trick. Many thanks for the quick reply. =)
The object tracking example is working, and giving back good numbers. Near as I can tell anyway. The motion example worked OK too. =)

1 Like