Hello everyone! reGOSH finished the first Spanish version of the Hacking Instructions for using the Logitech C270 with the OpenFlexure Microscope v6. Kudos to @topogarcia and @pcremades for leading the writing process.
I had the pleasure of helping to validate this documentation written in Argentina, building an OFM v6 in Chile.
This is great. I am updating the C270 web cam optics module for version 7 of the microscope to be more the same as the Pi camera version. This will give a lower magnification, similar to the Pi Camera basic optics version. Your first photo shows both the C270, and the Pi Camera mounted in the microscope, how do you find they compare in use? Previously people have said the C270 magnification is too much, which is part of the reason for modifying it. (eg USB Webcam Lens Spacers and Camera Platforms)
Current progress is on Gitlab at Lens spacers for C270 and Arducam B0196 (!309), there is a
view app button that will take you to the instructions for that merge request. The most recent STLs are linked in the
Thanks for the information @WilliamW! I haven’t used it for a specific application yet, just for documentation validation. Yes, the magnification is indeed bigger than the Pi camera.
Here is a test picture with the Logitech C270:
Here is a test picture with the Pi camera from the same sample:
Disclaimer: I took these pictures at different times, conditions, and illumination. I omitted calibration and other technical recommendations due to the short time for testing before the last workshop.
I will try to find a time to take better pictures with both sensors. Thanks again to the OpenFlexure team for working on this version!
I was thinking on importing some minor features of the 7 version to the 6 version that I think is better for C270. Particulary the stage with nut traps.
I think the one in the repository is v7 but not sure how to to get to v6 in .scad. Can any one point at me where/how to find it?
ps: @r.w.bowman I’ve been looking at the matchboxscope. I was thinking that maybe is a good idea to make the ESP32 cam the cheap version of the OFM (is easy to find here and cheap) and maybe is an easier way to profit from some of the image features of the OFM code in that case? What do you think?
@nanocastro, the C270 optics for the V7 body are basically complete now, at https://gitlab.com/openflexure/openflexure-microscope/-/merge_requests/309. The STLs are in the customisations in the instructions which you get to from the
view app button , which has ‘low cost optics’ versions using the lens from the web cam and also the high res optics modules using the RMS objectives.
The repository has a tag on the commit for the V6.1.5 release (and all other releases) so you can fork or branch from that point: Tags · OpenFlexure / openflexure-microscope · GitLab. It would be good to know what it is that you particularly need from V6 that is not so good in V7, it may be not so difficult to build a version similar to V6 from the V7 code, which would keep everything together. For example it should be possible to switch off the cable tidies to make a simpler version for manual use, although the walls might not join up properly automatically.
Which part do you mean? the camera holder or the riser?
From my experience building five motorized V6 OpenFlexure microscope and rebuilding one motorized V7, it’s true V6 is smaller than V7 but it worth it to build the latest version.
I’m interested in working on a ESP32 version. After using the Matchboxscope, I thought the same. It would be interesting to have a manual OFM with an external battery that you can connect it to your smartphone.
Thanks @WilliamW and @biodotpe
It’s true that maybe is best to build a more similar version from v6 from v7 than the other way around… so yes, cable tidies are one thing we don’t need and we need the simple stand but I think that is also covered in the Customizations… so we can try by switching off the cable tidies and see how it looks
@biodopte maybe we can collaborate to try that configuration, ESP32 Cam with manual OFM… what do you think?
@nanocastro I’m in. Let’s have a video call for brainstorming.
Three main points for discussion:
- Field of View: Which kind of application?
- Illumination: Pins from ESP32?
- Camera cable: Length?
was looking at this video https://twitter.com/i/status/1659288341014016004
so was not sure if what I ask you @r.w.bowman makes any sense… It seems that there is some work already done for image correction and improvement…?
I was talking to @B.Diederich earlier this week and he mentioned that they had a lot of reliability with the ESP camera boards they used for the matchboxscope - apparently there’s a slightly fancier board with a USB-C connector that he has found more reliable (but still cheap). I’m curious if you are able to source those as easily, though…
I don’t know the software there at all, but it does look like it provides at least some of what you’d need. To be honest, the OFM software at the moment is most useful if you are using it with motors - without that, really all we do is flat-field correction and saving images to the Pi, and I’m not sure how important that would be with matchboxscope style cameras.
Hey folks, indeed, there is the new ESP32-S3-based camera. Much better than the ESP32-CAM AI TInker module. We got some from the Seeed XIAO line. Testing it now. Same camera module, different controller. Firmware here: mathttps://matchboxscope.github.io/firmware/FLASH.html
Let me know if you want an adapter. I guess Vittorio made one recently - not sure if for the xiao though.
@B.Diederich Do you mean this one Seeed Studio XIAO ESP32S3 Sense - Seeed Studio ?
The form factor looks more simple to integrate with the openflexure microscope as it is small enough to fit between teh stage legs. Some of the ESP32 camera boards are too long and would need to point downwards.
Exactly that one! I’m playing with the hardware right now. Decent quality. Could easily be integrated in the OFM server if @r.w.bowman officially supported the external cameras
I’m working on it… Unfortunately the latest attempt has now turned into a full rewrite but I do hope to get v3 of the software done in the next few months, at least for alpha/beta testers. If I added opencv support would it work out of the box, or does it have custom drivers?
For the ESP32 you have two routes:
- implement a serial interface that streams chunks of data as fast as possible in base64 encoded strings and decode the locally (works decently fast, did that here in the browser for the esp as a spectrometer:
- implement an mjpeg client to receive frames and decode them to numpy or something - did that here ImSwitch/esp32camera.py at 596a35c705731010a17737053f6f5a569ebc260a · openUC2/ImSwitch · GitHub
Let me know if I can be of help
@nanocastro, coming back to the version-6-microscope-body-with-nut-traps, that actually should exist somewhere in the repository. It was not a release or a tag, but the nut traps were one of the first things in Julian’s redesign, before all of the cable tidies. Looking back in the commit history this seems to have been early Nov 2020, around commit #d0dc88f9 to #c4212bbe. I have a printed body from that time, unfortunately it is not labelled with the commit hash for its build, that would have taken us straight there.
edit: There actually is a tag:
med-stable-preview-version. All tags are archived at https://build.openflexure.org/openflexure-microscope/ so https://build.openflexure.org/openflexure-microscope/med-stable-preview-version/ has all of the built STLs at that point. Obviously it is not a tested release version, so anything may not work or be incompatible with itself or with V6.1.X or V7. You will need to do any testing yourself.
Thanks @WilliamW !! Will take a look to that version
I have also had a look at a manual version of V7, without the cable tidies. That is in a merge request that I am test printing now. The body is built as
The test for the manual version of V7 came out OK. This is a very poor photo with the new version of the Logitech C270 webcam optics installed (see USB Webcam Lens Spacers and Camera Platforms on this forum)
It is unlikely that this will get into the main release for a while, but it is available with the
button on the merge request (with the usual caveats that it is an untested work in progress, so may be broken at any time)