Hi, I'm Allan Cao

Student, Programmer and Innovator
Waterloo, Ontario

About Me

I'm a graduate of Westmount Charter School, who's interested in programming, tinkering and innovating. I'm currently in my 1A term at the University of Waterloo studying Computer Engineering (stream 4) pursuing a Bachelor's of Applied Science.

I love working with Python, Arduinos and Raspberry Pi's to make my ideas into reality. Check out some of my projects below!

Web Connected Rokenbok

Rokenbok over the internet.

Using a stock webcam, Raspberry Pi 4 and Arduino to emulate one of the Rokenbok's controllers and connect it to the internet. Rokenbok is a building system where blue and pink balls are sorted by player controlled vehicles. I used an arduino to emulate the serial connetion between the command deck and the actual remote based on the work of timdv on Instructables.com and and I based a Flask web server around the work of simonvc to control the vehicle as well as see the action based on the work of Miguel Grinberg.

While currently still a work in progress, I will be open sourcing the whole project on my Github. Check it out and feel free to make a pull request with improvements!

Big Data Challenge

3 time award winner in the Big Data Challenge

2021 National High School Big Data Challenge

The abstract of our paper, "Using global surface water and temperature data to identify key factors in water resource conservation" can be found on the STEM Fellowship website along with all other abstracts.
After presenting our findings via Zoom at the virtual Big Data Day event, we were awarded 2nd place in the CCUNESCO Scholarly Communication Award.
Our full submission and submission video can be found here and here. Submissions of all other finalists can be viewed here.

Winner of the RBC Arnold Chan Memorial Award for Student Innovation in the 2020 National High School Big Data Challenge

Winner of the Digital Science Scholarly Communication Award in the 2019 National High School Big Data Challenge


My first interaction with Instructables was in April of 2014 under the account name Alicat 123. I posted two simple tutorials on how to build a train out of K'NEX the latter, improving on the original design. I've since improved my photography skills and informative writing skills and I post under the username The Raspberry Pi Machine. My latest instructable is a design for a large modular raised bed design.