Hello!
I’m very happy to report that I’ve printed my delta stage microscope, have assembled it along with assembling an adafruit dotstar LED 8x8. I’ve followed the instructions as per the “LED grid illumination extension” gitlab repository and have been able to launch the webclient with the extensions showing up in the interface but they remain non-functional - I just cannot get the LED grid to light up!
I have checked my wiring, and tested for continuity (power/data - using a (74AHCT125 shifter)) and everything looks good! I plan to use the microscope for phase contrast wet mounts in biological applications. Because of this, I’ve opted to solder a 1000uF cap to handle the possible power demands for using the array under higher power (as per the adafruit website) as well as externally powering it from a 5V/2.4A PSU (tested and outputting as indicated) (should be enough to run the LEDs at 50% brightness). After ruling out hardware I began to pick at the software.
This is where I fall short, as I have little experience with Linux systems. I did however, give it a go. It seems from the webclient logs (see below), that there is a problem with the something along the lines of a “LTX_MANIFEST” - my knowledge of python is quite limited. I did have a look at the OpenFlexure extensions documentation but haven’t really been able to figure it out. It did appear that it required, a “Labthings” package which I’ve added, along with some of the adafruit.circuitpython.dotstar packages requiring an earlier version which I’ve since rolled back. However, this is now the log from the most recent startup.
The part that mystifies me is the,
“[WARNING] Module type “Illumination” not recognised.”
and,
[2025-04-19 20:25:01,672] [MainThread] [WARNING] No LTX_MANIFEST found for /var/openflexure/extensions/microscope_extensions/grid_illumination/init.py. Searching for implicit extension objects.
[2025-04-19 20:25:01,684] [MainThread] [WARNING] No LTX_MANIFEST found for /var/openflexure/extensions/microscope_extensions/phase_contrast/init.py. Searching for implicit extension objects.
I’ve played around with the grid_illumination init.py files by rearranging how it retrieves the extensions to no avail and so have reverted it back to the default (provided one). I had also created a labthings.json in the grid_illumination folder which broke the webclient (as I had no idea what I was doing) so I had reverted that too.
I figured it was time to ask the experts! =)
Let me know what you all make of this and thank you for taking the time to have a look. 
Cheers,
Sid.
Those error message are likely unrelated, make sure SPI interface is enabled on the raspberry pi, for example using raspi-config (I don’t remember what the default is). labthings is a core part of the microscope software so that shouldn’t be an issue, the dotstar module could be the problem, make sure you make the changes within the openflexure virtual environment (ofm activate
should get you there). You can also try following running it manually from within that environment directly from a python shell, something like this should work as a test:
import board
import adafruit_dotstar
pixels = adafruit_dotstar.DotStar(board.SCK, board.MOSI, 1)
pixels[0] = (10, 0, 0)
edit: actually if the dotstar module import was problem it would probably show up as an ImportError in the logs
Hi Filip,
Thanks for the reply!
I had indeed enabled SPI, in both the “config.txt” in the FAT32 boot
“dtparam=spi=on”
as well as verifying it in
sudo raspi-config (Interface Options → Enable SPI)
To maintain proper functionality, as required by the API all extensions have been installed within the ofm vm. I was initially skeptical at first however, but have since installed filebrowser to visually confirm that everything is sitting where it should be. (I had initially created symlinks which pointed to the extension folders but opted instead to move everything over so as to avoid dependency issues).
I’ll create a fresh image on the SD card today and retry. This time I’ll document any errors encountered. (From memory I did try a “test_dotstar.py” from my end to rule out the webclient but since the dotstar.circuitpython.x packages were already in the ofm folderstructure I did indeed run into dependency issues, at which point I chose to forego the idea (to my detriment). Upon flashing the SD card, I’ll make this my first priority to rule out the LED itself (could be a faulty unit from factory - who knows?
)
Anyhow, I’ll keep the thread updated as I progress. A positive here is I’m finally getting some exposure to Linux 
Cheers,
Sid.
(EDIT: I’ll also hook up the DIN or CIN to an oscope during the LED test to see if the shifter is properly sending the correct signal to the LED array so we can rule out the shifter logic).
1 Like
Hi everyone,
Just an update for you.
I think I’ve cornered the issue. The oscope was showing a 0.1 to 1V fluctuation from the DIN and CIN on the adafruit dotstar 8x8 LED. So this led me to believe that the shifter was not being adequately powered.
When I had mentioned checking the wiring before, I had done a quick and dirty continuity check
5V bus to Vcc in on the shifter (pin 14 on the SN74AHCT125N),
then also checked the PSU 5V to the 5V input header pin
I didn’t however check between the 5V input header pin to the 5V bus. Yep, cold solder joint - no continuity. I’ll have some time later this week to re-solder the header pin to the 5V bus, hopefully that will provide the necessary power for the shifter to actually function. Rookie mistake.
I’ll post back here to confirm once its running. It’s what I get for using a picoboard without rails and opting to make my own 5V/ground solder buses
(all the more reason to be more careful when checking to be honest).
Anyway, thanks for joining me on this part of the Openflexure Delta stage journey! I’ll flag the thread as solved once I can confirm. 
Cheers,
Sid.
3 Likes