My name is Ethan, and I am 12 years old. I began learning robotics with LEGO Mindstorms and block-based coding when I was in Primary 4. I enjoy designing and building different structures and robots, especially those that help automate simple daily tasks. Learning robotics taught me how to solve real-world problems and sparked my curiosity to explore beyond block-based coding. That was when I became interested in Python, a text-based programming language. I wanted to create programs that could help me solve math problems without using pen and paper. I also learned how to use Pygame, where I developed various games for my friends to play and challenge one another. Throughout this journey, I have been documenting my experiences in robotics, coding, innovation, and STEM.
I learned how to use LEGO Technic parts to design and build functional mechanical systems. By applying coding concepts such as conditionals (if-else) and integrating various sensors, I programmed my creations to respond dynamically to their environment. One example was a bumper car that automatically reverses when its front touch sensor detects a collision— mimicking real-world applications of obstacle detection in autonomous vehicles and robotic systems.
I used LEGO Technic parts to build a tractor with an ultrasonic sensor. When the tractor detects a load placed on it, it automatically starts moving. This is similar to autonomous track-based vehicles used to transport goods in warehouses. Once the sensor detects an object, the vehicle moves to deliver the item to a designated location, helping increase efficiency and reduce the need for manual labor.
I wanted to create a fun toy to prank my siblings, so I designed a Jack-in-the-Box mechanism using LEGO Technic parts. It is controlled by a handheld motor that activates the opening and closing of the box. By spinning the motor in a programmed sequence, the Jack pops out—showing how mechanical movements and coding can create interactive and entertaining devices like automated toys.
My younger siblings enjoyed playing with a toy rabbit head that spun when wind hit it. To make it more interactive, I built an automated version that spins on its own when the program starts. When the ultrasonic sensor detects someone nearby, the spinning stops and the head returns to its original position. This project demonstrates how sensors can bring simple toys to life.
Since I enjoy eating at Chinese restaurants, I decided to recreate a lazy Susan using LEGO Technic parts. It uses a touch sensor and an ultrasonic sensor to determine when and how to spin. This adds convenience and reflects how real-world systems use environmental input for automation.
As someone who enjoys exercising, I recreated a treadmill using LEGO Technic parts. This miniature version works similarly to a real treadmill—its speed changes based on user input. Using a touch sensor and coding concepts like variables and if-else statements, the treadmill increases speed with each press, just like an actual gym machine.
This project shows how to calculate the remainder when one number is divided by another. It’s a great way to practice using arithmetic and the modulo operator (%).
In this project, I designed a program that checks if a number is even or odd using if-else statements. This project teaches me how to make decisions in code based on conditions.
This game challenges you to decide if a number is prime by using if-else statements. It’s a fun way to reinforce the concept of prime numbers and divisibility in code.
I organized a math competition among my friends, and one of the challenges involved calculating the factorial of a given number. I created a Python script that took a user input and calculated the factorial of the given number.
In this project, I used a for loop to count the number of vowels and consonants in a given string. The loop iterates through each character in the string, checking if it is a vowel or consonant, and updates the counts accordingly.
In this project, I created a number pyramid using nested for loops. The outer loop controls the number of rows, while the inner loop prints the numbers in each row. This project demonstrates how to use loops to create patterns and shapes in Python.
In this project, I learned how to create a program that takes in a user input for a choice of word and prints the word diagonally in a square matrix using a nested for loop concept.
In this project, I created a program that uses nested loops concept to build a classic math triangle known where each number is the sum of the two numbers above it.
I have created a Python script named sum_of_my_even_numbers.py. It prompts me for a positive integer, and using a while loop, it calculates and displays the sum of all even numbers from 2 to the entered integer.
In this project, I built a countdown timer that uses a while loop to count down from a starting number until it reaches 1. This is important because it shows me how to repeat an action until a condition is met.