<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>cat &#x2F;dev&#x2F;aki</title>
    <subtitle>Various ramblings from Aki</subtitle>
    <link rel="self" type="application/atom+xml" href="https://lethalbit.net/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://lethalbit.net"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2024-10-17T13:33:51-07:00</updated>
    <id>https://lethalbit.net/atom.xml</id>
    <entry xml:lang="en">
        <title>Squishy, It&#x27;s Alive!</title>
        <published>2024-10-17T13:33:51-07:00</published>
        <updated>2024-10-17T13:33:51-07:00</updated>
        
        <author>
          <name>
            
              Aki
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lethalbit.net/notes/squishy-lives/"/>
        <id>https://lethalbit.net/notes/squishy-lives/</id>
        
        <content type="html" xml:base="https://lethalbit.net/notes/squishy-lives/">&lt;p&gt;So, after some trials and tribulations, Squishy is (mostly) alive hardware wise!&lt;&#x2F;p&gt;
&lt;p&gt;That&#x27;s not to say it was all smooth sailing, but lets track back a bit and start from the beginning.&lt;&#x2F;p&gt;
&lt;p&gt;A few months ago, we finally got the boards and parts in. I must say, the boards came out looking amazing, I will never get tired of white silkscreen, matte black soldermask, and ENIG plating, it is just always stunning.&lt;&#x2F;p&gt;
&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;squishy-blank-pcbs.png&quot; alt=&quot;The blank Squishy PCBs, showing 2 panels, one showing the front the other showing the back&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;The blank Squishy PCBs, showing 2 panels, one showing the front the other showing the back&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;
&lt;p&gt;And, of course, Annie was instantly interested in doing quality control and inspection on them, and the parts.&lt;&#x2F;p&gt;
&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;annie-parts-0.png&quot; alt=&quot;Annie sitting in the freshly opened DigiKey box&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Annie sitting in the freshly opened DigiKey box&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;
&lt;div class=&quot;img-flow img-flow-2&quot;&gt;
	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;annie-parts-1.png&quot; alt=&quot;Annie pawing at the contents of the DigiKey box&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Annie pawing at the contents of the DigiKey box&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;annie-box.png&quot; alt=&quot;Annie, sleeping in the DigiKey box as happy as can be.&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Annie, sleeping in the DigiKey box as happy as can be.&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

&lt;&#x2F;div&gt;
&lt;p&gt;Just look at her, she is just a little problem child, but I love her all the same.&lt;&#x2F;p&gt;
&lt;p&gt;Where were we? Ah, right, Squishy.&lt;&#x2F;p&gt;
&lt;p&gt;Next up, was getting them assembled, this took the longest, mainly due to having to borrow someone elses time and Pick and Place machine (thanks &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;chaos.social&#x2F;@esden&quot;&gt;esden&lt;&#x2F;a&gt;!).&lt;&#x2F;p&gt;
&lt;p&gt;This was done just a few weeks ago as of writing, and I must say, they came out superb!&lt;&#x2F;p&gt;
&lt;div class=&quot;img-flow img-flow-2&quot;&gt;
	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;squishy-assembled-1.png&quot; alt=&quot;Two panels of assembled squishy boards, for a total of 6&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Two panels of assembled squishy boards, for a total of 6&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;squishy-assembled-2.png&quot; alt=&quot;Three of the assembled squishys, out of the panel, with DC jacks and reset buttons soldered in.&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Three of the assembled squishys, out of the panel, with DC jacks and reset buttons soldered in.&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;squishy-front.png&quot; alt=&quot;Three of the assembled squishys, out of the panel, with DC jacks and reset buttons soldered in.&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Three of the assembled squishys, out of the panel, with DC jacks and reset buttons soldered in.&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;squishy-back.png&quot; alt=&quot;Three of the assembled squishys, out of the panel, with DC jacks and reset buttons soldered in.&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Three of the assembled squishys, out of the panel, with DC jacks and reset buttons soldered in.&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

&lt;&#x2F;div&gt;
&lt;p&gt;Sadly, like most engineering&#x2F;validation hardware on the first revision, there were some &lt;em&gt;cough&lt;&#x2F;em&gt; &lt;strong&gt;errata&lt;&#x2F;strong&gt; &lt;em&gt;cough&lt;&#x2F;em&gt; that needed to be identified and fixed.&lt;&#x2F;p&gt;
&lt;p&gt;The first thing was, while it passed the &quot;smoke test&quot; as it were, the units were dead, no power to the SEPIC supply, and it wasn&#x27;t just one or two, this was &lt;em&gt;&lt;strong&gt;all&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt; of them, so that means it was a fundamental design flaw, ohno.&lt;&#x2F;p&gt;
&lt;p&gt;Here is where I thank &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;chaos.social&#x2F;@esden&quot;&gt;esden&lt;&#x2F;a&gt; and &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;dx_m0n&quot;&gt;my wife&lt;&#x2F;a&gt;, where they took the initiative and narrowed down the problem while I was being a depressed blob. It turns out, &lt;code&gt;Q1&lt;&#x2F;code&gt; which is the main SEPIC switching MOSFET was backwards. Now, this wasn&#x27;t a footprint issue, the footprint was correct, but this &lt;em&gt;was&lt;&#x2F;em&gt; a symbol issue,  as KiCad has a billion different variations on MOSFETs G&#x2F;S&#x2F;D configurations because no one can agree on which pinout to use for them. In this case, the Source and Drain were swapped on the symbol pin numbers, meaning the body diode of the MOSFET was backwards, causing us to clamp the input power supply to ground, which will, ofc make it unhappy.&lt;&#x2F;p&gt;
&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;q1-sepic-mosfet.png&quot; alt=&quot;A screenshot of the Squishy SEPIC supply schematic showing the, now corrected MOSFET symbol&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;A screenshot of the Squishy SEPIC supply schematic showing the, now corrected MOSFET symbol&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;
&lt;p&gt;As you can see, if Pin 3 and Pin 2 are swapped then the body-diode would be upside-down, but with the corrected pin numbering it&#x27;s happy. This did mean all 6 MOSFETs needed to be de-soldered, flipped, and dead-bugged, but it was fixable. Granted the SEPIC MOSFETs are not happy being on their back, they rather be using the large power pours to dump their heat into, but they will survive, and as these are EVT units, it&#x27;s fine, it&#x27;s not like we made a production run of 100 or more of them. Also thankfully, at least, we didn&#x27;t power it via the DC jack, only USB, so we didn&#x27;t draw enough current to pop the fuse.&lt;&#x2F;p&gt;
&lt;p&gt;The next problem, was that while the 3v3 and 1v8 supplies were coming up, the LDOs were not, and again, this was on all 6 boards, so yet another design mistake, &lt;em&gt;sigh&lt;&#x2F;em&gt; cool, cool.&lt;&#x2F;p&gt;
&lt;p&gt;This problem was also an easy to find one, thankfully, turns out, I mis-read the data-sheet for the LDOs and forgot to hook the &lt;code&gt;BIAS&lt;&#x2F;code&gt; pins up the the VCC supply, so they were not regulating and just in general being un-happy, but with a bodge wire to their input, everything was happy again.&lt;&#x2F;p&gt;
&lt;p&gt;And with that, we finally have LIFE!!!!
&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;squishy-leds.png&quot; alt=&quot;A close-up photo showing the Squishy status LEDs in the colors of the trans flag.&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;A close-up photo showing the Squishy status LEDs in the colors of the trans flag.&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;
&lt;&#x2F;p&gt;
&lt;p&gt;Well, &lt;em&gt;almost&lt;&#x2F;em&gt;, we can talk to the flash and the supervisor MCU, because thankfully there are headers, but we can&#x27;t program the FPGA &lt;em&gt;&lt;strong&gt;quite&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt; yet, this is mainly due to a silly design decision and not breaking out the FPGAs JTAG pins fully. So what we have to do, is bootstrap the supervisor MCU enough to be able to have it flash bitstream onto the FPGA to then start doing the rest of the validation, and that&#x27;s where we are right this second.&lt;&#x2F;p&gt;
&lt;div class=&quot;img-flow img-flow-2&quot;&gt;
	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;oops-bmp.png&quot; alt=&quot;Two BMP connectors with the sides chopped off because they&amp;#x27;re too close together to both fit in at once&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Two BMP connectors with the sides chopped off because they&amp;#x27;re too close together to both fit in at once&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

	&lt;div class=&quot;image-container&quot;&gt;
	&lt;img src=&quot;https:&#x2F;&#x2F;lethalbit.net&#x2F;img&#x2F;notes&#x2F;squishy&#x2F;squishy-bringup-0.png&quot; alt=&quot;Squishy connected to a blackmagic debug probe and a logic analyzer trying to bring up the FLASH SPI bus&quot;&gt;
	
		&lt;small class=&quot;caption&quot;&gt;Squishy connected to a blackmagic debug probe and a logic analyzer trying to bring up the FLASH SPI bus&lt;&#x2F;small&gt;
	
&lt;&#x2F;div&gt;

&lt;&#x2F;div&gt;
&lt;p&gt;So, as it stands we are making slow but hopefully now steady progress. We are keeping track of the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;squishy-scsi&#x2F;hardware&#x2F;blob&#x2F;main&#x2F;release&#x2F;rev2-evt&#x2F;mainboard&#x2F;errata.md&quot;&gt;known evt errata&lt;&#x2F;a&gt; as we find and fix it, and we have a batch of connectors coming down the pipeline for the SCSI interface. The LVD PHY still needs to have its schematic gone over again before the pain of layout happens for that. And of course continuing the bring-up of the main Squishy unit.&lt;&#x2F;p&gt;
&lt;p&gt;All in all it&#x27;s taking longer than I would like, but I need to not beat myself up over it and take the time, otherwise it ends in tears.&lt;&#x2F;p&gt;
&lt;p&gt;I hope to be able update you all soon, until then, see you around!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Friends</title>
        <published>2023-06-17T13:45:00-05:00</published>
        <updated>2024-10-03T03:06:29-07:00</updated>
        
        <author>
          <name>
            
              Aki
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lethalbit.net/friends/"/>
        <id>https://lethalbit.net/friends/</id>
        
        <content type="html" xml:base="https://lethalbit.net/friends/">&lt;p&gt;Hey! You should check these people out, they&#x27;re really cool and much smarter than me!&lt;&#x2F;p&gt;
&lt;table class=&quot;friends&quot;&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;mary.zone&#x2F;&quot;&gt;Mary&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;A smart low level developer with good taste in fashion and tea.&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Ravenslofty&quot;&gt;Lofty&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;Very friendly and good awooo who does magic with FPGAs.&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;ds0.me&#x2F;&quot;&gt;gatecat&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;Genius FPGA kbity.&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.amyspark.me&#x2F;&quot;&gt;Amy&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;Super talented and friendly, knows a whole lot about a whole lot!&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;thephd.dev&#x2F;&quot;&gt;thephd&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;A supremely cool individual who is also the project editor for the C programming language.&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;expiredpopsicle.com&#x2F;&quot;&gt;Kiri&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;A fellow nullptr::live member and super cool and smart snek!&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;significantb.it&#x2F;&quot;&gt;sirocyl&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;Cool systems and vintage computers person.&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;sludge.network&#x2F;&quot;&gt;sludge&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;A very cool developer who has lovely taste.&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Nykseli&quot;&gt;Duck&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;
			&lt;td&gt;A comfy and smart duck who does all kinds of cool things.&lt;&#x2F;td&gt;
		&lt;&#x2F;tr&gt;
	&lt;&#x2F;tbody&gt;
&lt;&#x2F;table&gt;
&lt;br &#x2F;&gt;
&lt;br &#x2F;&gt;
&lt;p&gt;If you&#x27;re not on this list and we&#x27;re friends, poke me with the URL you want me to add!&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
