Project: Motorized Blinds


My current apartment’s blinds have a ball chain to raise and lower them. There’s a gear at the top that the chain turns which in turn turns the rod on which the blinds roll. If I put another gear at the bottom and turn that with a motor, that would open and close the blinds.


I like to sleep in total darkness but since I have to wake up early, it is nice to have the blinds open so sunlight can get in in the morning and help wake me up. Until now I have been leaving the blinds open all night which lets light in. Having motorized blinds would allow me to leave the blinds closed all night and have them open automatically in the morning. Additionally, I open the rest of my blinds in the morning and I close them when it gets dark, I plan on automating this so I don’t have to do it manually.


The plan is to use a Raspberry Pi to act as a hub where I will install Homebridge so I can control it using the Home app on my iPhone. The individual blinds will be controlled using an Arduino which the Raspberry Pi will communicate with using Wi-Fi. The Arduino controls a stepper motor through a motor controller. The motor will in turn move the ball chain using a 3D printed ball chain gear.


Here is a list of all the parts that I plan on using in this project:

Current Status

I have all the parts except the Arduino and the motor shield. This is pending the Arduino UNO WiFi to become available on RobotShop.

I installed Homebridge on the Raspberry Pi but I still need to install a plugin that allows me to communicate with the Arduino. I am waiting for the Arduino to arrive so I can test my configurations.

In the meantime, I am designing the ball chain gear. I plan to 3D print this at the Kitchener Public Library.

Project: Catan

I first saw Settlers of Catan during a games night inDecember 2014. My lab mate who explained the game to me told me to create an account on PlayCatan because he and my other lab mate play it there during lunch. Whenever I was in the lab during lunch I would join them for a game.

About a year later, PlayCatan which was free, was shutdown and replaced with Catan Universe which, at the time, seemed like it would eventually require a subscription. While we don’t mind paying for things we enjoy, two of us had an issue with recurring payments. Additionally, the game had a much slower gameplay that was frustrating and made games last longer than the time it took us to eat our lunches. Finally, since it was in early access there were a lot of bugs that made it annoying to use.

When I learn a new technology I read a bit about it first then I work on a project that uses that technology. At the time I was learning Node.js, I had read a few tutorials and was ready to practice building website with Node.js but I couldn’t think of anything to work on. Until we tried Catan Universe for the first time and were frustrated by it that is. That’s when I decided to create an online Settlers of Catan game.

I used this as a starting template, this and this to draw the hexagon grid, and this to inspire the general look of the board. My lab mate helped me create the game setup since I mostly played online and never had to set up a Catan game.

You can find the Catan source code on my Github.

Project: Blog

I was scrolling through my list of podcasts to find something interesting to listen to on my walk to university when I found SE Radio Episode 245: John Sonmez on Marketing Yourself and Managing Your Career which seemed particularly applicable to me considering I am finishing my Master’s soon and could use some advice on the subject. In it John Sonmez, author of Simple Programmer, talked about starting a blog and its benefits to your career. He mentioned an email course he offers that talks about starting a blog with the goal of promoting yourself. I don’t usually sign up for email courses because they feel like scams but this felt more reputable. I always wanted to create a blog that I contribute to regularly, could this be the push I needed to get started? It was.

I chose to use WordPress for my blog since I’d used it before and it was very flexible and customizable. I wanted to host my own installation of WordPress but it’d been a while since I last used a hosting company. After doing some research I settled on SiteGround (non-referral).

Then came deciding what the theme of my blog will be. Sonmez offers a few suggestions in his course and one seemed particularly fun. I decided to make my blog about the projects I’m working on, the hurdles I encounter, and the lessons I learn, and the technologies I use in those projects.

There will be an introduction post for every project I hope to work on semi-regularly similar to this post to give you a little background it and then, hopefully, there will be regular updates on the projects.

Let’s see how this goes.