<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="https://reid.wiki/feed.xml" rel="self" type="application/atom+xml" /><link href="https://reid.wiki/" rel="alternate" type="text/html" /><updated>2026-03-20T21:11:55+00:00</updated><id>https://reid.wiki/feed.xml</id><title type="html">Reid Russell</title><subtitle>Reid Russell&apos;s collection of software and hardware projects and other musings.</subtitle><author><name>Reid Russell</name></author><entry><title type="html">Thermal Flight Test 1</title><link href="https://reid.wiki/posts/2025-07-31-thermal-classification/" rel="alternate" type="text/html" title="Thermal Flight Test 1" /><published>2025-07-31T00:00:00+00:00</published><updated>2025-07-31T00:00:00+00:00</updated><id>https://reid.wiki/posts/thermal-classification</id><content type="html" xml:base="https://reid.wiki/posts/2025-07-31-thermal-classification/"><![CDATA[<p><img src="https://reid.wiki/assets/videos/drone_thermal_1.gif" alt="Drone" class="align-center framed" width="100%" /></p>

<h1 id="july-update">July Update</h1>
<p>After a several month hiatus of moving and capping off other projects, I finally made some small progress on the wildlife management platform. The ground station bottom panel has been manufactured and mounted to the case. I repurposed an old Beelink minipc to ubuntu and set up the necesary WFB-NG connection configuration and additional pipelines necesary for the video downlink. Its been a while since a flight test, so I was able to put some time on the drone and test the video downlink stability / vibration issues associated with the mounts for the downward facing and thermal cameras. For the time being, the Flir is on a simple 3d printed mount but will eventually be mounted via gimbal.</p>

<h2 id="thermal-pipeline">Thermal Pipeline</h2>
<p>Ultimately all video processing needs to be done on device so that a feedback loop in the control architecture can inform decisions made by the model. For the first test, I added object detection via basic contours that look at threshold differences to box potential objects of interest. Testing this method indoors actually worked surprisingly well, but I found that during a hot day in the summer this approach is overly-simplistic. It only takes into account the ‘hot’ targets, so anything lower temperature than the ground or other background will not be detected even when there is a clear threshold change.</p>

<h3 id="yolo">YOLO</h3>
<p>After verifying basic functionality, I moved towards more standard models with a good track record. Moving forward, there are two options.</p>
<ol>
  <li>Use a edge TPU to offload processing</li>
  <li>Mount a Jetson Nano and run the models there.</li>
</ol>

<p>Option 1 is optimal and theoretically the simpler option, but constrains the capabilities of the models I can use, as well as potential scalability of future development. If I end up needing to use the Jetson, It will probably be worth replacing the current flight computer (RPI4) entirely with the jetson, or interfacing between them in some way. Unfortunately the current flight computer already uses the ethernet slot to communicate with the flight controller telemetry data, so alternative methods for reliable cross-computer communication would have to be explored.</p>

<p>I am in the process of testing YOLOV5 nano compiled to .tflight (to run on the TPU) and have so far gotten significantly better results than the initial approach (surprise surprise).</p>

<p>The next major steps will be to test the stable range for video transmission and effective altitude needed to accurately detect objects on the ground and in the future classify. Then it will be data collection, classification model training, and decision algorithm based on the classification results.</p>]]></content><author><name>Reid Russell</name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Radio License</title><link href="https://reid.wiki/radio-technician-license/" rel="alternate" type="text/html" title="Radio License" /><published>2025-01-20T00:00:00+00:00</published><updated>2025-01-20T00:00:00+00:00</updated><id>https://reid.wiki/radio-technician-license</id><content type="html" xml:base="https://reid.wiki/radio-technician-license/"><![CDATA[<h1 id="kj5jqc">KJ5JQC</h1>

<p>It has been over a week, but I am excited to have passed the technician level amateur radio license exam and have been issued a call-sign: KJ5JQC. The purpose of getting this was to:</p>

<ol>
  <li>Understand the rules and regulations around the radio spectrum better</li>
  <li>Gain priviledges to use certain frequency ranges for the drone and antenna projects</li>
  <li>Get my foot in the door of a community that is more familiar with the nuances of RF engineering than I currently am, and can possibly help / answer questions that I have in the future.</li>
</ol>

<p>I will probably pursue the General and Extra license classes soon - mainly because they open up frequencies in the HF band, which is the band used for long range communications.</p>

<p><img src="https://reid.wiki/assets/images/radio-licence-censored.png" alt="radio-license" class="align-center" /></p>]]></content><author><name>Reid Russell</name></author><summary type="html"><![CDATA[KJ5JQC]]></summary></entry></feed>