When doing RT-RPA or RCA, the Eppendorf needs to go through several heating duration at specific temperatures. And at the end, we have to inspect the color of gold nanoparticles or strips of PCRD manually. However, those processes are too complicated, and it might be challenging for some users to observe the color change and the number of strips.

Figure 1. Workflow of hardware and software.

Hardware - Circmostat


We want to build a device which can control several heating temperature and time automatically. That is, the device is able to monitor the entire process, including amplification, heating, and the addition of various solutions. Thus, users no longer need to monitor the heating process constantly. Because the hardware is related to CircRNA and thermostat, we name it “Circmostat”.


When the device is turned on, the temperature sensor will detect the temperature of the Eppendorf and send the data to ESP32. Then, ESP32 compare the data with the default value to determine whether to turn on or turn off the heater (Figure 2).

Figure 2. Suppose Circmostat is turned on at 34.75°C, and we want the temperature to be maintained between 35.5~38.5°C. Thus, we can set the default value to 36.0 and 38.0°C. When the temperature is 38°C, the heater would be turned off. Then, temperature will be decreased, and vice versa. (The heater needs some time to cool down or heat up, so the range of the default value is smaller than the range of the maintained value)

After the heating, the device will add the solution of gold nanoparticles and salt. First, the syringe that is filled with gold nanoparticles solution is pushed by the rotating disk above (Figure3). Then, the syringe filled with salt solution will be switched above the Eppendorf and be pushed by the rotating disk again.

Figure 3. rotate disk (3D/2D).


Materials Numbers Function Picture
ESP32 1 Control entire system
Relay 1 Control the heater
Buck converter Module 1 Supply power
Temperature sensor (DS18B20) 1 Detect Temperature of Eppendorf
Heater 1 Heat the Eppendorf
Liquid Crystal Display (LCD1602) 1 Display the temperature and time
DC Motor 2 Rotate the disks to push syringe
Syringe 2 Add the solutions into the eppendorf
Fin 1 Dissipate heat


Arduino IDE GitLab:

Figure 4. 3D model(Left)/ 3D printer result(right)

Software - Circmos Dx


We hope to make an APP, named Circmos Dx, which is able to recognize the color and connect to the hardware. Narrowly speaking, the user can control the device with a button, obtain all information about the heating process and recognize the picture of PCRD or gold nanoparticles. Finally, Circmos Dx will show the result of whether the user get the cancer or not.


We use Flutter to design Circmos Dx. There are two main functions : 1. Connecting to the hardware 2. Recognizing the PCRD and gold nanoparticles.

First, for connecting to the hardware, we use Bluetooth to implement it. Circmos Dx will list all the devices within the Bluetooth range. After the users have chosen Circmostat (hardware) they want, Circmostat will exchange the information with Circmos Dx each second. Finally, Circmos displays the temperature and heating time.

Then, for recognizing the PCRD and gold nanoparticles, we use machine learning model to implement it.

Machine Learning Model


Due to the capability to handle multi-dimensional and multi-variety data of artificial intelligence, we use machine learning models to support the result recognition in CircmosDx.

By utilizing the machine learning model, the users only need to take a picture of their detection kit and then they will get the result immediately.


We implement our machine learning model in two ways, the single model and the two-step model.

Figure 5. Architecture of the single and the two-step models.

In the Two-Step model, there are two sub-models, the preprocessing model and the result-recognizing model. The preprocessing model will determine whether the photo the user has just taken is valid, that is, the detection kit is in the middle of the photo and is not covered by any objects. Next, the result-recognizing model will tell the result based on the valid image.

Combining the function of the Two-Step model, the single model will tell whether the image is valid and the result of diagnosis in just one step.

We train these models separately and the source codes can be found on our GitLab page. The following describes the details:

1. Photo preprocessing

Read dataset
First, we reduced the size of the image and saved it as a PNG file.
For the PCRD kit, we further cut the image into a smaller size, in a way that the image only contained the PCRD kit and small background, to reduce the training dimension.
The final size of the dataset for PCRD and AuNP machine learning models are 158 and 283, respectively.

Data label
We label the data with different classes. Figure 3 is the example of the rules that we used for labeling.

Figure 6. Labeling criteria of the PCRD Two-Step model.

These labels serve as the goal of the machine learning model.

Split training and testing data
Due to the limited number of data, we only leave 10% of the data for testing. The remaining 90% would be used to train the model.

Data augmentation
Before training, we perform data augmentation on the training dataset in order to increase the amount of data. Also, data augmentation could generalize the images into various aspects, which the machine learning model can learn from. This step could improve the downstream performance of the machine learning model on a small dataset.

2. Training
We use traditional linear regression, random forest, and CNN as our main model architectures.

3. Save model
After training, we save the models into TFLITE files, which enables the utilization of machine learning models in mobile apps.


In the preprocessing model of the PCRD two-step model, the random forest can better predict the result with an AUC value of 0.883, followed by CNN with an AUC value of 0.688.

Figure 7. ROC curve of the preprocessing model in the PCRD Two-Step model.

Due to the time limit, we haven't collected enough image data and fine-tuned every model to have over 80% accuracy. In the future, we will keep testing different architectures to achieve higher accuracies so that the machine learning model can be utilized in Circmos Dx.


Figure 8. Handbook(AuNPs) (left) and Handbook(PCRD) (right).



Because of its simple structure, the hardware can be built easily not only in the hospitals but also in rural health centers. Also, the users can get the software on the Internet and use it offline at anytime and anywhere.

Additionally, a complete test only takes 2.5 hours and does not need for complex hospital procedures. That is, it can be implemented in less developed regions, and promote a positive connection and equality between urban and rural areas.


It does not need lots of money to build the hardware, and the software APP can be downloaded free. Thus, anyone or anywhere that needs the hardware and software is able to afford them.

Moreover, we believe if the device is introduced to Taiwan, it can significantly reduce the economic burden on Taiwan's healthcare system.


The device is so simple that everyone can operate the hardware without specialized knowledge. And all the information will be listed on the APP. Therefore, whoever use the hardware and software, he/she is capable of understanding what to do and reading the result.