🛠️ Hardware
Once we received the microscope, Raspberry Pi and camera, we began by building a cubic aluminium profile for the microscope, on which we intended to attach the stepper motors and controllers. We also secured a wooden platform to the aluminium profile which serves as a base for the microscope to be placed on.



Our biggest challenge this week was figuring out how to rotate the microscope’s adjustment knob using belt drive systems which consist of belts and stepper motors. Initially, we had planned to place the belts directly on the adjustment knob and use stepper motors to move the belts and the knobs. However, we soon found some issues with this approach — the belt we bought was incompatible with the grooves on the knob. Due to our inexperience with belt drive systems, we lacked the foresight to acquire the timing belt pulleys required for the belt drive system. Furthermore, there was too much resistance on the adjustment knob. To resolve this issue, we decided to complement our approach of using belt drive systems by using shaft couplers. These shaft couplers allow us to attach the stepper motor’s shaft directly to the knob, driving the rotation of the knobs directly for more efficient torque delivery.
Another challenge we faced was that our initial plan to mount the stepper motors on the frame would not work. For the belt to drive the rotation of the knobs, it must remain taut. However, as can be seen in the video, one of the stage adjustment knobs shifts in position when the other knob is moved. With the motor fixed onto the frame and the belt being non-deformable, it may not remain taut as the knob shifts in position.
Furthermore, we are unable to use shaft couplers to attach the stepper motors directly for the two knobs as they are too close in proximity and would not allow sufficient space for both motors. Therefore, we decided to use a belt drive system for the knob which is fixed in position and a direct attachment using a shaft coupler for the movable knob, with its motor attached to the movable platform using a 3D-printed mount. For the belt drive system, we sourced compatible GT2 belts and timing belt pulleys.


💻 Software
Our main goal this week was to decipher how to control the stepper motors, computer vision, and camera. The camera that we had available was an Arducam, which was compatible with Raspberry Pi. Additionally, given that Raspberry Pi is better for computer vision than Arduino (according to our lab technician), our initial plan was to use a Raspberry Pi to control the stepper motors and camera. We also managed to find a library for controlling stepper motors.

Next, we moved on to identifying and counting our cells. Upon some research, we decided that 8GB should have enough RAM to run counting or identification programs. Thus, we designed a rough schematic with A4988 drivers for Raspberry Pi to communicate with the stepper motors.
Upon finishing coding motor movement and cell counting, we found that our Raspberry Pi was experiencing thermal throttling when running Cellpose-Sam, our cell segmenting program. As such, we had to buy a CPU cooler. Thankfully, this fixed our thermal throttling issue.
Another challenge that we ran into was that our stepper motors were responsive to the Raspberry Pi, but were not moving properly. This was most likely due to the Raspberry Pi and driver setup delivering insufficient power to the motors. Thus, we made the decision to change to an Arduino Mega with RAMPS 1.4, using A4988 drivers to act as interface between the Raspberry Pi and motors.
Initially, our Arducam could not connect to the Raspberry Pi. Troubleshooting this issue taught us that the Raspberry Pi needed 5A current to work properly, prompting us to purchase a power supply for the Raspberry Pi.
Incident of the week: Our Chief Safety Officer turned the voltage for our Arduino up to 30V and fried it — smoke and all 🙁