Hi, I'm Kingston! I love building robots and coming up with creative ways to solve real-world problems. I started learning robotics in Primary 4 with Lego Mindstorms and block-based coding. That’s where I first learned how to control robots and test different ideas. After a while, I wanted to try something more advanced, so I started learning Python. Python helped me think step by step, write my own programs, and even solve tricky math problems without pen and paper. I also explored game development using Pygame, creating fun and educational games for my friends to play. Competing in these games makes learning feel like a fun challenge instead of just studying. Combining robotics and Python makes me excited because I can build projects that help people, make learning more enjoyable, and inspire others to be creative with technology. I hope you enjoy seeing what I’ve built!
I learnt how to use the LEGO technic parts to create different designs. Using the coding concept of conditionals (if-else), together with different sensors, I coded my designs to do certain actions only if a specific condition is met. Among many other projects, I created a ping pong racket that hits the ball if the touch sensor is activated.
I enjoy going to the restaurant for sushi and decided to recreate an automated one. Using the LEGO technic parts and a colour sensor, I created a sushi belt that is activated to move only when it detects the colour green. This reduces unnecessary motion and saves energy.
Inspired by arcade coin dispensers, I applied the design principles and coding skills I learned to build a distance-activated coin dispenser. The dispenser uses two ultrasonic sensors that detect my hand in a specific sequence within a defined distance threshold. When both sensors are triggered in order, the mechanism opens to release coins. This project demonstrates how sensor integration and conditional logic can create automated systems, similar to those used in vending machines.
I decided to create an automated car using LEGO Technic parts that can return to its original parking position after detecting an obstacle. This project simulates the logic behind autonomous parking systems found in modern vehicles. Using the concept of nested while loops with variables, I programmed the car to activate and begin moving when the colour sensor detects a specific colour. While in motion, the car continuously checks for obstacles using the infrared sensor. Once an obstacle is detected, the car automatically stops and reverses back to its starting point—mimicking a vehicle returning to its parking spot. This entire process repeats endlessly, creating a looped simulation of real-world automated vehicle behavior.
My family loves having dinners together, so I decided to recreate an automatic one with lego parts. I built a touch-activated Lazy Susan to make sharing food more fun and convenient. When the touch sensor is pressed, the Lazy Susan begins to spin. The direction of the spin—clockwise or counterclockwise—is determined by the reading from an ultrasonic sensor. Depending on how close our hand is to the sensor, the turntable will rotate in one direction or the other.
I built a lego model of a 2 swings that is fully automated to replicate how a real amusement ride would respond to inputs from sensors. The colour sensor is used to decrease the rotation speed of swing 1 while the touch sensor increases the speed of swing 2, this enhances user experience and safety.
In this project, I learned how to convert weight from pounds to kilograms by multiplying by a conversion factor. This is important because it teaches us how to change one unit of measurement to another so we can compare different types of data.
I have implemented a Python script named armstrong_no_checker to check if a given number is an Armstrong number. An Armstrong number for a 3-digit number is a number that is equals to the sum of the cubes of its digits. For example, 153 is an Armstrong number because 1^3 + 5^3 + 3^3 = 153. This project demonstrates the use of functions, loops, and conditionals in Python to solve mathematical problems. The script prompts the user to enter a number and checks if it is an Armstrong number by calculating the sum of the cubes of its digits and comparing it to the original number.
This project is a simple login system that checks if the entered username and password match preset values. If they do, the user is logged in; otherwise, they must try again. It demonstrates how if-else statements handle multiple outcomes based on user input.
In this project, I used if-else statements to check if a triangle is right-angled. I asked for three sides, sorted them, and used the Pythagorean theorem to decide if the triangle was right. This is important because if-else lets the program choose different actions based on the input.
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 managed an imaginary library's inventory using a for loop to calculate the number of books on day 20 and the total after 20 days. This project shows how for loops make it easy to perform repetitive tasks.
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.
I have created a Python program named my_multiplication_table.py that takes an integer input from me. It generates the multiplication table of the entered number using a while loop.