The week when things went horribly wrong! We were about 1 WEEK away from presentation and our product started to malfunction!
Debugging and resolving
Our load sensors were giving off the wrong values, beginning from the start of the week. It would give sharp rises and falls in mass, causing our plotted data to have skewed values and anomalous points.
One such data set with fluctuating increase and decrease in mass
We knew something was wrong and wanted to figure out why, was it the wiring, components being faulty or just the load sensor being too sensitive?
This week became a focal point in our learning journey at MnT, the whole process of testing and debugging. We had to isolate the components that were working in order to figure out what was not. We swapped out HX711s, Arduino boards and load sensors to test out the hardware, as we were fairly confident that the code was working and bug-free.
This caused many of our members to be stressed, as we were unsure as to what was wrong. However, we finally figured out that it was due to overloading of the breadboard and the Arduino board for 5V inputs, leading to a lack of power to the connection between the load sensors and the Arduino board. This caused a break in transmission, leading to incomprehensible results displayed on our serial monitors and I2C.
Our team staying back and testing out the components of the Arduino set-up
Another issue we had realised late was that we had accidentally placed our load monitors upside down.
Picture of our misplaced 5kg (max) load sensor.
This could have potentially caused our load sensors to read the incorrect value, however we did not notice this due to us putting in a calibration factor into our code, masking the issue. The arrow was supposed to point downwards, but we had mistakenly thought that the arrow meant where our load should be located.
Putting our load sensor in the opposite direction could have led to faulty readings and potential load sensor damage, which may have been what had happened as well.
We originally wanted a function to tell the user that the drying process has been finished through a telegram message. However, it would require another Arduino board for the Wifi connection, and we were worried about the overdrawing of current from our power source and Arduino board. Hence, we scratched the entire idea.
Upgrades
After we resolved the challenges faced, we decided to add some final features to complete our prototype on a strong note.
Increase stability of rack
We updated our prototype design to include supporting legs, as shown here, to improve its overall stability. During testing, we found that the prototype was highly unstable, primarily because its centre of gravity was too high. By adding legs, we were able to lower the centre of gravity and distribute the weight more evenly, resulting in a sturdier and safer design.
The added legs to our prototype.
Auto-on and auto off
Initially, we set a 40-second timer after taring to give the user time to hang the shirt before drying began. However, during testing, we found this felt rushed, especially for elderly users. To improve usability, Angeline coded an auto-start function: once the load sensor detects a mass above 50g, a 5-second countdown begins automatically, then the drying process starts.
For the auto-off feature, we kept it simple—if the change in mass stays below 1.7 grams for 12 consecutive readings, the screen displays “Cycle Complete.” This threshold was chosen based on the load sensor’s instrumental error, which was approximately 1.72 grams.
We also wanted to add a cute touch to our project, which was that when the drying process was finished, the Arduino would chime a tune from “Pirates of the Caribbean”.