Telok Kurau STEM Fiesta 2025
- Leonard Chan
- Nov 12, 2025
- 4 min read
"BEST DAY EVER"
Group: 6
Members: Leonard, Ayden, Lutf Mikhail, Si Yu
Placing: 3rd
Robot: Sphero Bolt
Rules: Get the sphero to the end of the maze as fast as you can. There are various obstacles that had different rules: when the sphero touches a Firewall (red square), the timing will +5 seconds, when the sphero touches a Checkpoint (blue circle) and stays there for 2 seconds, -10 seconds, when the sphero touches or crosses an obstacle/wall (light grey lines), +50 seconds.
Map:
Our route was to get to the first checkpoint, then move to the firewall to charge across, but not touch the other firewall. The sphero would then move diagonally up to get to the next checkpoint, before rolling to the end.
Route:
Start and Consistency
At the start, almost all the runs were inconsistent because we did not have a fixed starting point. We decided to wait for 1 second after any movement to lose momentum, just like I did in the FLL last year. We also positioned the sphero’s LED directly above the “A” of “START” , since the playfield was on the floor and it was the best way for us to ensure that the position was consistent.
Segments
We divided the whole run into 3 main parts.
Segment 1 was moving from the start, to the first checkpoint, then to the firewall.
Segment 2 was charging at full speed from the firewall to the space before another firewall, and touching the other checkpoint and going back.
Segment 3 was navigating to get to the end.
What we did
Things went well, even though the sphero was a robot ball and was somewhat inconsistent. This made the whole experience more fun though, since there was more debugging to do. I had fun finding out more about my teammates, and I realised that Si Yu was in netball CCA while Lutf was from his school’s Environment Club CCA. Luckily they could understand what the robot game was about, and helped to debug the code a lot! I did most of the coding, Si Yu helped with the presentation, debugging and position of the robot on the mat, Ayden helped with the presentation and Lutf debugged the code.
Snack Break and Run 1
After snack break, we could not find our sphero since the Station Master had collected them and someone else took it after that. We had to use a new sphero, which had different friction and other variables, so we had to calibrate it again. We successfully completed it, and had a 2 second run! The station master was impressed and wanted us to run the sphero. But since it was inconsistent, the sphero did not reach the end and our first run was voided.
Run 2
We did a bit of preparation and debugging, before going on our second run. The station master gave us three chances for what was to be recorded in the second run. Our first and second tries did not work, but the third one only did not touch the second checkpoint, leaving us with the score of 12 seconds! After a lot of debugging, we managed to get two 2 second runs!
Presentation Preparation
Before the third run, we worked on our presentation script. Lutf was going to talk about the problems that we faced. I was going to talk about how we decided on the route that we used. Si Yu was going to talk about how we used the Live Sensor Data and our trial and error method. Ayden was going to talk about how we can use the values we learnt here, which were Resilience while coding the robot run and Patience while debugging the code, in real life (eg. group work where we cannot give up and must be patient with each other since we all have different ways of doing things)
Run 3 and Presentation
We decided to go for the third run, where we were offered three chances again. In one of them, we got a perfect 3 second run, which got us 1st place! We decided to play with the Go-Karts for a bit before continuing to code for the sphero to get to the checkpoint below the end point. But immediately after that, we were called to the judges for our presentation. We quickly had a dry run, and then went in to present to the judges. The judges kept saying “Excellent!” and they seemed impressed. At the end, they were asking us about the Live Sensor Data, which made me feel like not many people used it. We each answered the questions, and were finished quickly.
3rd Place
When we got back, we realised that Richard/Zi Yi’s group had gotten two seconds, and now that we had presented to the judges, we could not improve on our robot run. We had to just pray that no one else would get a better score than us and get us off the leaderboard. Later, a group got a -9 second score, which made us 3rd place.
What I enjoyed and learnt
I learnt to think on my feet in this event and I also made a lot of new friends. It was a very fun experience, relying only on myself and my teammates, completely unprepared.