Arduino IDE 2.0.4

sorry for bothering but did someone know where ia the “hardware” file in the version 2.0.4 of arduino IDE?

@Drantoine do you mean the motor controller Arduino firmware for the Nano workaround instead of a Sangaboard? Download this folder from the repository https://gitlab.com/bath_open_instrumentation_group/sangaboard/-/tree/master/arduino_code/sangaboard and open the sangaboard.ino. You should see the other two library files on tabs in the IDE, you load the sangaboard.ino to you nano, it uses the libraries when compiling to load.

If you are looking for the Arduino sketch (i.e. the bit you upload to make it function as our motor driver) see @william’s answer. I thought it was worth asking, though - is this so you can flash the bootloader? Just in case it’s helpful, does that mean you have a custom made Sangaboard, or are you using a Nano? If you are using a board that already works as an arduino, you don’t need the bootloader: it’s really just used to make the Arduino Leonardo report itself as a “Sangaboard”, so you can skip that step. I have not flashed a custom bootloader in quite a while, so if the instructions are out of date, I’m not sure I will be much help.

Hi , sorry I got really busy. I use an Arduino nano as board. I finally upload it but now the big problem is i can’t complete the autocalibration. I tried a lot an none works. I can either move the stage with the keyboard or mouse, it’s almost don’t move an error text appear.


The flat field and colour correction look to have worked well and you have a clear image.

If you skip the camera stage calibration so that you have the interface and go to navigate, can you move the stage? (Either by typing in positions to go to or by using the arrow keys with page up, page down for z)
With the low cost optics you will need 100-1000 steps to see a big movement in the image, but you should also be able to see the motors move with 100 steps or less. It is ~4000 steps for one turn of the small gear. If the stage is moving but the calibration does not work it may be that the sample you have is not sufficiently well defined. Have you got any prepared slides?

The log file shows that the software thinks that there is a stage connected, and seems to be talking to the stage.

hi , i built the High-resolution motorised microscope with plan 40x objective. I did skip the the camera stage and try to move but its slighty moved and stop. then i get sometimes error 500.
i first used some slide of G banding karyotype but it doesent work, then i tried with a wing of fly and nether. the last one is from a sample with cofee dust who seam to work metter but en equaly.

Can I check: are you getting error 500 when you try to move it using the arrow keys on the keyboard? I am not sure I’ve seen that before, so if you’re able to download and share the log that would be really helpful.

There are a couple of reasons the camera-stage mapping can fail with the error you have posted (“Moved the stage by XX but saw no motion”):

  • The stage was moving, but the motion wasn’t detected. You should be able to see this if you watch the video feed while it calibrates, the motion should be at least 10% of the field of view so it ought to be fairly obvious. This usually means the image analysis is being confused by dirt (often on the camera sensor, sometimes on the other optics). Sometimes it can also be a result of vibration distorting the image.
  • The stage was not moving, or didn’t move more than 10% of the field of view. This indicates a problem with the motor electronics, or with the motors themselves. Wiring between the Nano and the motor drivers, or power supply issues, are the most common cuplrits here.

If you are getting an error 500 when moving the stage (i.e. moving by entering new values in the XYZ fields in the interface, or by using the arrow keys), that most likely indicates something is not working correctly in the communication between the Raspberry Pi and the Arduino. We do test the communications when the software starts up, so there must be at least some communication - but perhaps there is a funny intermittent fault.

I am not sure on the error 500. Unfortunately many of these type of issues seem to be solved in the end with a fresh install of the Raspbian Openflexure image on your SD card.

If the motors move at all that sounds as though it basically works. Do all three motors move and move in both directions? Are the motors becoming hot? Is the stage close to the centre of the travel range - the holes for inserting the nut line up on the actuator columns? Getting to the end of the mechanical travel will mean that it does not move, but there is no sensor so the software would not throw up an error.

Hello, I’m a beginner from China and I’ve encountered a similar issue. I’m attempting to replicate a portion of the OFM microscope software using the “Simple controller using Arduino Nano” approach.

However, after connecting the motor and Nano board according to the circuit diagram, the OpenFlexure Connect seems to recognize the motor module (as shown in the image). However, when I click “move,” the stepper motor doesn’t respond.
I have tried re-flashing the Raspberry Pi and re-uploading the Nano board, but the issue persists. Any guidance or suggestions would be greatly appreciated. Thank you!!!


That traceback does not seem to be about the motion, but about the software lock on the microscope that stops other functions while it is moving. That error may well also then stop the command to move.

With the microscope parts just loose as you have them it will take a lot of steps before you see any motion. The motors are ~4000 steps per rotation. Of course you would also be able to see the LEDs on the motor controller boards light up, and change as the motors move.

I have now resolved the issue!!!
I discovered that the jumper cap is an essential component for initializing the driver board. When I attached the jumper cap, the lights on the driver board turned on, and the motor became operational.

1 Like