Hosting a Personal Site – 2023 Edition

I have been on the hunt for the easiest way to host a personal site and blog for a long time. Over the years, I: developed several versions of my own CMS used various static hosting solutions like Jekyll built a simple static templating solution with Flask used Medium used a headless setup with AWS and Zappa tried Micro Blog even gave WordPress a try. There were pros and cons with each solution, but nothing really felt easy to setup and update. With this site, I feel like I finally settled on a configuration that is easy to maintain and update, with very low-cost hosting: ...

January 4, 2023 · 2 min · Taylan Pince

Rover Hardware Lessons

As I was putting together the Rover v2, there were quite a few lessons along the way, mostly about hardware. I’ll capture them here for posterity. Handling Power Since I have two motors for driving and another for the LIDAR, I had to use two L298N modules, with different input voltages. I already had a voltage booster for the drive motors, getting 7.4v from the LiPo and boosting it to 14v (12v for motors + 2v for the module). I thought I could simply plug in a direct line from the LiPo for the other module, since the LIDAR motor is 6v. In practice this proved to be unreliable. Without a booster, there was a lot of variability in the current and it caused stalling issues with the motor. Once I added a secondary boost to 8v, it started humming along as expected. ...

July 30, 2021 · 4 min · Taylan Pince

LIDAR v2 Design

Now that the Rover v2 base is working and driving well, I am turning my attention to the new LIDAR module. After reconsidering the previous GT2 pulley based design, I decided to redesign it completely on the new Rover base, using a gear based approach. Reasoning behind using a geared drive is fairly simple: Pulley and timing belt approach didn’t necessarily create a smooth drive mechanism like I had imagined. It also takes up a lot of space and it’s a nightmare to calculate for. Finally, printing GT2 pulleys doesn’t generate very clean results on the 3D printer, which in turn contributes to lack of smoothness. ...

July 21, 2021 · 2 min · Taylan Pince

Driving Rover with an Xbox Controller

Before jumping to the PID implementation and eventually autonomous driving, I wanted to make sure that the Rover v2 could drive and turn with stability. I could have done a simple keyboard implementation but I really wanted to integrate an old Xbox controller I had lying around. What I have seems to be an Xbox One controller and it connected to my Mac over Bluetooth with no issues. After some research, I found out that pygame is actually the best way to work with these game pads. ...

July 9, 2021 · 2 min · Taylan Pince

Improving XBee Delivery Protocol

I spent a bit of time today improving the data delivery protocol I have been using with the XBees. I noticed during various tests that it wasn’t very robust, and it also required the devices to be powered on in a specific order. So I have been meaning to improve this for a while. Core problem was that the whole setup depended on reading a specific length of bytes with every iteration. If things got out of sync (either due to data corruption, or because the Rover came online before the controller node), then it simply didn’t work and started ignoring messages (since the first control byte could not match). ...

July 2, 2021 · 3 min · Taylan Pince