openflexure-microscope issueshttps://gitlab.com/openflexure/openflexure-microscope/-/issues2024-03-06T17:38:03Zhttps://gitlab.com/openflexure/openflexure-microscope/-/issues/340Camera mounting posts break off2024-03-06T17:38:03ZThomas BourkeCamera mounting posts break offThe mounting posts on the camera platform are too thin, meaning they can break off easily (see attached picture).
![IMG_8701](/uploads/eacb5fa23e21dfa592cbb13a2c130160/IMG_8701.jpeg)The mounting posts on the camera platform are too thin, meaning they can break off easily (see attached picture).
![IMG_8701](/uploads/eacb5fa23e21dfa592cbb13a2c130160/IMG_8701.jpeg)https://gitlab.com/openflexure/openflexure-microscope/-/issues/339Motor lugs - cutout for the compact nut seat tilted twice2024-02-29T09:40:56ZWilliam WadsworthMotor lugs - cutout for the compact nut seat tilted twiceIn `openscad/libs/compact_nut_seat.scad` the module `module motor_lugs(h, tilt=0, angle=0){` makes motor lugs that sit against the actuator housing. In the module the lugs are built and a clearance is cut out for the `nut_seat_void`.
Be...In `openscad/libs/compact_nut_seat.scad` the module `module motor_lugs(h, tilt=0, angle=0){` makes motor lugs that sit against the actuator housing. In the module the lugs are built and a clearance is cut out for the `nut_seat_void`.
Because the actuator can be at an angle, the parameter `tilt` is used to tilt the motor lugs. The lugs are built upright and then the tilt is applied to the overall structure by a rotation applied to the whole module, line 377:
` rotate_x(tilt){`
However, when `nut_seat_void` is hollowed out it is applied inside this rotation transformation and it is set at the angle `tilt` when the rest of the structure is being defined upright. This effectively gives the final orientation of the cut out at twice the intended angle.
From line 398:
```
//hollow inside of the structure
rotate(-angle){
nut_seat_void(h=h, tilt=tilt);
}
```
This should have `tilt=0`.
This bug does not currently affect the microscope because only the z-axis is tilted and the motor lugs are placed on the upper side of the tilted actuator.https://gitlab.com/openflexure/openflexure-microscope/-/issues/338Screws not working for Upright Illumination Module (PCB Based)2024-02-03T20:32:14ZJustace ClutterScrews not working for Upright Illumination Module (PCB Based)I have recently received the illumination kit along with my Sangaboard (Thanks @filipayazi ). I am trying to install this in my upright configuration. I am currently basing my build on a mix of the master state and the changeable objec...I have recently received the illumination kit along with my Sangaboard (Thanks @filipayazi ). I am trying to install this in my upright configuration. I am currently basing my build on a mix of the master state and the changeable objective branch. I am currently using the instructions found at:
https://openflexure.gitlab.io/-/openflexure-microscope/-/jobs/6012007896/artifacts/builds/upright_illumination.html
This is the upright illumination instructions from the merge request https://gitlab.com/openflexure/openflexure-microscope/-/merge_requests/354.
I chose this as it was a very recent PR which was based on the current master and I cannot for the life of me get the master to build locally. :<...
The instructions tell me to create a stack of the white diffuser material which came in the kit, the 3D printed spacer, and the illumination circuit board. When I do that, the #2 screws that I have received (0.25" long screws as that was the best I could do. They are only 0.05" off from 6.5mm), do not go through the assembly enough to bite into the condenser mount.
![IMG_0729](/uploads/9fcc8b7d893c484b6003d24ff57ba6cb/IMG_0729.png)
I know that it is sandwiching out just a bit there and when compressed there is a bit more screw showing through, but it is not enough to compensate.
So, not sure how to fix this up. Maybe redesign the screws holes to be a post that the white material goes around? Maybe design the spacer into the mount directly and then slip the diffuser into the small slot? (I think this is the way to go).https://gitlab.com/openflexure/openflexure-microscope/-/issues/335Add a data / facts sheets2024-01-30T20:20:03ZFlorian FestiAdd a data / facts sheetsGive a concise description of the OFM that gives people a quick overview about what they are looking at. Most of this information is available somewhere but scattered around multiple pages and even places.
Here some ideas what could go ...Give a concise description of the OFM that gives people a quick overview about what they are looking at. Most of this information is available somewhere but scattered around multiple pages and even places.
Here some ideas what could go in there if we have the data at hand:
- Size
- width, depth
- height (regular/ epi-illumination / upright)
- Maximum specimen / slide size
- Filament used in grams
- Travel
- x, y, z
- travel per step x/y, z
- travel speed x/y, z
- manual travel x/y, z um/rotation
- Optics (table)
- Copy from https://gitlab.com/openflexure/openflexure-microscope/-/wikis/Magnification,%20resolution,%20and%20field%20of%20view
- Options
- Pi Cam v2 with own lens
- Pi Cam v2 with RMS objective (may be use formulas based on objective magnification)
- Values
- Resolution in um
- Field of view
- Illumination
- Critical Illumination
- Numerical Apperture
- Brightness (lux)?
- Motorization
- Autofocus (seconds to focus on average)
- Scanning time for full area (seconds for x * y mm)
- Modules
- Epi-Illumination (for RMS objectives only)
- ...
This could go on either the top page of the assembly instructions or on the project page in the web site or onto it's own page and be linked from one or both of them.v7.0.0https://gitlab.com/openflexure/openflexure-microscope/-/issues/334Consider splitting electronics renders SCAD file2023-12-15T08:56:10ZWilliam WadsworthConsider splitting electronics renders SCAD fileDiscussed in !350.
The `rendering/librender/electronics.scad` file is getting rather long. It contains
* Helper functions for drawing boards, which define connectors, chips, wires, and boards.
* Particular boards - Pi, Sangaboard, cam...Discussed in !350.
The `rendering/librender/electronics.scad` file is getting rather long. It contains
* Helper functions for drawing boards, which define connectors, chips, wires, and boards.
* Particular boards - Pi, Sangaboard, camera, screen etc.
This could split into the utilities and the boards, or even further to one file per board.https://gitlab.com/openflexure/openflexure-microscope/-/issues/333Printed Pi camera 2 lens removal tool naming2023-12-04T14:45:16ZWilliam WadsworthPrinted Pi camera 2 lens removal tool namingThe Pi camera usually comes with a tool for removing the lens - which we call a 'Pi camera lens tool' in the instructions and BOM. The tool page extends the description as 'Raspberry Pi Camera Lens Removal Tool'.
Sometimes the tool is ...The Pi camera usually comes with a tool for removing the lens - which we call a 'Pi camera lens tool' in the instructions and BOM. The tool page extends the description as 'Raspberry Pi Camera Lens Removal Tool'.
Sometimes the tool is not supplied. The BOM says 'you can 3D print a **workaround lens remover**'. In the tool page it says 'there is a **workaround using a printed tool**.' (bold where the link is)
The linked workaround page is titled `workaround_lens_remover.html` with the in-page title 'Workaround: removing the Pi camera lens without the official tool'. This page also has some inconsistencies in language and mentions Pi Camera v1, which is not supported anyway.
The actual printed part is called 'picamera_2_lens_gripper.stl'
The links to the workaround are only in the BOM sections of the pages, which I think will mean a number of people miss them and go straight to the `all-stls.zip` to find the part.
This can cause confusion (https://openflexure.discourse.group/t/is-the-included-lens-tool-correct/1405).
I think that the part name that we use for the tool that is usually provided is descriptively helpful.
The workaround could use more of the same language. In the printed part stl name the designation 'gripper' rather than 'tool' makes it hard to find.https://gitlab.com/openflexure/openflexure-microscope/-/issues/332Upright illumination instructions typos2023-11-29T16:02:46ZWilliam WadsworthUpright illumination instructions typosThere are typos on the upright illumination assembly page (after the change to PCB illumination)
Step 6:
![image](/uploads/64b75f0d9b1455de6b98d593482fe2e9/image.png)
Check that
Step 8:
"Take the complete upright condenser and pass is...There are typos on the upright illumination assembly page (after the change to PCB illumination)
Step 6:
![image](/uploads/64b75f0d9b1455de6b98d593482fe2e9/image.png)
Check that
Step 8:
"Take the complete upright condenser and pass is through the bottom of the main body until the top of the condenser is a little below the stage."
pass it throughv7.0.0-beta2https://gitlab.com/openflexure/openflexure-microscope/-/issues/331Make manual/thumbwheel version obvious2023-11-28T13:47:51ZRichard BowmanMake manual/thumbwheel version obviousI don't think it needs a full instructions track, but it would be helpful to make it more obvious (e.g. from front page/customisation page) that you can build v7 with thumbwheels.I don't think it needs a full instructions track, but it would be helpful to make it more obvious (e.g. from front page/customisation page) that you can build v7 with thumbwheels.v7.0.0https://gitlab.com/openflexure/openflexure-microscope/-/issues/330Mesh not closed when rendered in 2023 OpenScad2023-11-27T11:49:10ZJoe KnapperMesh not closed when rendered in 2023 OpenScadRendering the main body in 2023 release of OpenScad gives error when attempting to add a smart brim
"ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron"Rendering the main body in 2023 release of OpenScad gives error when attempting to add a smart brim
"ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron"https://gitlab.com/openflexure/openflexure-microscope/-/issues/329Arrow keys in gallery move motors2023-11-15T22:59:27ZJoe KnapperArrow keys in gallery move motorsAs identified by forum user Martin, using the arrow keys to scroll through a z-stack in the gallery also moves the relevant motorAs identified by forum user Martin, using the arrow keys to scroll through a z-stack in the gallery also moves the relevant motorJoe KnapperJoe Knapperhttps://gitlab.com/openflexure/openflexure-microscope/-/issues/328Render script `convert` to `magick convert`2023-11-14T12:21:46ZJoe KnapperRender script `convert` to `magick convert`In the render script, we convert files using Imagemagick command `convert` in the CLI. Windows has an inbuilt `convert` for converting drives. Using `magick convert` (which, in `subprocess.run()` needs to be written as `['magick'] + ['co...In the render script, we convert files using Imagemagick command `convert` in the CLI. Windows has an inbuilt `convert` for converting drives. Using `magick convert` (which, in `subprocess.run()` needs to be written as `['magick'] + ['convert']`) should get us closer to supporting Windows without breaking on other systemshttps://gitlab.com/openflexure/openflexure-microscope/-/issues/327Inkscape options removed and throw error2023-11-15T15:15:05ZJoe KnapperInkscape options removed and throw errorFor the render script, inkscape cli options `--without-gui` and `--export-png` are both removed per [the wiki](https://wiki.inkscape.org/wiki/Using_the_Command_Line#:~:text=The%20%2D%2Dwithout%2Dgui%20option,%2D%2Dwith%2Dgui%20if%20neede...For the render script, inkscape cli options `--without-gui` and `--export-png` are both removed per [the wiki](https://wiki.inkscape.org/wiki/Using_the_Command_Line#:~:text=The%20%2D%2Dwithout%2Dgui%20option,%2D%2Dwith%2Dgui%20if%20needed) and throw an error
`--without-gui` is now the default, and `--export-png` replaced with `--export_filename`. @julianstirling @rwb27 is there a sensible way to support new and older versions of Inkscape?Joe KnapperJoe Knapperhttps://gitlab.com/openflexure/openflexure-microscope/-/issues/326Recess panel (with 'z' label) by 1-2 mm2023-11-08T11:41:30ZJoe KnapperRecess panel (with 'z' label) by 1-2 mmhttps://gitlab.com/openflexure/openflexure-microscope/-/issues/325 Add an info box to the instructions to draw attention that screws should be ...2023-11-08T11:41:21ZJoe Knapper Add an info box to the instructions to draw attention that screws should be flushhttps://gitlab.com/openflexure/openflexure-microscope/-/issues/324Replace Trio of microscopes with v72023-10-23T08:53:42ZWilliam WadsworthReplace Trio of microscopes with v7The [instructions main page](https://build.openflexure.org/openflexure-microscope/v7.0.0-beta1/) features the `trio of microscopes` render from v6.1.5.
We should remove it or update to v7. This could be good as a photo of real microsco...The [instructions main page](https://build.openflexure.org/openflexure-microscope/v7.0.0-beta1/) features the `trio of microscopes` render from v6.1.5.
We should remove it or update to v7. This could be good as a photo of real microscopes in each of the three main configurations
* Low cost, High res, Upright?
The image would then also be moved to before the heading 'Microscope Configurations:'. Renders would of course automatically keep up to date, but a photograph would look more real.v7.0.0https://gitlab.com/openflexure/openflexure-microscope/-/issues/323Assembly instructions - low cost optics and nano-sangaboard work around2024-03-07T11:39:17ZWilliam WadsworthAssembly instructions - low cost optics and nano-sangaboard work aroundCopying here some comments from a thread on the Forum, https://openflexure.discourse.group/t/first-build-basic-low-cost-microscope-v7-0-0-beta1/1365 .
---------------------------
Comments on building version 7.0 beta 1:
I was concerne...Copying here some comments from a thread on the Forum, https://openflexure.discourse.group/t/first-build-basic-low-cost-microscope-v7-0-0-beta1/1365 .
---------------------------
Comments on building version 7.0 beta 1:
I was concerned about the printing process because this is my first attempt at FDM printing. I was gratified that within 6 hours of opening the box I was able to assemble and get pretty decent prints out of a stock original Ender3. Printing all the parts took about a week without any major issues or notable failures. This basic printer is perfectly adequate to print the microscope.
1. It’s a bit hard to know what orientation the camera board should have relative to the pi_camera_platform part, since the screws are in a rectangular pattern it could be mounted wrong. Perhaps the side of the part could be marked with some text or image to denote the direction the camera connector should point.
2. I used the motor controller workaround, and found that even with an extra-long camera cable it was VERY hard to connect everything together in the recommended order. I found that connecting the cable to the Pi first, and then fishing the loose end of the cable up to the camera later after the electronics drawer was closed, was much easier than trying to wire things up with the drawer tethered half-shut by the delicate ribbon cable. I also cut a slot for the camera ribbon into the mounting board that sits on top of the Pi, similar to how the Sangaboard is laid out.
3. There wasn’t an obvious place to feed in the external power cable destined for the motor controller boards. I ended up just making a hole and mounting a female micro-USB socket to accept external power.
-----------------------------
Addressing 1. may be helped by the dimple on the optic axis that is introduced in MR !309
* Take the camera platform and note the position of the dimple which marks the axis of the microscope.
* Take the Pi Camera and place it on top of the pi camera platform, with the camera sensor above the dimple.
2. Is something I have also noticed in builds. Plugging in to the camera last might change a lot of the build sequence, and there might be a similar issue inserting the optics module after the motors are connected. I have not found teh need for a slot in the convertor plate, but it is something to look at.
3. This needs to be in the instructions. We could have a knock-out hole in the electronics drawer, but this version is a work-around so a bit of hacking is not too bad.https://gitlab.com/openflexure/openflexure-microscope/-/issues/321Upgrade gitbuilding/fix links2023-10-09T09:23:03ZFreya WhitefordUpgrade gitbuilding/fix links`gitbuilding > 0.11.0` will fail because we use reference-style links in "snippets" (notes). We should make a MR that converts these to inline links and also pins the version to 0.13.0, rather than using the latest one.`gitbuilding > 0.11.0` will fail because we use reference-style links in "snippets" (notes). We should make a MR that converts these to inline links and also pins the version to 0.13.0, rather than using the latest one.v7.0.0-beta2https://gitlab.com/openflexure/openflexure-microscope/-/issues/320Improve "customisations and alternatives"2023-10-05T09:36:54ZRichard BowmanImprove "customisations and alternatives"It would be great to have some sort of gallery for customisations and alternatives. As a minimum, it would be a good idea to update the current documentation page with a bit more structure (i.e. split it up into multiple pages, maybe use...It would be great to have some sort of gallery for customisations and alternatives. As a minimum, it would be a good idea to update the current documentation page with a bit more structure (i.e. split it up into multiple pages, maybe use tags) before releasing v7. This can move to a proper gallery, with version metadata, in due course. This will vastly reduce maintenance burden, at the cost of meaning extensions may go out of date and require you to get an old version of the instructions.v7.0.0https://gitlab.com/openflexure/openflexure-microscope/-/issues/319Make "Most Recent Build of Master" available on the build server2023-09-28T22:07:25ZWilliam WadsworthMake "Most Recent Build of Master" available on the build serverCurrently there is a `view app` button to see the built STLs and documentation which are deployed when a commit triggers a pipeline on a merge request. This is useful to developers, but can also be useful to users to get prototypes and b...Currently there is a `view app` button to see the built STLs and documentation which are deployed when a commit triggers a pipeline on a merge request. This is useful to developers, but can also be useful to users to get prototypes and bug fixes early.
Once a branch is merged the `view app` is not available on the merge request and the deployed build is removed, which makes the finalised bug fixes unavailable to users.
It would be useful to deploy the build generated by merges into Master. Currently only Tags and Releases are deployed. The result of merges could be deployed to the build server as `Most Recent Build of Master`. This would not retain previous builds, it would be overwritten with each merge. This would give a stable link to the most recent (unstable) version of the microscope.https://gitlab.com/openflexure/openflexure-microscope/-/issues/318Deprecate and simplify nut modules in utilities2023-09-18T14:38:36ZJulian StirlingDeprecate and simplify nut modules in utilitiesThere are a few unused or underused generalised nut modules in `utilities.scad`.
* `nut()` - unused
* `nut_from_bottom()` - unused
* `nut_y()` - used exactly ones
All 3 of them have a nominal d input, and then use a somewhat arbitrary ...There are a few unused or underused generalised nut modules in `utilities.scad`.
* `nut()` - unused
* `nut_from_bottom()` - unused
* `nut_y()` - used exactly ones
All 3 of them have a nominal d input, and then use a somewhat arbitrary calculation with fudge factors to get the correct size. However, as metric nut sizes do not scale linearly with their nominal diameter, the function is not universal as is implied.
It might be possible to link them to a lookup table, but I think that the only values we are confident on based on extensive testing are M3.
## Suggestion
* [ ] Remove `nut()` and `nut_from_bottom()` (or if not link them to m3 as below)
* [ ] Replace `nut_y()` with `m3_nut_y()`. Removing the arbitrary calculation and just used fixed numbers that have now been tested by long term use. If we want some calculation we should probably use the ISO specified dimensions across flats. Calculate the corner widths from there, then add a clearance. This will make it significantly more clear.