<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Electronics on Aaron BenDaniel&#39;s Blog</title>
    <link>https://abendaniel.top/tags/electronics/</link>
    <description>Recent content in Electronics on Aaron BenDaniel&#39;s Blog</description>
    <image>
      <title>Aaron BenDaniel&#39;s Blog</title>
      <url>https://abendaniel.top/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://abendaniel.top/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 14 Nov 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://abendaniel.top/tags/electronics/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Senior Week 11</title>
      <link>https://abendaniel.top/posts/senior/seniorweek11/</link>
      <pubDate>Thu, 14 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek11/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek11/front.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek11/back.webp&#34; alt=&#34;&amp;amp;ldquo;Image of my Micromouse&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;My PCBs arrived on Tuesday and I got straight to work on all the soldering and crimping needed to get everything assembled. I soldered lots of headers and crimped some extenders to raise the Top Board above the Bottom Board. Currently, they&amp;rsquo;re quite far apart and I&amp;rsquo;d like to minimize how tall my Micromouse is, so I&amp;rsquo;ll probably end up crimping some new extenders that are shorter.&lt;/p&gt;
&lt;p&gt;I spent pretty much my whole week assembling hardware, but by Thursday I had finished and tested everything. I began writing the code to precisely control the movement of the robot, and it is looking to be more difficult and I had thought it would be. I have hope, though, and I believe that I&amp;rsquo;ll be able to get the level of precision I&amp;rsquo;m looking for. I&amp;rsquo;ll need to leverage the IMU and encoders to their fullest, and will probably need to implement PID control.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 10</title>
      <link>https://abendaniel.top/posts/senior/seniorweek10/</link>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek10/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek10/cube.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This was a short week as we had Tuesday off because of the presidential election.&lt;/p&gt;
&lt;p&gt;The main thing I did this week was to continue supervising the Sophomores in the machine shop while they were making their Turner&amp;rsquo;s Cubes. This took up pretty much all of my time, so I didn&amp;rsquo;t get to get much work done on my Micromouse.&lt;/p&gt;
&lt;p&gt;On Monday, I made some changes to and ordered the Upper Boards from JLC PCB, so they should be arriving sometime next week and I should (hopefully) be able to finish the hardware for my Micromouse.&lt;/p&gt;
&lt;p&gt;On Wednesday, I wrote code to turn the on-board Neopixel on the QT-PY into a status indicator. I will use the RGB-LED to indicate the current state of the Micromouse. The color scheme will be:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Green - Done
Blue - Waiting
Yellow - Moving
Red - Failure
&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-arduino&#34; data-lang=&#34;arduino&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;setColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;uint8_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;switch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;RED&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;pixel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setPixelColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;255&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;GREEN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;pixel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setPixelColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;255&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;BLUE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;pixel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setPixelColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;255&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;YELLOW&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;pixel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setPixelColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;255&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;255&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;OFF&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;pixel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setPixelColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;pixel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;show&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I also wrote some code to use the on-board push-button to prompt the Micromouse to continue. I can add a &lt;code&gt;buttonCheckpoint();&lt;/code&gt; line in the code to make the Mouse wait for a button press before continuing.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-arduino&#34; data-lang=&#34;arduino&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;buttonCheckpoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;millis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kt&#34;&gt;bool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;toggle&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;digitalRead&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;HIGH&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;millis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;500&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;toggle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;setColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BLUE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;toggle&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;setColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OFF&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;toggle&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;millis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;setColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BLUE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nf&#34;&gt;delay&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek10/motor.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the motor I&amp;amp;rsquo;m using&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Last week, when I assembled the Lower Board, I switched one of the motors I had for another one that had straighter headers. I did not inspect or test the new motor at all. This was a mistake. Despite being labeled &amp;ldquo;50:1&amp;rdquo; the gear ratio on it was actually 75:1. This meant that one wheel took significantly more torque to turn and spun at a slower rate.&lt;/p&gt;
&lt;p&gt;On Thursday, I desoldered the mislabeled motor and replaced it with one that I had verified had a 50:1 gear ratio.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 09</title>
      <link>https://abendaniel.top/posts/senior/seniorweek09/</link>
      <pubDate>Thu, 31 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek09/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek09/front.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;The sophomores did electronics this week, so I got a break from helping them with their Turner&amp;rsquo;s Cubes and had time to work on my Micromouse. I test-cut some versions of the lower board in acrylic, found some problems, fixed them, cut a (not actually) final version with the PCB mill, found another problem, and cut the (now hopefully final) version of the board that I have now. I&amp;rsquo;m not quite done assembling it, but it&amp;rsquo;s pretty much in it&amp;rsquo;s final state right now, other than a few missing headers.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek09/back.webp&#34; alt=&#34;&amp;amp;ldquo;Another angle on my Micromouse&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll test it once I&amp;rsquo;ve finished soldering everything on. Hopefully everything works as expected. I should be good to order the top board from (probably) JLC PCB. The top board is far too complex to route with just one side, and although our PCB mills can &lt;em&gt;technically&lt;/em&gt; do double-sided boards they aren&amp;rsquo;t great and the through-holes don&amp;rsquo;t connect the two sides, only the vias do.&lt;/p&gt;
&lt;p&gt;My Micromouse is finally coming together and at this rate, assuming the hardware interface code doesn&amp;rsquo;t take too long, I&amp;rsquo;ll probably be able to finish the project by the beginning of next year. I&amp;rsquo;ve already written the pathfinding algorithm, so it&amp;rsquo;s just translating &amp;ldquo;Turn 90 degrees right&amp;rdquo; and &amp;ldquo;Go forward 90mm&amp;rdquo; into real-world motion. I anticipate that to be significantly more difficult than it would sound, as the movements need to be quite precise and all I&amp;rsquo;ve got are two DC motors.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 08</title>
      <link>https://abendaniel.top/posts/senior/seniorweek08/</link>
      <pubDate>Thu, 24 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek08/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek08/mill.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;While I did do some work on my Micromouse this week, I spent a majority of it in the machine shop helping the sophomores with their Turner&amp;rsquo;s Cubes. There are three pairs of sophomores (one for each mill) currently making their Cubes and I&amp;rsquo;ve been supervising/teaching them how to use the mills along with Mr. L.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek08/drawing.webp&#34; alt=&#34;&amp;amp;ldquo;The big Tormach mill&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s probably going to take a while for the sophomores to finish their cubes, if all of them even want to. This first batch of students is looking to take over a week to go from cut-stock to finished cubes, so I&amp;rsquo;m not sure how long it&amp;rsquo;s going to take for &lt;em&gt;all&lt;/em&gt; the sophomores to finish.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek08/tof.webp&#34; alt=&#34;&amp;amp;ldquo;The HiLetGo ToF sensor&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The work I did this week on my Micromouse was pretty uneventful. I built a breadboard version of my circuit boards to confirm the electronics will work together. I also made an unfortunate discovery: The super small ToF sensors that I wanted to use are apparently a slightly different type that is less accurate than the other (larger) ones I had tested with. While I probably could still use the smaller ones, I&amp;rsquo;d really prefer the extra precision and have changed my circuit boards to use the older, larger ToF sensors.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 07</title>
      <link>https://abendaniel.top/posts/senior/seniorweek07/</link>
      <pubDate>Thu, 17 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek07/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek07/mouse.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;I spent this week doing two major things. The first one was designing the second iteration of my Micromouse. This new version features a stacked-PCB arrangement that significantly reduces the horizontal footprint of the robot. I hope I will actually be able to build this version. I haven&amp;rsquo;t thought too much about where the battery will go on this version, but I&amp;rsquo;m sure I&amp;rsquo;ll figure it out before too long.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek32/back.webp&#34; alt=&#34;&amp;amp;ldquo;The board in question&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The other thing I did this week was help Miles Hilliard debug JONA ROV.&lt;/p&gt;
&lt;p&gt;This year, I want to take a step back from Sunk Robotics for a few reasons, the first is that I&amp;rsquo;m quite burnt out from last year. I spent the entire year focusing almost solely on JONA ROV and while I did build a pretty cool ROV, I overdid it and I&amp;rsquo;m just tired of ROVs now. The other major reason is because I&amp;rsquo;m a senior and this is my last year with Sunk Robotics. The younger members (who won&amp;rsquo;t be gone next year) need to get as much experience as they can, so I want to let them do as much as possible, with my help available when they need it.&lt;/p&gt;
&lt;p&gt;Getting back to what I did this week, Miles has taken on the electronics portion of JONA and I&amp;rsquo;ve been helping him with trying to work out the problems that we had with it last year. The power issues are very-much-so still around and Miles can hopefully find a solution to them. All of this started, though, with isolating the problem exactly, which was what Miles and I did this week.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 06</title>
      <link>https://abendaniel.top/posts/senior/seniorweek06/</link>
      <pubDate>Thu, 10 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek06/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek06/mouse.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;I (thankfully) noticed on Tuesday that, despite my Micromouse being able to fit in a cell and rotate, it was too large to fit through the slightly-smaller open area between cells. Additionally, the Time of Flight (ToF) sensors were too high up and could not see the 25mm-high walls that the half-scale Micromouse rules require the maze to have.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek06/mice.webp&#34; alt=&#34;&amp;amp;ldquo;Size comparison&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;After some deliberation, I eventually decided that I would need to find some smaller ToF sensors and completely redesign my Micromouse. It will have the same components, other than the new ToF sensors, but will be smaller. In order to accommodate this, I will be splitting the components across two vertically-stacked PCBs.&lt;/p&gt;
&lt;p&gt;The new design is still concerningly large compared to the maze, and I might try to shrink it further. Now that I&amp;rsquo;ve committed to a stacked-PCB design, it should be possible to squeeze it even smaller.&lt;/p&gt;
&lt;p&gt;The first image does not have the actual PCBs modeled, as it&amp;rsquo;s just a reference model for arranging parts. I have just begun designing the actual PCBs.&lt;/p&gt;
&lt;p&gt;My QT-Py microcontrollers also arrived this week. I spent a whole day testing them out and, after a some finagling, got code uploaded and running on them. They are impressivly tiny and have two extremely useful features built onto them: A button (other than &lt;code&gt;RESET&lt;/code&gt;) and a Neopixel. I will be making use of both.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 05</title>
      <link>https://abendaniel.top/posts/senior/seniorweek05/</link>
      <pubDate>Thu, 03 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek05/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek05/wheel.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://abendaniel.top/img/senior/seniorweek05/gear.webp&#34;
         alt=&#34;It&amp;amp;rsquo;s out of focus T_T&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;It&amp;rsquo;s out of focus T_T&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;This week was short, but I did get some important things done. I modeled and test-printed the custom gearing for the side of my Micromouse that needs on offset motor. I wasn&amp;rsquo;t sure if the resin printers would be able to print such small teeth, especially for helical gears, but the gears appear to be correct.&lt;/p&gt;
&lt;video width=100% controls&gt;
  &lt;source src=https://abendaniel.top/img/senior/seniorweek05/video.mp4 type=&#34;video/mp4&#34;&gt;
  Your browser does not support the video tag.  
&lt;/video&gt;
&lt;p&gt;They spin together smoothly, but I got the hole diameter wrong on the wheel, so I had to drill it out and now it wobbles. I&amp;rsquo;ll need to print a new version with the correct hole diameter.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek05/holder.webp&#34; alt=&#34;&amp;amp;ldquo;Picture of the holder piece&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;This is the piece that will hold the geared wheel, it&amp;rsquo;s quite small and I&amp;rsquo;m really appreciating just how tiny my Micrmouse is going to be.&lt;/p&gt;
&lt;p&gt;This piece was also printed on the Elegoo Neptune 3 Pro printer &lt;a href=&#34;https://core2engineering.wordpress.com/&#34;&gt;Alex Pilika&lt;/a&gt; brought in last year. Despite having been in the shop since last year, the printer was only just now set up. So far, it seems to be inconsistent, but when it prints well, it&amp;rsquo;s the best FDM printer in the shop.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 04</title>
      <link>https://abendaniel.top/posts/senior/seniorweek04/</link>
      <pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek04/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek04/mouse.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week I finished up putting all of my parts into Fusion and I began designing my Micromouse. I&amp;rsquo;m only just now appreciating just how small half-scale Micromice are. Each cell is 90mm by 90mm. This means that my micromouse needs to fit inside a 45mm circle, but because I want some tolerance, I&amp;rsquo;ve decided to squeeze everything into a 40mm circle. The wheel-wells take up quite a bit of space, which leaves barely enough room for everything else.&lt;/p&gt;
&lt;p&gt;Finding a battery that stores enough power but can fit in the awkward space has been a challenge.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek04/schematic.webp&#34; alt=&#34;&amp;amp;ldquo;Schematic of my Micromouse&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;This is my preliminary schematic of my Micromouse. It&amp;rsquo;s missing a LiPo charger, but other than that I think it&amp;rsquo;s good. My PCB will almost certainly need to be double-sided, which we can manufacture in the shop. I might just order them from JLC PCB, as they&amp;rsquo;re pretty cheap and &lt;em&gt;much&lt;/em&gt; higher quality.&lt;/p&gt;
&lt;hr&gt;
&lt;video width=100% controls&gt;
  &lt;source src=https://abendaniel.top/img/senior/seniorweek04/video.mp4 type=&#34;video/mp4&#34;&gt;
  Your browser does not support the video tag.  
&lt;/video&gt;
&lt;hr&gt;
&lt;p&gt;I also wrote a super-duper simple version of a PID algorithm, it&amp;rsquo;s missing the &amp;ldquo;Integral&amp;rdquo; and &amp;ldquo;Derivative&amp;rdquo; parts, so I guess it&amp;rsquo;s just a &amp;ldquo;Proportional&amp;rdquo; algorithm. It oscillates some, but hopefully it should be good enough.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 03</title>
      <link>https://abendaniel.top/posts/senior/seniorweek03/</link>
      <pubDate>Thu, 19 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek03/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek03/qtpy.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;The first two days of this week were spent finishing up refactoring my code. I couldn&amp;rsquo;t get it to run on an ATMEGA328&amp;hellip; for some reason. I&amp;rsquo;m still not sure why. The algorithm &lt;em&gt;should&lt;/em&gt; be able to run with the amount of RAM that microcontroller has, but apparently not. I have switched to an ESP32-S2 and the code now runs.&lt;/p&gt;
&lt;p&gt;For now I&amp;rsquo;m using an Adafruit Feather ESP32-S2, but for my micromouse I think I want to use an Adafruit QT Py ESP32-S2. It has the same microcontroller as the board I&amp;rsquo;m using now, but it is &lt;em&gt;much&lt;/em&gt; smaller.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek03/motor.webp&#34; alt=&#34;&amp;amp;ldquo;Picture of the motor I intend to use&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;After I finished with the code I began looking into hardware. I started with figuring out what motors and encoders I was going to use. The shop already had these super small DC motors with encoders already attached, so I&amp;rsquo;m going to use these. I learned how to use encoders and got it working with the ESP32-S2.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek03/tof.webp&#34; alt=&#34;&amp;amp;ldquo;Picture of the TOF sensors&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Lastly, I learned about Time of Flight sensors. They&amp;rsquo;re similar to LiDAR, but a single narrow cone instead of a full volumetric scanner. The units the shop already had were perfect, except for that they have a single hard-coded I2C address. This means that if I want to use multiple of them at once, (and I do) I need an I2C mutliplexer in order for them to not conflict with eachother. The shop also had those, and I got two working at once. My micromouse will have three.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Senior Week 02</title>
      <link>https://abendaniel.top/posts/senior/seniorweek02/</link>
      <pubDate>Thu, 12 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/senior/seniorweek02/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/senior/seniorweek02/mice.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;I spent the first half of my week attempting to get data from an optical computer mouse with an Arduino board. My intention was to use the (computer) mouse to track the xy movement of my (micro) mouse. However, I was ultimately unsuccessful and it appears I will need to find another way to track movement. Probably encoders.&lt;/p&gt;
&lt;p&gt;After the disappointing outcome of my exploration into computer mice, I wanted to work on something other than electronics for a few days, so I began refactoring/rewriting my pathfinding code at the suggestion of &lt;a href=&#34;https://josephscottcampbell.com/&#34;&gt;Scott Campbell&lt;/a&gt;, who believed that I could make my implementation of a Flood-Fill pathfinding algorithm significantly more memory efficient.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/senior/seniorweek02/animation.gif&#34; alt=&#34;&amp;amp;quot;.gif animation of the roll-over feature of my FIFO Queue&amp;amp;quot;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not done with refactoring the code, as I got side-tracked trying to write my own implementation of a First-In-First-Out (FIFO) Queue in Arduino/C++. I want to use a FIFO Queue in my new pathfinding algorithm, but Arduino/C++ does not natively support that data structure. I wanted to try writing my own, and I half succeeded. The code shown below is what I ended up writing. It has some very mysterious problems, though. When I compile it with G++ for Linux, it works fine, but when using the Arduino IDE it breaks.&lt;/p&gt;
&lt;p&gt;I think this implementation (other than it&amp;rsquo;s bugs) is pretty cool, it leverages the &amp;ldquo;feature&amp;rdquo; of unsigned integers that they roll over to &lt;code&gt;0&lt;/code&gt; when they reach their maximum. This means that data never needs to be moved to shift the index of all the elements over one, because it can just continuously append data and when it reaches the end of the internal array, it will just roll over back to the start.&lt;/p&gt;
&lt;p&gt;To be a bit more specific about it&amp;rsquo;s problems, it works as expected when &lt;code&gt;startIndex&lt;/code&gt; is a &lt;code&gt;uint8_t&lt;/code&gt;, but that&amp;rsquo;s too small and I need at least a &lt;code&gt;uint16_t&lt;/code&gt;. However, this results in some very strange behavior. After appending the first piece of data, &lt;code&gt;startIndex&lt;/code&gt; suddenly skips from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;256&lt;/code&gt;. This is a &lt;em&gt;very&lt;/em&gt; suspicious number as it&amp;rsquo;s exactly &lt;code&gt;2^8&lt;/code&gt;, which implies something weird is happening to the low-byte and there&amp;rsquo;s a weird off-by-one error.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t know what the problem is, and I&amp;rsquo;ll probably never know, as I&amp;rsquo;ve given up on writing my own and have resigned to using an Arduino library to create a FIFO Queue. It (so far) appears to work as expected.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-arduino&#34; data-lang=&#34;arduino&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;class &lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;FIFOArray_t&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;struct&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;xyPair_t&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;65536&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;uint16_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;startIndex&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;uint16_t&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;length&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;struct&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;xyPair_t&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;read&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;uint16_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;startIndex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;remove&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;startIndex&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nf&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;struct&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;xyPair_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;kt&#34;&gt;uint16_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;startIndex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;startIndex&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;length&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;kt&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;kt&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nf&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I am aware of the off-by-one error involving &lt;code&gt;length&lt;/code&gt;, but as I said, I&amp;rsquo;m not actually going to end up using this code.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 36</title>
      <link>https://abendaniel.top/posts/junior/juniorweek36/</link>
      <pubDate>Thu, 30 May 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek36/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek36/wire.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week has been mainly taken up with my assembling of our 50ft tether. We originally built a 100ft tether because we didn&amp;rsquo;t want to ever run into a scenario where we didn&amp;rsquo;t have a long enough tether, but it turns out that the tether &lt;em&gt;can&lt;/em&gt; be too long. JONA ROV works as is, but there is a significant voltage drop on the ROV side while drawing a large amount of current. The shorter tether should significantly reduce voltage drop, while still being more than long enough for the MATE ROV Competition.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re building a whole new tether, so we&amp;rsquo;ll still have our 100ft tether if we ever need the extra range.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek36/epoxy.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the epoxy&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Midway through the week, it looked like we&amp;rsquo;d need to put a hold on the 50ft tether for a few days as we did not end up having enough epoxy to seal the splices in the tether for the Blue Trail Engineering connectors. Luckily, Mr. Christy was able to pick up some epoxy on his way home and we were only set back one day instead of the rest of the week.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek36/camera.webp&#34; alt=&#34;&amp;amp;ldquo;Logo of the camera electronics&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve been having a very annoying and potentially competition-costing problem where the bottom camera is &lt;em&gt;very&lt;/em&gt; inconsistent to turn on. Once it&amp;rsquo;s on, it&amp;rsquo;s stable, but getting it to turn on is a big pain and can take quite a few power cycles. I never really figured out the problem, as (in theory) the hardware in the bottom camera is identical to the back camera, which has had no issues whatsoever.&lt;/p&gt;
&lt;p&gt;I had a hunch that &lt;em&gt;maybe&lt;/em&gt; the RPi in the bottom camera was somehow broken or otherwise just less resilient to wonky power-ons, like what the ROV does on startup. I switched the hardware out for another camera module I had and, while I haven&amp;rsquo;t done extensive testing yet, it appears to have solved the problem. Hopefully this will significantly improve the reliability of JONA ROV.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 34</title>
      <link>https://abendaniel.top/posts/junior/juniorweek34/</link>
      <pubDate>Thu, 16 May 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek34/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek32/back.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;Just before the regional I had finished the Power Distribution Board V3. I put it into JONA and was dismayed to see that it did not function. I put the old board back in, as I didn&amp;rsquo;t have time to debug the new board and we needed a working ROV and as much practice as possible for the upcoming competition.&lt;/p&gt;
&lt;p&gt;Now that the regional is over (and we won!) I have time to see what was wrong with the board.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek34/isolators.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the Optoisolators&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I managed to fix most of the issues with the board, but one issue remains. The fourth channels on these optoisolators do not work. The datasheet shows they&amp;rsquo;re no different than the other three, so I have no idea what the issue could be. I haven&amp;rsquo;t done too much debugging, as exploring this issue is a low-priority and high-effort endeavor.&lt;/p&gt;
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://abendaniel.top/img/junior/juniorweek28/logic.webp&#34;
         alt=&#34;Image of the Logic Board&#34; width=&#34;1000&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;I didn&amp;rsquo;t get a picture of the board&amp;hellip; This is the best one I have as-of writing this&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;I&amp;rsquo;ve managed to reduce the amount of time that we need to wait to turn the ROV on to ten seconds by adding a 1 Ohm resistor to the space I had added in case I needed it. The ~0 Ohm connection through the MOSFET let too much current through and interfered with the startup process. The 1 Ohm resistor still interferes, but less so now.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 33</title>
      <link>https://abendaniel.top/posts/junior/juniorweek33/</link>
      <pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek33/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek33/stuff.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;I organized everything we&amp;rsquo;re planning to bring to the regional, I hope it&amp;rsquo;s everything we&amp;rsquo;ll need. I&amp;rsquo;ll try to pack all of this this into the yellow Pelican case, but I doubt it&amp;rsquo;ll all fit. We might need to use one of the large black cases. Also those are technically still Eben&amp;rsquo;s&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek33/board.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the ESC Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I soldered a replacement ESC Board. I hope we won&amp;rsquo;t need it, but the ESCs have been the most unreliable part of JONA and they may break. The motor connectors aren&amp;rsquo;t soldered on yet as the two different ESC boards have different connectors. Those will be soldered on at the regional if we end up needing the board&lt;/p&gt;
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://abendaniel.top/img/junior/juniorweek32/christy.webp&#34;
         alt=&#34;Image of Mr. Christy&amp;#39;s part&#34; width=&#34;1000&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;This image is actually from last week, as I didn&amp;rsquo;t get a picture of the part.&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Mr. Christy also needed me to mill some more parts for him. The ones I did last week were 100mils too small (the holes) so Mr. Christy needed to recut them and have me re-chamfer them.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 32</title>
      <link>https://abendaniel.top/posts/junior/juniorweek32/</link>
      <pubDate>Thu, 02 May 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek32/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek32/front.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek32/back.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the back of the PD V3&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I spent this week assembling the new Power Distribution Board V3. This new board features an isolated 5V power system which should hopefully eliminate the ground noise caused by the ESCs that were interfering with the 5V system.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t actually tested the board yet, other than the voltage regulating features, as I haven&amp;rsquo;t had time, and by the time that I do, it&amp;rsquo;ll be quicker to just put it in JONA and see if it works. Other than rebinding the motors, it should just be a drop-in replacement.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek32/christy.webp&#34; alt=&#34;&amp;amp;ldquo;Image of Mr. Christy&amp;amp;rsquo;s part&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Mr. Christy also asked me to mill a chamfer on a part he water-jet cut, so I did that too.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 30</title>
      <link>https://abendaniel.top/posts/junior/juniorweek30/</link>
      <pubDate>Thu, 11 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek30/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek30/andrews.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;Thursday last week I had started a project to build a shelf for the cart, but that got postponed when on Friday, the day of our Andrews presentation, JONA ROV mysteriously stopped working. Before we left for the Andrews, I determined that one of the ESC Board was the cause of the problem. For the live demos for the middle schoolers. I rewired the motors so that only four of them worked, but four motors gave JONA enough freedom of movement for the demo. It was quite disappointing that it broke &lt;em&gt;just in time&lt;/em&gt; for a live demonstration.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek30/escboard.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the now fixed ESC Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;It took me three days to fix JONA, and I am left none the wiser as to the cause of the problem than before.&lt;/p&gt;
&lt;p&gt;Not one but two ESCs had mysteriously broken and were drawing massive amounts of current whenever they were connected. I ended up replacing them and the ESC Board worked again. However, before I determined they were the issue, I ended up desoldering a functional ESC in the process. Sometime between me testing the first ESC I desoldered and after I tested it again once it was back on the ESC Board, it was no longer functional.&lt;/p&gt;
&lt;p&gt;I have to assume the repeatedly soldering and desoldering the ESCs damages them over time, or at least has a high chance to damage them each time I do it. This ESC worked fine before I began investigating, but now it is dead. (For an unknown reason).&lt;/p&gt;
&lt;p&gt;The whole ordeal finished with me replacing a total of three ESCs, all of which broke for unknown reasons. Definitely not for the regional, but assuming we win, I plan to design an ESC Board V3 that we not require the ESCs to be directly soldered to the PCBs. It was a good idea, but ultimately it appears it has too high a chance to damage the ESCs.&lt;/p&gt;
&lt;p&gt;After I had JONA fixed, I began cleaning the cart. It desperately needed a wipe-down and the cables were a mess. I reorganized the cart and hopefully it should remain so for a slightly longer amount of time than it lasted before. I &lt;em&gt;am&lt;/em&gt; aware that it will be impossible to keep the cart clean and organized, so I guess we&amp;rsquo;ll just have to give it semi-monthly cleanings. Or something.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 29</title>
      <link>https://abendaniel.top/posts/junior/juniorweek29/</link>
      <pubDate>Thu, 04 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek29/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek29/SBoard.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;At the start of the week I finished soldering the Ethernet Switch Board V2, which features a Gigablox Gigabit Ethernet Switch.&lt;/p&gt;
&lt;p&gt;The new switch works great, and not only does the RPi have a gigabit connection to the surface computer, all the camera feeds don&amp;rsquo;t share a single 100MBps connection now.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek29/PDTop.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the PDBoard V3&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek29/PDBottom.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the PDBoard V3&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The third version of the Power Distribution Board is done, but I&amp;rsquo;m waiting or order it until Scott has finished a PCB of his own. The shipping cost from JLCPCB is about the same as the PCBs themselves, so we are trying to consolidate orders to save on shipping. The new board features a fully isolated 5V power system, with a new regulator and opto-isolators. The board also continues the migration effort towards XT30 connectors and has some holes to accommodate a servo for our prospective gripper.&lt;/p&gt;
&lt;p&gt;I &lt;em&gt;think&lt;/em&gt; other than the PDBoard V3, my current projects for the robotics team are mostly done, which means I&amp;rsquo;ll be open to start another personal project. &lt;del&gt;I&amp;rsquo;ll need to think of something to do.&lt;/del&gt; &lt;strong&gt;UPDATE BELOW&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek29/shelf.webp&#34; alt=&#34;&amp;amp;ldquo;Image of my prototype shelf&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Thursday after school Matty wanted to make some backups of the Tube Cameras&amp;rsquo; SD cards. While he was doing that, I decided to begin designing a shelf to add to our cart. We&amp;rsquo;re having serious organizational problems with the cart, and while I intend to fix them, they will just reappear without a better solution. My solution is to create an additional level for storage that will be organized to hold miscellaneous parts, while the bottom level is for more staple things.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 28</title>
      <link>https://abendaniel.top/posts/junior/juniorweek28/</link>
      <pubDate>Wed, 27 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek28/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek28/switch.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;hr&gt;
&lt;p&gt;The PCBs arrived this week so I&amp;rsquo;ve begun assembling them! I began with the Logic Board, which is the most important to get working. The capacitor control circuitry is very important to get running because bottom camera mysteriously won&amp;rsquo;t turn on when the capacitor is plugged in. This actually makes quite a bit of sense, but it&amp;rsquo;s mysterious because the rear camera (which has identical hardware) has no issues at all.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek28/logic.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the new logic board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I tested the circuitry before putting it into JONA and it appeared to work, but it causes strange issues when the RPi5 tries to control it. I need to look into this more in the coming week.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek28/switch.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the new ethernet switch board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I also began assembling the new Gigabit Ethernet Switch Board. This new board accommodates a Gigabit ethernet switch and an RPi Zero to act as a router. The RPi5 &lt;em&gt;should&lt;/em&gt; be able to act as the router without issue, but it is causing issues with the front camera when it is.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek28/cans.webp&#34; alt=&#34;&amp;amp;ldquo;Image of a lot of cans :)&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Scott, Ben, William, Tanzy, and I all contributed to buying 108 cans from Wegmans for the NTHS Food Drive. Wegmans double-delivered so we got a total of 217 cans. If Robotics doesn&amp;rsquo;t win&amp;hellip; I don&amp;rsquo;t know.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 27</title>
      <link>https://abendaniel.top/posts/junior/juniorweek27/</link>
      <pubDate>Fri, 22 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek27/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek27/mess.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week I verified that the PCBs I designed last week were good. I didn&amp;rsquo;t find any issues, so they got ordered.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve also been redesigning the Power Distribution Board&amp;hellip; again. In order to accommodate an isolated voltage regulator and some optoisolators. I&amp;rsquo;ve needed to make a number of footprints by hand, so it&amp;rsquo;s been going slow.&lt;/p&gt;
&lt;p&gt;On Wednesday, I helped Matty tune the PID systems of JONA. Now that they&amp;rsquo;re tuned, the ROV will maintain a set depth, roll, and pitch angle. This will significantly improve controllability.&lt;/p&gt;
&lt;p&gt;Also on Wednesday, the ROV broke, I &lt;em&gt;think&lt;/em&gt; it has to do with some water getting in, evaporating, and then condensing, but I really don&amp;rsquo;t know. I doubt I&amp;rsquo;ll ever know the source of the problem.&lt;/p&gt;
&lt;p&gt;I did figure out what broke, though. One of the ESCs had a capacitor pop and it sprayed it&amp;rsquo;s capacitor gunk on the ESC. I will need to replace that unit.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 26</title>
      <link>https://abendaniel.top/posts/junior/juniorweek26/</link>
      <pubDate>Thu, 14 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek26/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek26/top.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;I spent this week continuing to increase reliability in JONA ROV&amp;rsquo;s 5V power system, with more success than last week. JONA ROV can reliably function without random shutdowns, but powering it on is now a bit of an ordeal and the bottom camera no longer works. Fortunately, the cause for both of these problems is known. Both are caused by the 2.5F supercapacitor I added to solve the random shutdowns.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek26/logic.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the new logic board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Miles Hilliard came up with the solution I&amp;rsquo;m going to implement. He suggested that the capacitor be, by default, disconnected from the 5V power system through an NPN or MOSFET, and only be connect to the system by the RPi5 after its finished booting. Miles and Shane designed the circuit to control the capacitor, and I made the necessary modifications to the Logic Board. I hope to order this new Logic Board soon.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek26/top.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the top of the new ethernet switch board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek26/bottom.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the bottom of the new ethernet switch board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Matty had suggested that the latency and frame-rate problems we&amp;rsquo;ve been having with the cameras are, at least in part, caused by a lack of available bandwidth connecting the surface laptop to the ethernet switch. We always knew about the 100Mbps limit, but didn&amp;rsquo;t think that it would pose too much of a problem. It appears we have been proven wrong. Luckily, &lt;a href=&#34;https://botblox.io/&#34; target=&#34;_blank&#34; &gt;Bot Blox&lt;/a&gt;, the manufacturer of the 100Mbps switch we were using also selling a slightly larger Gigabit switch. This new switch should alleviate all of the bandwidth issues, but a new PCB is required in order to accommodate it&amp;rsquo;s larger footprint and gigabit connection.&lt;/p&gt;
&lt;p&gt;The Tube Cameras can&amp;rsquo;t get gigabit connections, as two of the twisted pairs in the CAT 5E cable are needed for power, but each individual camera shouldn&amp;rsquo;t need more than 100Mbps. It&amp;rsquo;s only the tether and the RPi5 that need a gigabit connection, as &lt;em&gt;all&lt;/em&gt; the camera feeds need to be transmitted through their connections.&lt;/p&gt;
&lt;p&gt;I also added mounting holes for an RPi Zero, should we decide to add one to the Ethernet Switch Board. We&amp;rsquo;ve been facing issues with the front camera, although I don&amp;rsquo;t know the details, I know that it has something to do with the RPi5 acting as both a camera and a router. If the increased bandwidth doesn&amp;rsquo;t fix the issues with the front camera, we&amp;rsquo;re going to try using a separate Pi Zero as the on-board router.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 25</title>
      <link>https://abendaniel.top/posts/junior/juniorweek25/</link>
      <pubDate>Thu, 07 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek25/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek25/PXL_20240307_163651283.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;JONA ROV has been experiencing major power stability problems with its 5V system. I&amp;rsquo;ve been attempting to isolate and solve the problem for&amp;hellip; a while, and I&amp;rsquo;m still not really any closer to solving it.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek25/PXL_20240307_163657954.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the new power distribution board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The new Power Distribution Board is done and it has quite the janky capacitor+diode addition to it. I can&amp;rsquo;t really tell if the capacitor is helping much, though.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek25/PXL_20240307_163704010.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the 5V capacitors&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I tried adding some capacitors to the 5V system and they do help, but they also make turning the ROV on a bit of a hassle. The RPi5 is fussy with how it receives power and the capacitors interfere with it turning on smoothly. I ended up adding a 2.2mF capacitor and a 2.5F supercapacitor.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 24</title>
      <link>https://abendaniel.top/posts/junior/juniorweek24/</link>
      <pubDate>Thu, 29 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek24/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek24/front.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;On Monday I tested the feasibility of re-programming the ESCs to change the startup melody to &amp;ldquo;Shipping Up To Boston&amp;rdquo;. I need to use the website &lt;a href=&#34;https://esc-configurator.com/&#34; target=&#34;_blank&#34; &gt;esc-configurator.com&lt;/a&gt; because the official BLHeli software doesn&amp;rsquo;t allow for reprogramming the startup melodies for 8-bit ESCs (which the Blue Robotics ESCs are). I have so far been able to change the startup melody, but the re-programmed ESCs don&amp;rsquo;t function yet. I only worked on this on Monday, as the new Power Distribution Boards arrived on Tuesday.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek24/esc.png&#34; alt=&#34;&amp;amp;ldquo;Image of esc-configurator.com&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I spent Tuesday soldering and debugging the 2.5V voltage reference for the ADC. It is by far the smallest component I&amp;rsquo;ve ever soldered and I ended up using the hot plate to solder it, as the hot air gun would blow the part away even on its lowest air setting.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek24/front.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the front of the new Power Distribution Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek24/back.jpg&#34; alt=&#34;&amp;amp;ldquo;Image of the back of the new Power Distribution Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;On Wednesday I began soldering on the other components, and after school Shane and I discovered that the ADC has its own voltage reference and no VREF pin&amp;hellip; So the voltage reference on the PCB is useless.&lt;/p&gt;
&lt;p&gt;We also discovered that the ROV is broken. During the process of once more reducing voltage drop, something broke and I2C stopped working. I &lt;em&gt;think&lt;/em&gt; that the problem is with the 9-axs IMU, but I am not 100% sure and need to do some additional debugging.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 23</title>
      <link>https://abendaniel.top/posts/junior/juniorweek23/</link>
      <pubDate>Thu, 15 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek23/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek23/front.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week I designed the Power Distribution Board V2. Last Wednesday, it was made clear that there is a serious problem with the 5V system on JONA ROV. With the help of Mr. Christy’s friend, Shane, I did some diagnosing, but I’m still not 100% sure what the cause of the problem is. It’s probably due to insufficient current supply, as our current 5V regulator can only supply up to 3A. Anyone who has read the electrical specifications of Raspberry Pis should know that this is not enough, and we always knew that 3A was insufficient, but we’re only just now having a problem with it.&lt;/p&gt;
&lt;p&gt;The new PD Board will have an 8A voltage regulator as well as current and voltage monitoring capabilities.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek23/back.png&#34; alt=&#34;&amp;amp;ldquo;Image of a 3D model of the Power Distribution Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek23/top.png&#34; alt=&#34;&amp;amp;ldquo;Image of the top of the Power Distribution Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek23/bottom.png&#34; alt=&#34;&amp;amp;ldquo;Image of the bottom of the Power Distribution Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I’m still not 100% sure that the new voltage regulator will fix our problems, but I have no idea what the source of the issue could be if it isn’t the current supply. Even still, having a greater maximum current draw is good, and I continue to learn more about PCB design.&lt;/p&gt;
&lt;p&gt;I believe the new board is done and ready to be ordered, but I still have the nagging feeling that I’m missing something. I intend to ignore it, though, as I have felt this way every single time I’ve ordered PCBs from a PCB company and haven’t forgotten anything yet.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 19</title>
      <link>https://abendaniel.top/posts/junior/juniorweek19/</link>
      <pubDate>Thu, 18 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek19/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek19/paper.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week has marked the end of my major contributions to the robotics team. Although I will of course continue to help, my two main projects are now complete.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek19/board.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the ESC Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;On Wednesday, Mr. Christy’s friend Shane helped fix the voltage drop that was causing instability in JONA ROV’s 5V systems. With that fixed, JONA ROV is now fully functional and can begin pool testing.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek19/guide.webp&#34; alt=&#34;&amp;amp;ldquo;Image of my guide&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I tested my water jet guide with the help of juniors &lt;a href=&#34;https://tazam257.wixsite.com/tanzerul-azam&#34; target=&#34;_blank&#34; &gt;Tanzerul Azam&lt;/a&gt; and &lt;a href=&#34;https://willvictor82.wordpress.com/&#34; target=&#34;_blank&#34; &gt;William Tseng&lt;/a&gt;. My water jet guide is now complete. It is available &lt;a href=&#34;https://docs.google.com/presentation/d/18Ct_nLgRmGJVEYIGeXUzbjGuyYpuIFuorEzUfgsBD80/edit?usp=sharing&#34; target=&#34;_blank&#34; &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek19/paper.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the manufacturing document for my Machinist&amp;amp;rsquo;s Jack&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek19/lathe.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the beginning of the base of my Machinist&amp;amp;rsquo;s Jack&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;With all of the projects I’d been devoting most of my time to complete, I now have almost nothing to do in the shop. This means that I can start a new project, or more specifically, re-start an old one. At the very end of my Sophomore year, I began designing and manufacturing some machinists jacks. My first attempt did not end well, but I believe that, with the knowledge I gained from my first attempt, I can successfully manufacture them this time. I just started to turn the first one on Thursday, and I predict this project will take at minimum all of next week.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 18</title>
      <link>https://abendaniel.top/posts/junior/juniorweek18/</link>
      <pubDate>Thu, 11 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek18/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek18/wires.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week I hit a major milestone with JONA ROV and the Robotics Team. Although on Wednesday the shop was flooded so I didn’t get any work done, I still managed to complete some tasks.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek18/board.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the ESC Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek18/back.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the ESC Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I soldered the second ESC PCB and tested each ESC. All four worked, so I then soldered the XT30 connectors onto the remaining four motors. I was able to assemble everything and JONA ROV is now, theoretically, fully functional. Wednesday after school Matty was able to test each motor and they all work! However, we also discovered another problem. There is a very mysterious voltage drop in the 5V system that I have no idea how it even exists. When I measure voltage from two points on a continuous power bus, I read two different values.&lt;/p&gt;
&lt;p&gt;Given all of the knowledge I have of electrical engineering, this should be impossible. I will need to seek help from some more experienced people in order to solve this problem. This voltage drop is (I believe) responsible for instability in the electrical system and results in the RPi4 not behaving properly. In addition to the voltage drop, we may be over-currenting our voltage regulator, although I am doubtful that we are.&lt;/p&gt;
&lt;p&gt;I also began mounting the rear camera. I was having problems with it earlier, but they appear to have disappeared. I believe the problems I have having earlier are connected to the problems I am having now with the RPi4.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 17</title>
      <link>https://abendaniel.top/posts/junior/juniorweek17/</link>
      <pubDate>Thu, 04 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek17/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek17/front.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week I entered what will hopefully be the final stage of building JONA ROV. The very last day of school before Christmas Break, the ESC PCB V2s arrived. This week I have begun assembling them. Their updated design allowed the ESCs to fit more flush against the PCB and makes surface-mount soldering them with solder paste easier.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek17/down.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the ESC Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek17/back.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the ESC Board V2&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I have found a good method for soldering the ESC to these PCBs. I first add just enough solder paste to make a connection, soldering everything together, and then add more solder with a soldering iron and solder wire. This method has so far been consistent and I have one full ESC PCB V2 assembled.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek17/wires.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the XT30 connectors&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;On Thursday I soldered the male XT30 connectors onto the thruster wires and soldered a female XT30 connector onto the power connector. I plugged everything together and the four thrusters connected to the new PCB successfully played the startup sound. I unfortunately am unable to actually drive the motors via the Raspberry Pi 4 without Matty, so they haven’t been tested all together yet. Each ESC was individually tested by myself as a soldered them, though, so I have confirmed that each unit does function.&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 13</title>
      <link>https://abendaniel.top/posts/junior/juniorweek13/</link>
      <pubDate>Thu, 30 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek13/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek13/camera.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week I had to put PCB design on pause, as I was waiting to be able to speak with Shane about what he believes the problems was with the old ESC PCBs. We did discover the problem, Ben’s and my attempt at attaching the motors to the ESC PCBs without the actual connectors proved to be…. less than ineffectual. Accidental bridging was the cause of us blowing two traces on the PCBs.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek13/cameraa.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the single-cable Tube Camera&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek13/camerab.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the single-cable Tube Camera&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I assembled our downwards-facing camera this week, it employs the new 5V PoE “standard” we developed. It requires only a single CAT 5E cable to transmit both 5V power and 100mbps ethernet. I have yet to mount it, though, as I write this, the part is printing.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek13/notion.png&#34; alt=&#34;&amp;amp;ldquo;Image of Notion&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I also began adding all of the tasks I need to do to Sunk Robotics’ new task management system: Notion. I can certainly see the advantage of this system, but adding all of my tasks will be a pain (I will only have to do this many at a time once, though).&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 11</title>
      <link>https://abendaniel.top/posts/junior/juniorweek11/</link>
      <pubDate>Thu, 16 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek11/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek11/electronics.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;The MITRE trip is on Monday and I spent this week trying to get as much of JONA ROV done as possible. This involved a lot of crimping and soldering. &lt;a href=&#34;https://benwirz.netlify.app/&#34; target=&#34;_blank&#34; &gt;Ben Wirz&lt;/a&gt;, who had been working on the float for Sunk Robotics, paused his work and assisted me with much of the electronics assembly this week.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek11/jona.webp&#34; alt=&#34;&amp;amp;ldquo;Image of JONA ROV&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek11/jonatop.webp&#34; alt=&#34;&amp;amp;ldquo;Image of JONA ROV&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;We got some pool time on both Monday and Wednesday, which was very helpful especially for our previous year’s ROV S.T.E.V.E., as we’re going to demo it at MITRE’s Blue Tech Lab. JONA ROV also had it’s inaugural swim on Monday. We assembled all of the penetrators Monday in-class and were able to put it into the pool after school. At the moment, JONA ROV is very positively buoyant, so we’ll need to add weights to it in order to maintain neutral buoyancy.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek11/electronics.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the electronics for JONA ROV&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek11/electronicsa.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the electronics for JONA ROV&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, I do not believe the JONA ROV will be functional by Monday, and we won’t be able to demo it in MITRE’s pool. We don’t have enough crimps for the thrusters, so we can’t connect them to the ESC PCBs. Other than that, though, the electronics for JONA ROV are done! (Although they have not been tested yet)&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 10</title>
      <link>https://abendaniel.top/posts/junior/juniorweek10/</link>
      <pubDate>Wed, 08 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek10/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek10/frame.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek10/pcb.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the soldered ESC Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I spent all of this week cutting parts for the JONA ROV frame. Everyone had Tuesday off, but Mr. L offered to let me come to the shop. &lt;a href=&#34;https://benwirz.netlify.app/&#34; target=&#34;_blank&#34; &gt;Ben Wirz&lt;/a&gt; and I were in the shop from 8am-2pm on Tuesday and got quite a bit done. We successfully soldered a full ESC PCB. I tested each ESC (individually, not all together) and they all work! The second ESC PCB has been less straightforward, but I’m confident we can get it to work quickly. (Ben has been doing most of the ESC PCB work now, I just helped him for the first one)&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek10/frame.webp&#34; alt=&#34;&amp;amp;ldquo;Image of JONA ROV&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek10/frametop.webp&#34; alt=&#34;&amp;amp;ldquo;Image of JONA ROV&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek10/frameside.webp&#34; alt=&#34;&amp;amp;ldquo;Image of JONA ROV&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The big thing I worked on this week was the JONA ROV frame. On Wednesday I finished cutting everything and assembled the frame! I believe the frame is ready for MITRE (By the way, the robotics team was invited to the opening ceremony of &lt;a href=&#34;https://www.bostonglobe.com/2023/10/20/business/bluetech-economy/&#34; target=&#34;_blank&#34; &gt;MITRE’s giant tank&lt;/a&gt;) There’s still work to be done on it, such as coloring it, but for now I can call it “done”. Next week will be all about the electronics for JONA. I hope JONA ROV will be fully functional by the 20th (The MITRE Tank Opening Ceremony)&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 08</title>
      <link>https://abendaniel.top/posts/junior/juniorweek08/</link>
      <pubDate>Thu, 26 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek08/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek08/tube.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week was quite slow, as I’ve been waiting for parts for both the ROV Frame and Electronics Enclosure. I took this time to begin writing documentation for everything I’ve done so far. MATE requires extensive documentation of the process of building our ROV. I’ve so far written a fair amount about the Frame, Electronics Enclosure, Camera System, and Thrusters. The following is an excerpt from what I wrote about JONA ROV’s thrusters.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;“We decided to design our own thrusters guards, although we were heavily influenced by UWROV’s design. Our thrusters guards meet the IP-20 requirements of the MATE ROV competition but cause the minimum impedance of water through our Blue Robotics T200 thrusters. This allows us to make use of as much of the force our thrusters generate as possible while still maintaining the standard of safety required of us.”&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek08/top.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the top of the ESC Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek08/bottom.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the bottom of the ESC Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;On Wednesday the ESC PCBs I ordered arrived! They arrived super quickly, far quicker than we expected, although this turned out to be a bad thing. The reason the PCBs arrived so fast was because they were green. We thought we ordered black PCBs, which take longer to make, but for some reason we got green ones instead. Regardless, the color is aesthetic only, and has no impact on the functionality of the board.&lt;/p&gt;
&lt;p&gt;Mr. Christy and I attempted to solder a Blue Robotics ESC to one of the boards, but the solder paste Mr. Christy had did not work. We’re unsure as to why, but the solder paste melted almost instantly (suspiciously quickly) and it was far too runny. It didn’t wick onto the solder pads and we decided not to attempt any further soldering until we had new solder paste. The solder paste we used was 6 years old, but I’m unsure how long it takes the kind we used to expire.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek08/soldered.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the top of the partially-soldered ESC Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek08/solderedbottom.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the bottom of the partially-soldered ESC Board&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Thursday I soldered all of the connectors onto one of the ESC PCBs. We’re going to need two of them in the end, so we can test soldering ESCs onto another board and we can use the one I soldered today once we have perfected the process.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek08/tube.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the electronics tube&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek08/tubeside.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the electronics tube&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek08/tubethrough.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the electronics tube&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Our 6 inch tube also came in on Wednesday! I put together the tube flanges we had already received, lubricated them, mounted the electronics frame I had made a few weeks before, and put everything together. It looks pretty good! I can finally begin to see the electronics enclosure I’ve spent so much time designing beginning to come together!&lt;/p&gt;

      </description>
    </item>
    <item>
      <title>Junior Week 04</title>
      <link>https://abendaniel.top/posts/junior/juniorweek04/</link>
      <pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://abendaniel.top/posts/junior/juniorweek04/</guid>
      <description>
        &lt;p&gt;&lt;img src="https://abendaniel.top/img/junior/juniorweek04/plaquefancy.webp" loading="lazy" /&gt;&lt;/p&gt;
          &lt;p&gt;This week was a 4-day week, so I got less done this week than I normally would.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek04/plaquehigh.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the Watts Water Plaque&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek04/plaquefancy.webp&#34; alt=&#34;&amp;amp;ldquo;Image of the Watts Water Plaque&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I finally finished the plaque for Watts Water, and it looks pretty good! I’m quite disappointed that my CNC engraved idea didn’t work out. I ended up just spray painting the metal sheet and then laser-engraving the text into it. The upside to this method is that I can do solid shapes and logos, instead of just lines.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek04/electronics.webp&#34; alt=&#34;&amp;amp;ldquo;Image of a 3D model of the Electronics Tube&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;After I finished up the plaque, I got back to work on the new electronics enclosure. Our new design will hopefully be far cleaner, easier to modify, and will also look a lot cooler. Our main tube (6in diameter) will have a frame with a bunch of slots on it, and a bunch of PCBs will go into each slot and be connected together with as few wires as possible. This week I designed two PCBs: the Power Distribution Board, and the I2C &amp;amp; Power Bus Board.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek04/pd.webp&#34; alt=&#34;&amp;amp;ldquo;Image of a 3D model of the Power Distribution PCB&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The Power Distribution Board splits the incoming 12V for use in the two ESC Boards, and for the 12V to 5V converter on the PCB. The Power Distribution Board also has the 12 Channel PWM Controller for the ESCs, as it is the closest board to the ESC boards and the extra space.&lt;/p&gt;
&lt;p&gt;&lt;img loading=eager src=&#34;https://abendaniel.top/img/junior/juniorweek04/lb.webp&#34; alt=&#34;&amp;amp;ldquo;Image of a 3D model of the logic PCB&amp;amp;rdquo;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The I2C &amp;amp; Power Bus Board has a 6-port I2C bus and a 4-port 5V power bus. This board is not full size, and will go on a clear acrylic piece that fill fit into the electronics frame. This acrylic piece will also hold the Raspberry Pi 4B and a 9-axis IMU.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;While writing this blog post I thought of a much better way to do the I2C &amp;amp; Power Bus Board, so I’m gonna completely remake it Friday.&lt;/strong&gt;&lt;/p&gt;

      </description>
    </item>
  </channel>
</rss>
