<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Notes on Cavelab</title>
    <link>https://www.cavelab.dev/notes/</link>
    <description>Recent content in Notes on Cavelab</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>Thomas Jensen</copyright>
    <lastBuildDate>Tue, 13 Oct 2026 14:37:45 +0200</lastBuildDate>
	  <atom:link href="https://www.cavelab.dev/notes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>2026-10-13 14:37: Taking a quick break from the #DIYAlarmSystem project to …</title>
      <link>https://www.cavelab.dev/notes/2026-10-13-1437/</link>
      <pubDate>Tue, 13 Oct 2026 14:37:45 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/2026-10-13-1437/</guid>
      <description> &lt;p&gt;Taking a quick break from the #DIYAlarmSystem project to migrate my ancient homebrew parts inventory over to #InvenTree 😀&lt;/p&gt;&#xA;&lt;p&gt;Maintaining a Laravel 5.7 stack is no fun.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026-10-05 09:52: Next on the agenda is to pull and terminate the cables in …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-10-05-0952/</link>
      <pubDate>Mon, 05 Oct 2026 09:52:19 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-10-05-0952/</guid>
      <description> &lt;p&gt;Next on the agenda is to pull and terminate the cables in the alarm cabinet (a cable duct has already been mounted in the ceiling to allow for some service length) and to mount the ready LED and reset button in the entryway.&lt;/p&gt;&#xA;&lt;p&gt;In the previous alarm setup, the cables and connections got unwieldy fast, and it all turned into spaghetti. I don&amp;rsquo;t want to repeat that mistake. What goes where in the terminal block will be decided by what works best.&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-10-05-0952/1-20261005_001434_hu_cea7c5bf9645883a.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-10-05-0952/20261004_233040_hu_7e62505e1dc94de7.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-10-05-0952/20261005_093333_hu_8165d6ccb12792c.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-10-05 00:16: The #Arduino Mega, #RaspberryPi, and #Teltonika 4G modem …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-10-05-0016/</link>
      <pubDate>Mon, 05 Oct 2026 00:16:18 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-10-05-0016/</guid>
      <description> &lt;p&gt;The #Arduino Mega, #RaspberryPi, and #Teltonika 4G modem have been moved into the alarm cabinet. The modem has an external antenna.&lt;/p&gt;&#xA;&lt;p&gt;Some outputs have been wired up to the driver boards, and a screw terminal shield for the Mega is underway. Getting very close to wiring up the most essential outputs.&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-10-05-0016/20261005_001406_hu_dcc4d439ac7719cd.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-10-01 23:12: More progress: the #RaspberryPi is now running the bridge …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-10-01-2312/</link>
      <pubDate>Thu, 01 Oct 2026 23:12:16 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-10-01-2312/</guid>
      <description> &lt;p&gt;More progress: the #RaspberryPi is now running the bridge software and communicating with the #Arduino Mega. The SD filesystem is read-only to prevent burnout and corruption in case of an unscheduled shutdown.&lt;/p&gt;&#xA;&lt;p&gt;The Arduino, Raspberry Pi, and Teltonika TRM240 modem are drawing 660 mA at 5.11 V. The alarm cabinet now has 13.8 V with battery backup and 5 V from a DC/DC converter.&lt;/p&gt;&#xA;&lt;p&gt;Next is to install this in the cabinet 😀&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-10-01-2312/20261001_192516_hu_ac18317a4ce31477.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-10-01-2312/20261001_205344_hu_83f4c054446d3d12.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-09-30 22:18: Progress continues. I’ve drilled 16 × 16 mm holes in the top …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-09-30-2218/</link>
      <pubDate>Wed, 30 Sep 2026 22:18:16 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-09-30-2218/</guid>
      <description> &lt;p&gt;Progress continues. I&amp;rsquo;ve drilled 16 × 16 mm holes in the top gland plate. Rubber grommets will seal the ones I don&amp;rsquo;t use.&lt;/p&gt;&#xA;&lt;p&gt;This plate has never been properly mounted; the cables used to just &amp;ldquo;hang&amp;rdquo; into the cabinet.&lt;/p&gt;&#xA;&lt;p&gt;Next is to get network and power up so the #RaspberryPi can be booted up. Then mount the #Arduino Mega and wire up some outputs.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m using the previous I/O board with 7 outputs. New boards will have 16 zones, 8 inputs, and 21 outputs.&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-30-2218/20260925_163241_hu_160597978ca82254.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-30-2218/20260930_202626_hu_f1edb6bc12fdd3d5.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-30-2218/20260930_214716_hu_8d391414a07649e6.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-30-2218/cabinet-gland-plate_hu_1cc92d4a8563bcef.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-09-28 11:28: DIN rails have been moved to better accommodate the new …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-09-28-1128/</link>
      <pubDate>Mon, 28 Sep 2026 11:28:42 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-09-28-1128/</guid>
      <description> &lt;p&gt;DIN rails have been moved to better accommodate the new setup. Previously, there was lots of space at the bottom for the battery, but it has now been moved into a dedicated cabinet. There are lots of terminal blocks at the top for incoming cables.&lt;/p&gt;&#xA;&lt;p&gt;I made a simple DIN-mountable PCB holder out of a 3.2 mm sheet of polystyrene for the #Arduino and I/O boards. I’m reusing the old board for testing.&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-28-1128/1-20260928_112818_hu_9be0d88d3408216c.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-28-1128/2-20260928_112658_hu_397dee72337389d.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-28-1128/alarm-cabinet-din_hu_b3d3824f17ebb883.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-09-25 16:34: Out with the old, to make room for the new. The firmware for …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-09-25-1634/</link>
      <pubDate>Fri, 25 Sep 2026 16:34:16 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-09-25-1634/</guid>
      <description> &lt;p&gt;Out with the old, to make room for the new. The firmware for the #Arduino Mega has reached a point where it&amp;rsquo;s time to give it a try. The last piece was the ability to store user PIN and RFID tags.&lt;/p&gt;&#xA;&lt;p&gt;The system is currently operational, but only with wireless sensors and no outputs. Time to wire up some outputs and do a proper test — and figure out an optimal placement for the new cabinet content.&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-25-1634/20260925_163241_hu_160597978ca82254.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-09-22 11:52: OK, so my scope may have exploded a bit. I am now working …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-09-22-1152/</link>
      <pubDate>Tue, 22 Sep 2026 11:52:59 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-09-22-1152/</guid>
      <description> &lt;p&gt;OK, so my scope may have exploded a bit. I am now working on:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Zone/output types and attributes&lt;/li&gt;&#xA;&lt;li&gt;Zone expander (RS485) support (Arduino Nano)&lt;/li&gt;&#xA;&lt;li&gt;RS232 coms with power monitor (Arduino Nano)&lt;/li&gt;&#xA;&lt;li&gt;Alarm types: fault, tamper, water, intruder, panic, fire (with escalation)&lt;/li&gt;&#xA;&lt;li&gt;Ready LED with multiple flash patterns&lt;/li&gt;&#xA;&lt;li&gt;Many other things…&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Using 21% RAM and 6.2% flash on the Arduino Mega.&lt;/p&gt;&#xA;&lt;p&gt;Source here: &lt;a href=&#34;https://forge.cavelab.dev/diy-alarm/core&#34;&gt;https://forge.cavelab.dev/diy-alarm/core&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026-09-20 21:12: The notes implementation is now complete; it even has …</title>
      <link>https://www.cavelab.dev/notes/2026-09-20-2112/</link>
      <pubDate>Sun, 20 Sep 2026 21:12:53 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/2026-09-20-2112/</guid>
      <description> &lt;p&gt;The &lt;a href=&#34;https://www.cavelab.dev/notes/&#34;&gt;notes&lt;/a&gt; implementation is now complete; it even has Mastodon-style media support. In addition, I&amp;rsquo;ve revamped the &lt;a href=&#34;https://www.cavelab.dev/computers/&#34;&gt;computers&lt;/a&gt;, &lt;a href=&#34;https://www.cavelab.dev/projects/&#34;&gt;projects&lt;/a&gt;, and &lt;a href=&#34;https://www.cavelab.dev/tags/homelab/&#34;&gt;tag term&lt;/a&gt; lists.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve started tinkering with dedicated video pages to make it easier to share and embed videos both in notes and on Mastodon. Still a work in progress.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2026-09-15 22:46: I am testing the alt support on note images — here are some …</title>
      <link>https://www.cavelab.dev/notes/2026-09-15-2246/</link>
      <pubDate>Tue, 15 Sep 2026 22:46:24 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/2026-09-15-2246/</guid>
      <description> &lt;p&gt;I am testing the alt support on note images — here are some birds eating.&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/2026-09-15-2246/20260914_124343_hu_69a9e22e772409e4.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-09-14 19:09: For about 10 days, while I’ve been distracted by fun …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-09-14-1909/</link>
      <pubDate>Mon, 14 Sep 2026 19:09:36 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-09-14-1909/</guid>
      <description> &lt;p&gt;For about 10 days, while I&amp;rsquo;ve been distracted by fun implementations on my website, this #Arduino Mega board has been running the new alarm code. Constantly communicating with the Python application that will run on the #RaspberryPi — receiving 16 #Zigbee zones and responding accordingly. Not a single communication or checksum error has been logged.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;d say this is a pretty good start 😀 Time to start building some IO interface boards&amp;hellip;&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-14-1909/20260914_161539_hu_49a9888d9f9a667d.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-14-1909/screenshot-1789405704_hu_f24107a2a6967dd.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-09-09 00:21: We rented a boom lift recently, to paint part of the house. …</title>
      <link>https://www.cavelab.dev/notes/alarm/2026-09-09-0021/</link>
      <pubDate>Wed, 09 Sep 2026 00:21:28 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/alarm/2026-09-09-0021/</guid>
      <description> &lt;p&gt;We rented a boom lift recently, to paint part of the house. I used the opportunity to mount an outdoor siren.&lt;/p&gt;&#xA;&lt;p&gt;Now all I need is a control cable from the alarm cabinet to the attic, and I can get this thing wired up.&lt;/p&gt;&#xA;&lt;p&gt;To prevent annoying the neighbours too much — this thing will only go off if there is a manually triggered panic alarm, or intrusion with more than one zone in alarm.&lt;/p&gt;&#xA;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-09-0021/1_20260907_090733_hu_311dd98e1780c38c.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-09-0021/2_20260907_090647_hu_b11680609bf5dbad.webp&#34;&gt;&lt;img src=&#34;https://www.cavelab.dev/notes/alarm/2026-09-09-0021/3_20260828_113928_hu_a2edbe8e5307f49.webp&#34;&gt;</description>
    </item>
    <item>
      <title>2026-09-05 23:23: After some trial and error I’m ready to try out the notes …</title>
      <link>https://www.cavelab.dev/notes/2026-09-05-2323/</link>
      <pubDate>Sat, 05 Sep 2026 23:23:09 +0200</pubDate>
      <guid>https://www.cavelab.dev/notes/2026-09-05-2323/</guid>
      <description> &lt;p&gt;After some trial and error I&amp;rsquo;m ready to try out the notes section on my Hugo blog. I&amp;rsquo;ve been thinking about this for a while — and this time it might just work. More changes than anticipated were needed to allow for no title — lists, RSS, OG image…&lt;/p&gt;&#xA;&lt;p&gt;I like how &lt;a href=&#34;https://fosstodon.org/@kev&#34;&gt;@kev@fosstodon.org&lt;/a&gt; is doing &lt;a href=&#34;https://kevquirk.com/?type=notes&#34;&gt;his notes&lt;/a&gt;, and my implementation is inspired by that.&lt;/p&gt;&#xA;&lt;p&gt;My goal is to reduce friction when posting a project update, while still using my own website.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
