We are an independent development group based in Buffalo, NY. We work together to help each other out in our fields and open source projects. We live by the name Silo City Labs and work towards a better future for each other.
Native Apple Home Firmware for the AC Infinity AirTap ESP32 Upgrade Kit with HomeSpan and PlatformIO
A practical developer guide for bringing AirTap T4/T6 vents directly into Apple Home without Home Assistant
The SiloCityLabs ESP32 Module for the AC Infinity AirTap T4/T6 already gives Home Assistant users a clean way to upgrade an AirTap vent into a connected smart-home device. The current ESPHome firmware path supports the important hardware pieces: PWM fan control, onboard temperature sensing, OLED display output, physical buttons, panel lockout, and newer IR receiver support on supported builds.
But there is another smart-home audience that could benefit from this hardware: Apple Home users.
If you’re in the Apple ecosystem, using HomePod, Siri on iPhone, Apple TV, scenes, automations, and the Apple Home app, the natural question is: Could the AirTap ESP32 upgrade kit run native Apple Home firmware instead of ESPHome?
Yes it can! HomeSpan provides developers with libraries to create an ESP32 firmware that pairs the AirTap directly with Apple Home over Wi-Fi. That’s native Apple support without Home Assistant, without a Home Assistant HomeKit Bridge, and without a separate server translating ESPHome entities into HomeKit accessories.
This post is not a finished firmware release. It is a technical roadmap for developers, makers, and advanced AirTap owners who want to understand what it would take to build one. It’s enough architecture to start the project, enough code structure to see the direction, and enough caution to avoid the obvious traps.
[Read More]Bypassing YouTube home page with Tasker
Remember when you could open your computer or browser and not immediately get “suggested content”? Most apps nowadays open to a “home” or “feed” page. I miss bookmarks, so I’m bringing them back. I’m bypassing the slop conveyor that is YouTube’s home page. I’m jumping straight to the subscriptions - the content I actually asked to see.
This was easy to automate in Tasker using Android intents.
[Read More]Fixing WirePlumber High CPU Usage on Ubuntu 24.04
I was experiencing a frustrating issue on Ubuntu 24.04 related to Bluetooth profile switching.
[Read More]Local Failover for DigitalOcean Functions
How a local dev tool became a resilient, cost-aware backend
OpenSCAD trick - negative rounding
Somehow, OpenSCAD has become my main 3D modeling program. It’s incredibly powerful for parametric models but it’s also brain-intensive. I speed up development with the BOSL2 library. Many BOSL2 objects have built-in rounding features so I don’t need to invoke minkowski().
A trick with BOSL2 is negative rounding. Instead of cutting a corner, it makes the corner stick out. This is very useful for smoothing sharp edges, tapering pin holes, and generally filleting odd shapes. Make an object with negative rounding/chamfer, then use it to cut another object with subtract().
[Read More]How to Upgrade a Gen2 AC Infinity AirTap T4 or T6 ESP32 Module to Work in a Gen3 Vent
Callbacks suck, async is easy
I’m using PouchDB lately, a JavaScript database that works in the browser. PouchDB for Javascript requires callbacks and I found myself stacking quite a bit of JS-specific syntax together. I haven’t written JS in quite a while so this was daunting. Lets go through all the pieces that add up to easy async database calls.
Synchronous PHP example
Here is a PHP sample of accessing a database.
[Read More]Leveraging Tech Innovation: How One Buffalo Labs Supports SiloCityLabs' Vision
Crafting Web Solutions for Open-Source Innovation
Working alongside One Buffalo Labs, we’re excited to formalize a partnership that ensures SiloCityLabs’ projects have a clean, fast, and accessible home online.
[Read More]Introducing FilaMeter
The Smart, Free Way to Manage Your 3D Printing Filament Inventory
If you’ve ever struggled to keep track of your 3D filament spools, wondering how much filament is left or dealing with a failed print due to an empty spool, FilaMeter is the filament tracking solution you’ve been looking for. Managing your 3D printing filament inventory no longer has to involve guesswork.
[Read More]