🛠️ Hardware
Over the weekend, we 3D-printed another prototype for the hinge and bridge. However, as the bridge was quite thin, it was susceptible to excessive bending, and it was deemed to be not sturdy enough to support our platform.
To strengthen the bridge, we added another ‘triangle’ which served to provide additional support. To secure our platform flat on the bridge, we also added a horizontal rod with holes to mount it onto the bridge with screws. A pillar was also designed to provide support for this rod.

To adjust the objective lens, we designed a new gear system in which the clamps for the lenses are angled relative to the gear such that the gear’s axis of rotation remains aligned with that of the objective lenses. This presents some challenges, as it was difficult to design a structure strong enough to support the clamps at an angle.

Once the shaft coupler we ordered arrived we were able to test the movement of the fine adjustment knob using a stepper motor.

Following the successful prototyping of the hinge, bridge, and the delivery of our 110mm belt, we designed a platform for the stepper motor part of the belt drive system. We sketched the dimensions on cardboard for easier visualisation. The holes on the platform and bridge were aligned to secure the platform onto the bridge using screws. In a similar vein, our platform was designed to have two long tracks to secure the mounting bracket for the stepper motor. We decided to use tracks instead of holes to adjust the motor’s position until the belt is taut.



Now that we have working versions of the attachments and platforms, we attempted to calibrate the stepper motors to view different parts of the specimen.
As seen from the video, during our first test, the stepper motor on the movable chair functioned as intended, and the chair moved smoothly on the platform. However, the belt in the belt drive system was slipping, causing the other motor to vibrate. Upon further testing, we found that reducing the RPM (rotations per minute) and increasing the tension in the belt by adjusting the motor’s position resolved the issue.
💻 Software
We decided to use machine learning to enable our software to recognise different cells. To do so, we needed to collate many images of each type of cell. As such, we decided to attempt to build a webscraper, which would allow us to obtain images of the desired cells in a short period.
The webscraper sifts through images from a query using GoogleImageCrawler. It then downloads the first 100 image results and uses Tesseract to detect any text present within images. If any text were present in the image, it would be rejected and therefore deleted.
Notable limitations of our webscraper were its inability to access multiple pages of Google search and its limited capacity to filter images. The inability to access more than one page of Google Images limited us to the first 100 or so image results, which resulted in a limited data pool. To download more images, we attempted to add queries, but were met with more complications as the program occasionally installed the same image. In terms of filtering images, Tesseract was not foolproof, and the occasional labelled image would slip through. Moreover, there was no way to detect 3D images or images that were not cells, which was important as such images could not be used to train the model, and we did not want them in our dataset. This necessitated further manual filtering of the images.

Despite our best efforts, the training of the model using the webscraped images was unsuccessful and the model was unable to recognise cells confidently.
Given the challenges we faced in webscraping, we decided to take our own pictures of the specimen under the microscope using a phone mount.



We then trained our machine learning algorithm using the images and found decent success.
We spent a lot of time troubleshooting our Arducam this week. When the new cable was delivered, we thought that the cable was broken, as our camera couldn’t be detected by the Raspberry Pi when I used it. Hence, Xiao Yang and Zi Hui went out to Sim Lim Square to buy more cables to inspect their integrity on the spot, so we don’t waste more time and money. However, we ended up with the wrong type of cable for the camera and had to return to Sim Lim Tower to acquire the correct cable. Finally, the Arducam worked when I plugged it into CAM port 1 (it doesn’t work with CAM port 0 for some reason).
Tip: For anyone who needs to set up an Arducam Hawkeye in the future, follow the Arducam setup guide online, ensure that you purchase reverse cables, and insert them into CAM port 1.
Further tip: The only store in Sim Lim that sells the long flexible flat cable compatible with the Arducam is in Sim Lim Tower. It is located in the basement and run by an old man. He will overcharge you, so remember to bargain with him!