41554 blogs · [ { "id": "01a08760-3a04-73f8-af15-dda2a4682966", "title": "How I Taught a Raspberry Pi to Read My Gas Meter with a Neural Network", "url": "https://ciangallagher.me/2026/07/11/I-Taught-a-Raspberry-Pi-to-Read-My-Gas-Meter/", "published_at": "2026-07-11T15:00:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a52b68ff", "title": "Turning a Singing Fish into a Smart AI Assistant with ESP32 and Home Assistant", "url": "https://ciangallagher.me/2025/10/04/Turning-A-Singing-Fish-Into-A-SMart-AI-Assistant/", "published_at": "2025-10-04T15:00:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a5618741", "title": "How to Build an ESP8266 Infrared Smart Controller for Home Assistant", "url": "https://ciangallagher.me/2025/10/04/I-Built-My-Own-Infrared-Remote-To-Control-My-Smart-Home/", "published_at": "2025-10-04T15:00:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a5e35a91", "title": "Building a CO2 sensor using a Pi PicoW & automating a home ventilation system part 2", "url": "https://ciangallagher.me/2023/11/27/Co2-sensor-using-tiny-go-part-2/", "published_at": "2023-11-27T00:00:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a6a50003", "title": "Building a CO2 sensor using a Pi PicoW & Automating a Home Ventilation System - Part 1", "url": "https://ciangallagher.me/2023/11/04/custom-co2-sensor-using-using-pi-picow/", "published_at": "2023-11-04T17:00:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a76a8276", "title": "Switchboard v1.0.0 and Switchboard Pro", "url": "https://ciangallagher.me/2022/09/17/Switchboard-v1-and-pro/", "published_at": "2022-09-17T21:01:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a80a790f", "title": "Introducing Switchboard", "url": "https://ciangallagher.me/2022/01/28/Introducing-switchboard/", "published_at": "2022-01-28T21:01:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a81196db", "title": "How I exploited a bug in the Avios Travel rewards programme to get 1000’s of air-mile points for free", "url": "https://ciangallagher.me/2018/04/21/How-i-exploited-a-bug-in-the-avios-travel-rewards-system/", "published_at": "2018-04-21T21:01:00+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a87d9865", "title": "Building your own MVC Framework in PHP (Part 3)", "url": "https://ciangallagher.me/2013/11/03/Building-your-own-mvc-framework-in-php-part-3/", "published_at": "2013-11-03T12:01:35+00:00" }, { "id": "01a08760-3a04-73f8-af15-dda2a9073054", "title": "Building your own MVC Framework in PHP (Part 2)", "url": "https://ciangallagher.me/2013/11/03/Building-your-own-mvc-framework-in-php-part-2/", "published_at": "2013-11-03T12:01:35+00:00" }, { "id": "01a0c5c8-7e3c-703d-b407-b7de11376943", "title": "Building your own MVC Framework in PHP (Part 1)", "url": "https://ciangallagher.me/2013/11/03/Building-your-own-mvc-framework-in-php-part-1/", "published_at": "2013-11-03T12:01:35+00:00" }, { "id": "01a0c5c8-7e3c-703d-b407-b7de16b19794", "title": null, "url": "https://ciangallagher.me/about/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de171c0e52", "title": null, "url": "https://ciangallagher.me/contact/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de17c80263", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de18526a81", "title": null, "url": "https://ciangallagher.me/books/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1951bf83", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/programming/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1a1ddd00", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/php/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1a9a0d5f", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/mvc/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1afed52d", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/ruby/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1bab387f", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/scripting/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1c4662e6", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/hacking/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1c9e1364", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/exploit/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1d75d2cc", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/air-miles/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1d8d0edf", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/avios/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1daa6a45", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/go/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1dddc86d", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/golang/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1e0b67f3", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/open-source/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1e29d6ff", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/indiehacker/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1e46ef4b", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/switchboard/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1f10230e", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/goswitchboard.io/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de1fb85989", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/goswitchboard/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de203ead83", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/file-system-notifications/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2123d441", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/file-events/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de21430f7f", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/file-watcher/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2187d05e", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/release/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de21c2a929", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/v1/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de227b8b0b", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/pro/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de232fe669", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/enterprise/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de237c89c1", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/watcher/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de240a90c4", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/scala/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de24be58b3", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/flink/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de24ce7c63", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/python/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de25773f09", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/raspberrypi/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de259f01b9", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/pico/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de262bdadf", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/tinygo/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de26947ac4", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/embeded-systems/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de273265e8", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/breadboard/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de281d3153", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/ee895/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de28eb8428", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/i2c/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de295e4778", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/pi/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2a084221", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/esp8266/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2af735f3", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/esphome/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2b42a2a3", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/home-assistant/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2bb1f3f1", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/diy-smart-home/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2c439433", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/infrared-controller/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2c715a26", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/alexa-integration/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2d473ac8", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/iot-projects/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2d4bcc0b", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/smart-home-automation/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2d5a2ecc", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/electronics-tutorial/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2d727f93", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/open-source-hardware/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2dd98c23", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/infrared-remote/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2e7f6e3e", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/yaml-configuration/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2e92eb80", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/arduino-projects/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2f0674c1", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/wifi-microcontroller/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de2f649f1a", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/esp32/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de30108049", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/ai-assistant/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de30567b4f", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/openai/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de30c8b587", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/voice-assistant/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de31063255", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/inmp441-microphone/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de31fa2a8c", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/max98357-amplifier/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de32871f16", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/l298n-motor-driver/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de331484e7", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/openwakeword/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de335c230b", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/whisper/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de337b9265", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/piper/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de33e39f12", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/billy-bass/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de34910cc4", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/esp32-s3/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de354d9c01", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/maker-projects/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de358de926", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/electronics-diy/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de35f6362a", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/talking-animatronic/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de3601ca44", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/raspberry-pi/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de36c67b9b", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/machine-learning/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de37af2141", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/computer-vision/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de381e7cee", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/neural-network/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de3837f213", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/yolov8/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de386dd3e9", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/transfer-learning/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de38ef6c88", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/object-detection/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de394c8897", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/onnx/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de398e9ab4", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/camera-module-3/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de39a1a937", "title": "Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/tag/edge-ai/", "published_at": null }, { "id": "01a0c5c8-7e3c-703d-b407-b7de3a254ea2", "title": "Page 2 of 2 for Cian Gallagher | Software Engineer & Maker", "url": "https://ciangallagher.me/page/2/", "published_at": null } ] posts Claim your blog
Back to ciangallagher.me
Blog · corpus.blog/blogs/ciangallagher.me/posts

ciangallagher.me

ciangallagher.me

2026

2025

2023

2022

2018

2013

Undated