Firmware (GitLab Software Tools)
Client (GitLab Software Tools)
Hardware (GitLab Software Tools)
Our hardware stack uses a Raspberry Pi Pico based custom board running FreeRTOS, a free and open source real-time operating system. We have developed a number of custom tasks that run on this OS in order for the device to be as efficient as possible.
We are using WebUSB for communication between the hardware and host device. This means that no drivers or other software need to be installed. The device can be fully controlled via a website when using a supported browser.
However, due to delays in testing, the client site as well as physical PCB designs are not yet complete. We hope to complete this soon and will provide an update at the Jamboree.
To reduce costs, we decided to make a custom PCB based on a Raspberry Pi Pico (whose schematics are open-source). We integrated various components into the board such as the voltage reference and created a modular board design wherein the ADCs are located on separate boards that can be plugged in as needed. This reduces costs as the user does not have to fully populate the device if they do not wish to use all the channels available.
Note that when designing a PCB with USB lines, special consideration must be taken to ensure the device stays within specifications.
The client sends messages using USB vendor defined messages. This provides an easy way for the client to send a value (indicating a command) to the device and for the device to respond.
For bulk communication, a bulk endpoint is used. This allows for higher-speed messaging as there is reduced overhead at the expense of data being buffered in, therefore requiring extra logic to convert back into packets of data.
To maximize throughput, we designed the protocol ourselves. This is documented on the software repository.
Our firmware implements the Device Firmware Update (DFU) version 1.1. specification, allowing for the device to be updated and re-flashed without leaving the client site.
To accomplish this we refactored an existing library, webdfu, to be more performant and easy to use.
This forked version of the library can be found here on GitHub. (external link)
For ease of use and to aid future teams who may be implementing a similar device, the library is extensively documented. Unfortunately due to some technical issues we are not able to push this to GitLab at this time.
In project Genoswitch, we have decided to use novel methods of electrochemical detection and extraction of miRNA particles in order to achieve our projects’ goals of creating a system that is both robust and flexible. After our research[1], we decided to use an extraction method involving electromagnetic nanoparticles since we felt that it was a cheaper alternative to PCR, but was nonetheless effective for our needs. It is a multi-stage process which involves the following:
Amplification of miRNA is discussed more on our main biology page


We experimented with two different methods for detecting visible light:
Unfortunately, due to errors in ordering, we were unable to test our systems with the desired fluorescent proteins in time for the wiki deadline. As such we used directed lasers as a proxy for proof of concept.
Ultimately, we ended up attempting the following procedures:
For the LDR-colour filter method, we shone both red and green light through colour filters at several different LDRs to test which would be the most sensitive to an increase in the intensity of light and as such give better results. Here are our findings:

It can be seen from our results that the LDRs achieve similar readings when light is shone on them, but there is nonetheless a clear difference when a desired wavelength is present.
For the diffraction and reflection detection method we demonstrated that, at a nonzero angle of incidence, rays do not pass through the focal point as well as test the lasers with a diffraction grating. We found that while it was possible to achieve the intended effects, it would require careful precision that could not be done easily with human hands. Therefore, we think that for future improvements on this idea, it would be necessary to create pre-built 3D setups in order to achieve precise reflection and diffraction in order to achieve the desired results.
Overall, we have found that the LDR-colour filter method works well as an uncomplicated technique for detecting visible light. While currently the changes in the readings when light is shone on the LDR are noticeable but not large, we hope that in future, once we have access to fluorescent proteins to test with, we will be able to improve on these results by using parabolic reflectors to increase the intensity of light emitted from the desired light source and lessening the amount of environmental light that can reach the LDR.
Simultaneously, we also managed to successfully demonstrate that at a nonzero angle of incidence, rays did not pass through the focal point as none of the laser rays lined up. This correlates with the modelling work that has been done by our team since the laser beams that we used were not parallel either. Hence it could be said that the diffraction and reflection detection method also demonstrates serious potential due to the control that is given to the user over which wavelengths of light are reflected into the LDR. However, this is undercut by the fact that this would involve incredibly precise measurements and calculations when setting up the parabolic mirrors and diffraction grating for each wavelength that you would want to detect. As such, when compared to the LDR-colour filter method, it seems that there would be greater setup costs involved with the diffraction and reflection detection method, but we are unsure if this would lead to better results.
In future, it may be viable to offer a combination of the two methods to allow for more control in which wavelengths are directed at the luminometer. As such it could remove possible interference or false positives from ambient light sources by directing only wavelengths within a desired range towards the luminometer and colour filters using the diffraction and reflection detection and result in clearer readings and results.
1. ^ Ustuner S, Lindsay MA, Estrela P., "Pre-concentration of microRNAs by LNA-modified magnetic beads for enhancement of electrochemical detection.", Sci Rep., 2021; 11: 19650, October 2021, Available: https://doi.org/10.1038/s41598-021-99145-8