This post quickly covers how I disabled (removed) the IR LEDs on several Tapo C110 cameras I own. This was to use them behind a window without the IR LEDs’ glare ruining the video. The Tapo C110 is an excellent small WiFi security camera, boasting up to 2K resolution, local continuous SD card recording, and two local RSTP streams. Most importantly, it works perfectly fine without an internet connection once configured, fitting my use-case. A significant drawback of the camera is the need to completely disable the night vision mode to turn off the IR LEDs. This means you can’t use the night vision mode while the camera is behind a window. Thankfully its easy to disable Tapo camera IR LEDs!Continue reading Disable TP-Link Tapo Camera IR LEDs
Over the past couple of years we’ve been working on a rather cool new class of robots called Soft Curved Reconfigurable Anisotropic Mechanism(s), or SCRAM, under this National Science Foundation EFRI project. For my latest paper, Electronically Reconfigurable Virtual Joints by Shape Memory Alloy-Induced Buckling of Curved Sheets, I spent a lot of time working with shape memory alloy (SMA) wire while developing a SCRAM device. Much of this time was spent trying to figure out exactly how to solder to SMA wire, specifically a nickel (Ni) – titanium (Ti) alloy called nitinol. My conclusion after all that time? Soldering to SMA wire is really hard!Continue reading Soldering to Shape Memory Alloy (SMA) Wire is Really Hard
This tutorial covers setting up a pretty painless Raspberry Pi Pico C / C++ SDK development workflow on Windows using the Windows Subsystem for Linux (WSL) and Visual Studio Code (VS Code) with IntelliSense code completion!
With the Raspberry Pi Pico microcontroller being so new the current C / C++ SDK development process on Windows is a bit cumbersome. This tutorial should hopefully give you some ideas on how to go about programming the Raspberry Pi Pico the easy way with WSL and VS Code.
Note: This is not a beginner tutorial and assumes some minimal development experience.Continue reading Easy Raspberry Pi Pico Microcontroller C / C++ Programming on Windows
It’s not very well known that the Raspberry Pi has a built-in serial console that provides a fully working Linux terminal over serial. This allows for network-free headless access, including the absolutely necessary tab auto-complete! This feature is extremely useful for those projects that don’t use a screen or need network access. It’s also quite necessary when you are using a Pi as a wireless access point for a LAN without internet sharing.Continue reading Raspberry Pi Headless Access Using Built-in Serial Console
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
I 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 swap memory to the BeagleBone Black.Continue reading Adding Swap Memory to the Beaglebone Black