Localization, in the context of robotics, is the process of determining the location of something within an environment. This article serves as a basic introduction to indoor localization, covering the commonly used techniques and technologies.Continue reading Indoor Localization – An Introduction
I’ve been designing a 4-layer PCB for a product for a few months now and I finally got to the stage of assembling the prototype after the PCB and components arrived. Most of the passive components I used were 0603 surface mount parts so reflow soldering was the only viable option (if I wanted to maintain my sanity).
Since I don’t have a proper reflow oven, I decided to use the next best thing I own: No not my hot air rework station, a toaster oven!Continue reading Reflow Soldering in Unmodified Toaster Oven?
Goose is a mobile autonomous robot I designed and built over 6 months in my spare time for a robotics competition. This was a fully custom and challenging build that tested my competence in electrical engineering, mechanical engineering, control systems, and computer science.
Instead of focusing heavily on the competition, the goal of this article is to briefly go through the system design process. I’ll touch on my various design choices and discuss how I chose to address some of the common issues in designing an autonomous robot. This is not a tutorial (those will be coming later) but more of a case study.Continue reading Designing an Advanced Autonomous Robot: Goose
I recently had to design a 4-layer PCB and I finally decided to give KiCad another try (after hearing great things about version 5). I’ve known about KiCad for years and even tried it once a few years back but it never felt quite “there” yet. After spending a few months designing a 4-layer board I have to say it has certainly won me over.Continue reading 4-Layer PCB Design in KiCad 5: Quick Thoughts
Reading Time: 2 minutesI recently needed to build Python 3.6 from source on the BeagleBone Black for a robotics project and discovered that the build would always fail after running out of memory. Who could have figured that 512MB of RAM wasn’t enough to build Python from source?!
While I could have set up cross-compilation and performed the heavy lifting on my computer with more resources, I figured this was a perfect problem to solve by adding some swap memory to the BeagleBone Black.
Reading Time: 2 minutesThe BeagleBone Black ships with a really great browser-based IDE called Cloud9, which is accessed by going to your BBB IP address at port 3000. While I don’t use Cloud9 for heavy development, it’s handy for debugging and quick changes to scripts. It also has a built-in terminal which means I can do everything in the browser.
By default Cloud9 launches a workspace at
/usr/lib/cloud9, which has useful examples and scripts for all sorts of applications. I want it to point, instead, to my personal projects folder so I’ll change the default Cloud9 workspace on the BeagleBone Black to
Reading Time: 4 minutesConnecting a BeagleBone Black (BBB) to the internet over USB is a simple process thanks to the internet sharing capabilities of Windows. This is extremely convenient when developing because it allows your BeagleBone Black to have an internet connection as long as your computer or laptop has one, no matter the network, and SSH access over a single USB cable.
Reading Time: 4 minutesPicking up from Part 2, the third and final part of the wood click gears with motor drive build covers the stepper motor drive. The gears ended up driving this really beautiful clock. Note that I did not build the clock, just the gears driving the hands.
Reading Time: 2 minutesPicking up from Part 1 of the wood clock gears project where I designed the gears, Part 2 will cover the physical assembly of the gear build. This was the simplest part of the build since it only involved cutting the gears using a laser cutter and gluing everything together.
Reading Time: 3 minutes
I was asked to design and build the gear and drive mechanism for a 6 foot clock. The clock had an hour and a minute hand and needed to move in both the clockwise and anti-clockwise direction. This was not a “realtime clock” and needed to move visibly fast.
I decided to use wood clock gears with a motor drive for the sake of simplicity. This build was definitely more out of my comfort zone than usual but proved to be a fun and educational experience. Part 1 goes over the design of the gears. Part 2 will cover the physical build and Part 3 the electrical design and final build.