<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Andrey's notes and thoughts]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>https://thoughts.andreygrant.com/</link><image><url>https://thoughts.andreygrant.com/favicon.png</url><title>Andrey&apos;s notes and thoughts</title><link>https://thoughts.andreygrant.com/</link></image><generator>Ghost 4.48</generator><lastBuildDate>Wed, 21 Jan 2026 02:58:28 GMT</lastBuildDate><atom:link href="https://thoughts.andreygrant.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Digital Chess Board: Hardware Design Idea #2]]></title><description><![CDATA[<p>Last time, I&apos;ve gone through a basic idea of a digital chess board using RFID tech and figured out that with 5+ dollars per reader chip, the cost of the board would be too high. Furthermore, most cheap RFID chips feature serial (SPI or UART) interfaces, which cannot</p>]]></description><link>https://thoughts.andreygrant.com/digital-chess-board-hardware-design-idea-2/</link><guid isPermaLink="false">61146ff139b34e1f59f141ee</guid><dc:creator><![CDATA[Andrey Grant]]></dc:creator><pubDate>Thu, 12 Aug 2021 05:18:49 GMT</pubDate><media:content url="https://thoughts.andreygrant.com/content/images/2021/08/chess.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://thoughts.andreygrant.com/content/images/2021/08/chess.jpg" alt="Digital Chess Board: Hardware Design Idea #2"><p>Last time, I&apos;ve gone through a basic idea of a digital chess board using RFID tech and figured out that with 5+ dollars per reader chip, the cost of the board would be too high. Furthermore, most cheap RFID chips feature serial (SPI or UART) interfaces, which cannot be easily multiplexed to allow the master to talk to multiple slaves. So, what are other options for detection? </p><p>RFID works great because it contains two pieces of information:<strong> chess piece presence </strong>and <strong>unique chess piece identifier</strong>. The former one is essential because the computer needs to be able to detect the presence of a piece. The latter one allows the computer to know which piece is present on a tile. This info CAN be stored on the piece itself, but it can also be deduced by tracking the state of the board. We know the initial state of the board, and we know how every single piece moves, which means that by keeping track of how the pieces move, it is trivial to calculate all legal positions for the next step.</p><p> That poses the question: what can provide us with a yes or no answer to &quot;is a piece present on this square?&quot;? The answer is magnets and hall effect sensors. DigiKey sells <a href="https://www.digikey.com.au/product-detail/en/SI7210-B-03-IV/336-4071-ND/7323050?itemSeq=373325174">SI7210-B-03-IV</a>, which is an I2C enabled hall effect sensor. This sensor, unfortunately, runs in to issue of address clashing as there are only 4 available addresses. Thankfully <a href="https://www.digikey.com.au/product-detail/en/ALS31300EEJASR-500/620-1991-1-ND/9486293?itemSeq=373628941">ALS31300EEJASR-500</a> exists, with 16 different addresses, configurable by the ratio of voltage between A0 and A1 pins or 64 different addresses stored in the register. This is a rough diagram of how the sensors would be laid out.</p><!--kg-card-begin: html--><div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2021-08-11T19:17:40.506Z\&quot; agent=\&quot;5.0 (Windows)\&quot; etag=\&quot;LZPXJW4LxyeJ8bIqrX5e\&quot; version=\&quot;14.7.3\&quot; type=\&quot;device\&quot;&gt;&lt;diagram id=\&quot;FiVw7k95SjzL5VA0nrOZ\&quot; name=\&quot;Page-1\&quot;&gt;5Vxtb6M4EP41+XgVNjaBj91076rTrbQSutcvKxqcBJXEOUI3yf36M8UkMCapl/IWt5UqGMxgnmc8nhmbTuzZ+vBLEmxXX3jI4gm2wsPEfphg7LlI/M0Ex1xAbTcXLJMozEXoLPCj/5gUWlL6EoVsV2mYch6n0bYqnPPNhs3TiixIEr6vNlvwuPrUbbBkisCfB7Eq/TMK01Uudal1lj+yaLkqnowseWUdFI2lYLcKQr4viezPE3uWcJ7mR+vDjMUZdgUu+X0/X7h66ljCNqnODY88+PWPMEFW8Pz4z/PC+sb//faT1PI9iF/kC8vOpscCgYS/bEKWKbEm9qf9KkqZvw3m2dW9oFzIVuk6FmdIHC6iOJ7xmCev99ohZW5IhHyXJvyZla64+Ml2HHFFdoAlKTtcfDN0wkvYGeNrliZH0UTeQCTC0sRIYTv7M2GeFK3KXE2lMJA2sjxpPsMoDiSSP4Aq7hbVxYI583kdquHUe7KsdlA9wSNhxbYKq1sDq9MVqrYJqNoQVTIwqsQEVKk7MlTp26iyTXifTVDibMM3rIoiO0TpX9nxnYWK878zAu6I5cjzh4Nk5PXkWDr5ypJIvAdLpCx/NguVqQ7gK/rHX5I5e2vCUHko4UxrcC5kCYuDNPpe7UYd+PIJX3kkOngePLhKMyWAv7z78q7yXAgUTYEiMvWqitIgWbJUUfRqC6fXbm4ezjvNQ5fQoYhCNiAKNyUKeWIEXNfVMVdTw7nCYEZCTbmCivomyjWdKK8tooAi4vZLlPc2UeMPOWB4jIYOj4usx1j7J25L9g8V9e2oUMdZ9zCZzPADwIi0G6Yyw8OqkXfftF+hqCW/AhX1Pa8ijVz+pply2oqAoKLeZ4D31gfGztS0rTEFFfU+pvpK1TVqL96QjMLaC6ENGVXSGDhzdc2o8Qk9rQKMm1bJIFOKoq6Z0kgU9aqolQoqvVo/HTu7BLCLaPZGrcQrCA7pC/wKwINjqdk2a7C70mUY0p66fDaYXGer5lM4LGMHOjQFDOfGpgmxoqjjgY41EmKjmFKWnpsypSjqmimNHPummVImTxidNK2GK4q6Zsr0tB0yhZp6P2UBpG/v9960vT7MsW170IViPKRxOA7glDSOkpRUVjNKas08WttL0Jt5jIV1TL076lrnH9KOCWR6nX6NwPQdAwp1Tb05LO31HsuaXl5QXGvTWFap5vYdy6obBvyHe4WslB3SKkPV9R/JYHmxSIqCOFpuxOlcEJf50E/ZwlA0D+J7eWEdhWH2mNqFqOpSlezqe1aWQOpACrhLZkNqzAZWbtvbJauWd/zZbx8Gf1qzTblX/IuFxRL+X2a/m4s/pVX7r1lY7Rd/terhF3vdTMQfQX9PhyZATZH94vONj0AAHpwANbXxkcEE2JAAZ2gC1GDVRwa7IEjA8C6oJgbFBo8AxxrbCKgJQrHBIwASMPgIIBp16qWAYXvx5eWnn8FT0dz6UVDw1KmAUoMJqsEEFgLbw0Rn5TKOo+3ukt2UDDXYbfMPYxfRIbMkuK3RcrNfXeu6wuHVgkQdfqgz/HTWE28Av8JJ6pljd3Bio+Cs+TawXzg11nu69ngEboAc2uPpLHKMycTIyDyezvrADeA3Fo+nU8S/HTgH93gan+Z17fGULd9DezydzY1jMjF3XB6vIObW8RuJx6O3FjJfh3Noj0d1QuaPvnU520bhAi1N9y5numygq6Pty6VuN9y/LE7P//cpb37+51n25/8B&lt;/diagram&gt;&lt;/mxfile&gt;&quot;}"></div>
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script><!--kg-card-end: html--><p>Naturally, the board should also have an indicator for each square on the board. Whilst it might be possible to introduce an RGB LED which is configured using a single wire interface, the easiest choice is to have single color LED light up. To reduce the number of wires required, we can design it as an LED Matrix - 1 wire actives a column, and 1 wire activate a row. As long as LEDs are turned on and turned off at a frequency of more than a couple of hundred hertz, players should not be able to notice the switching.</p><!--kg-card-begin: html--><div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2021-08-16T06:47:09.339Z\&quot; agent=\&quot;5.0 (X11)\&quot; etag=\&quot;VIAOqCutCsKDAMMrj48B\&quot; version=\&quot;14.9.4\&quot; type=\&quot;device\&quot;&gt;&lt;diagram id=\&quot;J93hgR2JFbu3IuwObECF\&quot; name=\&quot;Page-1\&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;&quot;}"></div>
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Digital Chess Board: Hardware Design Idea #1]]></title><description><![CDATA[<p>I was looking at experimenting with RFID tags/readers and what could be an interesting project to attempt. I wasn&apos;t particularly interested by normal uses - inventory management is kind of boring. When thinking about what makes RFID great, several things come up:</p><ul><li>Tags can be passive and</li></ul>]]></description><link>https://thoughts.andreygrant.com/digital-chess-board-hardware-design-idea-1/</link><guid isPermaLink="false">610a907039b34e1f59f1418b</guid><dc:creator><![CDATA[Andrey Grant]]></dc:creator><pubDate>Wed, 04 Aug 2021 13:54:26 GMT</pubDate><media:content url="https://thoughts.andreygrant.com/content/images/2021/08/rfid.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://thoughts.andreygrant.com/content/images/2021/08/rfid.jpeg" alt="Digital Chess Board: Hardware Design Idea #1"><p>I was looking at experimenting with RFID tags/readers and what could be an interesting project to attempt. I wasn&apos;t particularly interested by normal uses - inventory management is kind of boring. When thinking about what makes RFID great, several things come up:</p><ul><li>Tags can be passive and don&apos;t require power</li><li>Tags can have unique information encoded on them</li><li>Work through the material - don&apos;t require optical line of sight</li><li>Robust and fully electronic</li><li>Can be configured to have the right sensitivity - will not detect tags unless very close</li></ul><p>Later, thinking about chess, I realized that quite a few of these characteristics can be useful. Chess pieces can be attached with RFID tags and programmed with identifying information, such as color and piece type. They can be detected through the chessboard to keep the state of the board in check. No mechanical components assist in a longer lifetime. Having correct sensitivity reduces the number of false positives. That&apos;s why I decided to go through and think more about the design of this. </p><!--kg-card-begin: html--><div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2021-08-04T13:53:51.828Z\&quot; agent=\&quot;5.0 (X11)\&quot; etag=\&quot;tvaDsyjAh-dfjor8F0Is\&quot; version=\&quot;14.9.3\&quot; type=\&quot;device\&quot;&gt;&lt;diagram id=\&quot;1-jhAy3-bHw6QXPnTQrA\&quot; name=\&quot;Page-1\&quot;&gt;7Vtbl+IoEP41PjYnQMjlsa97OT1n90yfPTvzGBPU7MbgRpzW/vVLDLkQiBPbxF7d8UFDAZXwfUUVFHGC75fbn7JgtfjEIppMkBVtJ/hhgpDn++I7F+wKge2iQjDP4qgQwVrwEr9RKbSkdBNHdK005IwlPF6pwpClKQ25IguyjL2qzWYsUe+6CuZUE7yEQaJL/4wjvpDDIlYt/5nG80V5Z2jJmmVQNpaC9SKI2GtDhB8n+D5jjBdXy+09TXLsSlyKfk8dtdWDZTTlfTr8sQjJzV0Avdny7VP42+bt1yC58Qot34JkIwcsH5bvSgQytkkjmiuxJvjudRFz+rIKwrz2VVAuZAu+TEQJistZnCT3LGHZvi+mMCLUFfI1z9jftFHjOy4OHFEjH4BmnG47RwYrvISdUbakPNuJJrKDbQMX+40PKTSUJicJeK35Q44FoFuIFw36hFyajjSbeXWzGllxIcE9Amh0DNDwaKAFzF5km4D20BQ7AwHtWwqwng4sdC0dVWiPhSoeEdWUpXQg2BxguSpyREeOuMBzDODhscCzLwI8aCEAldmtIOkbbNAmoIwyCpJoLCTJhSDpAfFVf6CKpMEmMQbEMyAJx0LSuQwkoQ2Qp6BXxf0mfAgC2zbAZ40Fn3sZ8CELYNIwRNSC0mCJlg+wjqQ/FpD+MUAevy6azWYoDE3hOnKmDhknXCPcM16Ptggq3UYD1s9Pv4gf6zblNE15oKEsRs9VKFXIpFUaDDVI4nkqiqFAiwr5XY5lLFb2t7JiGUdRfhsjdyq7gxi9Dxx1YQoNK9PKNyjL0tEIgQY7d5Ic8RkT42pS4fyzYWXFzXq/UbsVDaC32taV4mqe/0paP9MgEtgj6z7Owk3MS+XTrGxYSsTjF3csxddqB+1JSQw24NSmch4zMO1OjjMDoxXcF5tylvVl+SifOgAZGhu2Hnpsw4QcbU0OTTua/wUT/zEikB6qNIxoGt3mKaba12iY0EhLL30XkcaQiWHIpSyjScDjb6p6Ew7yDr+zeG9AJeBOhyMqVazZJgup7IUaeaW2oi6PViriQTanXFO0p6Ua9glMmWLYdTPlA28grtpLvbG5MgWaq+ZKhPJm7sK3ByLOPTNxPTJtF03cUN7wo51hj6TedfHkA9eQ+j+VtnP7xR4ZxKuire2+3svTud2gr9MiMH+RRZbxBZuzNEgea2lrC1m3eWZsJen7i3K+k4efwYYzlVxBYbb7kvcHpCx+ler2hYetUtpVpbbFCMlTnA+5sZv9vtGI8e7pOQSMTNwW+B9q6JnNsLd9nXZeZP3g70T+3I/kD5nOBwbYHj8/ig7WQyYGMM4OuZ3/9UJqzv9OPWKToVKOBAEbdebZDZknm5iPxUfbZZsOLI7j0+3k8ww0zqjTkcZ3/ak1EI1VkKvSxg5AenoEGaI3xMAlI3GH3Y/xpYd9It3GvOFqRelr2VNc1442L5R+dkg/emp467V8gs47t5HQVU8gsNVS1LF+EpAHu0azVd5g3f95iX3wsbyTmiP/cPP2oFvtxUUxvGFXiqY3q67Ks2nnKgO4OtL2dC7o6egQGM3PnX5GZl9kSh46BFiwc/mA9OWDiZnR1g4Y/eDFxAs2vIlyXmKOyxWGSbBex4WvCTKuiy8ozdE6xcLt46m+cbrq2KVo5DwH1tOITu5grXCpUynYeA6mNFGp6n/snlExI4PpXl8+g+TiQigndxPycGjSyLe+ZedJhX/TIA7YaOcUswC2LUd1d4MYyI3tmbSWCthstqbjMHpchvGaJiVuJx/fOylbenBb0diTUk9+XNmkJB80KdUAeoP9c81K+9Sz667UYlXXkVrsO2eHTB3iD/UChvfv2m+P9t9Fa6ra/3B4tysQxfovQUXz+n9V+PFf&lt;/diagram&gt;&lt;/mxfile&gt;&quot;}"></div>
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script><!--kg-card-end: html--><p>These will combine into an 8 x 8 board of black and white semi-translucent. The antenna will be designed as a part of the PCB, which might be a bit challenging.</p><!--kg-card-begin: html--><div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2021-08-04T14:03:41.067Z\&quot; agent=\&quot;5.0 (X11)\&quot; etag=\&quot;wdMbM_vo-T30fxvdS9S5\&quot; version=\&quot;14.9.3\&quot; type=\&quot;device\&quot;&gt;&lt;diagram id=\&quot;BCgg6EdzlpTM94P7UeCD\&quot; name=\&quot;Page-1\&quot;&gt;5Zptc6IwEMc/jS+94UEefFm1vetMb+6mzs29vElhBeYC8WKstp/+EklAwCq2KmDrTJVNssBv959sxJ45jtdfKZqH34kPuGdo/rpnTnqGoWvugL8Jy0tqsRw7NQQ08mWn3DCNXkGNlNZl5MOi0JERglk0Lxo9kiTgsYINUUpWxW4zgotnnaMAKoaph3DV+jvyWZhaXUvL7d8gCkJ1Zl2TLTFSnaVhESKfrLZM5m3PHFNCWPopXo8BC3iKSzru7o3W7MIoJKzOAHCHv+g/5+7HL3twv548B0nwp2+lXp4RXsoblhfLXhQBSpaJD8KJ1jNHqzBiMJ0jT7SueMy5LWQx5kc6/ziLMB4TTOhmrAm6b4HD7QtGyV/Yahnajols3iIvACiD9Zt3pme8eKIBiYHRF95FDrAlYZliCvgqj5cjTeFWqJQNyQwJMr85RP5BcjyCqX0NTA2zXVCda4BaSlTdbhiqew1Qy5naONXhYarcC1/A4GiiE128TsNNL2WjVcWm78CmnwubbnSEm2O1i5vZEW5DvV3cBh3hVl41hk2Dq1E0tgJcSajNg6tRGbYCXEmpjYNTxec+cAGvVAQiShhiEUm4tT/UqqBmm799oORWEj0p19qxALO5TQHcUT0P9EtmXo3yuXbmHSJ8XCruCfieKbGI125Y1zXq6A7TbRjuKcvp1sHNFtPGpla9W1Or07KZVeHqTHoeKjZbNbMap9zbtI9uw3BPuQFqHdzmZ9Y626TEvxEPKfhRQhIoIk17g195QHFwrty6ZWvHLSsbBcxj9lx0v4uDPMNPEvETZ8BL37u5JZALsqQeyDE5y6qbA34YogGwip9NTLJ7/kCYqpuyx7t7/qZNEEPiOhKf/3+4nWzWL4yXcSKCCFg8bqoElEfrAT0BLoYS4SgQ0vB45IArYiTyP/IQvpENceT7wseIwiJ6leujkNFc3PeGhDXqWZOPLq57MvVNYWlfLNcshMg4Sf70HWeXV+WAzGYLOE/I69TrXVamUVRUdny0NA85Orc2q7X/p9Om24w2bbcZbarF4Gq1Wd7AvFOaJTfZo8ULKdOsbhtTFT7ysBjatDEFbtWhmzL09Io092/wz6ZIo+C0r05yAUnW2eJ2WZJG+fvud2qy7Ofioqzulj+NKI2rESU/zH8UlnbPf1pn3v4H&lt;/diagram&gt;&lt;/mxfile&gt;&quot;}"></div>
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script><!--kg-card-end: html--><p>I was thinking of using the following <a href="https://www.digikey.com.au/product-detail/en/microchip-technology/MIC2860-2PYC6-TR/576-3897-1-ND/2657512">LED Driver</a> and <a href="https://www.digikey.com.au/product-detail/en/nxp-usa-inc/HTRC11001T-02EE-11/568-2206-5-ND/892933">RFID Tag Reader</a>. Unfortunately, this does seem to be pretty costly with up to $10 dollars per <em>&quot;chess tile&quot;</em>.</p>]]></content:encoded></item><item><title><![CDATA[USB Explorations - First STM32 Prototype]]></title><description><![CDATA[<p>Over the previous weekend, I finally got around to designing the first STM32 board that would allow me to play around with USB, and practice PCB design. I tried to make the design simple whilst testing a few features </p><ul><li>Single Wire Debug Interface</li><li>Basic <strong>USB</strong> communications</li><li><strong>UART</strong> Communication with LED</li></ul>]]></description><link>https://thoughts.andreygrant.com/usb-explorations-first-stm32-prototype/</link><guid isPermaLink="false">6108e13c39b34e1f59f140ff</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Andrey Grant]]></dc:creator><pubDate>Tue, 03 Aug 2021 06:54:12 GMT</pubDate><media:content url="https://thoughts.andreygrant.com/content/images/2021/08/index4.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://thoughts.andreygrant.com/content/images/2021/08/index4.jpeg" alt="USB Explorations - First STM32 Prototype"><p>Over the previous weekend, I finally got around to designing the first STM32 board that would allow me to play around with USB, and practice PCB design. I tried to make the design simple whilst testing a few features </p><ul><li>Single Wire Debug Interface</li><li>Basic <strong>USB</strong> communications</li><li><strong>UART</strong> Communication with LED Indicators</li><li>External crystal oscillator (<strong>HSI</strong>)</li><li>General Purpose IO</li></ul><p>I planned the board to talk to <strong>STM32MP157F-DK2, </strong>which is a Raspberry Pi-like single-board computer that would change the LED output on my board. It would look something like this:</p><!--kg-card-begin: html--><div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2021-08-03T06:36:03.837Z\&quot; agent=\&quot;5.0 (X11)\&quot; etag=\&quot;wOIa1VwyGjeNK6wBcYpC\&quot; version=\&quot;14.6.13\&quot; type=\&quot;device\&quot;&gt;&lt;diagram id=\&quot;ZuH1oveNJQ2TBsLAyARl\&quot; name=\&quot;Page-1\&quot;&gt;5Vjfc6IwEP5rfOwNEED6qNZ6N9NOO2Nv7l4jWSDXQJgQqvavv0TCL7FOvbH6cC9ivuwu2d1vP9ARmqWbhcB58sgJsJFjkc0I3Y0cx/Y8S100sq2QwHYrIBaUGKMWWNJ3MKDxi0tKoOgZSs6ZpHkfDHmWQSh7GBaCr/tmEWf9u+Y4hgGwDDEbor8okYnJok5L49+Bxkl9Z9syOymujQ1QJJjwdQdC8xGaCc5l9S3dzIDp4tV1qfzuP9htDiYgk59xgMViEQTkBt2MX6a/3fvXSTa9QeZsclsnDETlb5ZcyITHPMNs3qJTwcuMgI5qqVVr88B5rkBbgX9Ayq1pJi4lV1AiU2Z2q3vqG32Yit0USDELeApSbJWJAIYlfev7YdPiuLFrXJ85VREdq6aj5VUuNRmtfoSClyIE49Qt5SDO+JvnoMC6rT7dXlQb7YWVWMQgB2EnQuBtxyzXBsWx0weHTv/xIfvmdfL/aK++VAeuV53GtNCOcyfwz7TwDbPSNPWFl2FShAIgG3CzZZ6m0TqhEpY5DvXuWslPn2URZWzGGRc7X0QwBFGo8EIK/gqdHT8MYBU1vHwDIWFzKjONQ936pobVct1Kh11LR9KRjfEeY7pU7jTg9Pp615jvQhFeTrT4KiBkuChoWMP3lJ0qA+r4u7k8kqZzEblw/M8N9rmGwxkMx5JmseqRY005FkRdZzzNSwniyKhYp4+KBwFxD41K4KyQ759pVJSGHtbN7rQg74LT4g4K/vzjaVBalbLs1w8zGmea6yp11Qs01YWh6iViYjZSSkg1W1DQd7zahdKNMZqv4nrTkXenY6lxKqrJsgctyHgG56m+eoTtKdWw+O4BpXK+qvbB1ZXKFLcrU9Z5Zcq/iEyh28vKlD+UqZdHpKGfy2mrVWcUqCiKnPDgs5z4K9/7KoFq9P9qAjUelHpX4v9BoBrluZZA3Q5q/zBXn9ZTKdUj+Ai/T39XjYIQDvN7FXiuZ52J3/131UY2vuBlVS3bH7qV7rR/F6D5Xw==&lt;/diagram&gt;&lt;/mxfile&gt;&quot;}"></div>
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script><!--kg-card-end: html--><p>Yesterday, after hours of suffering, the board got soldered. Not all of the components are present, the first prototype works!</p><figure class="kg-card kg-image-card"><img src="https://thoughts.andreygrant.com/content/images/2021/08/index2.jpeg" class="kg-image" alt="USB Explorations - First STM32 Prototype" loading="lazy" width="960" height="1280" srcset="https://thoughts.andreygrant.com/content/images/size/w600/2021/08/index2.jpeg 600w, https://thoughts.andreygrant.com/content/images/2021/08/index2.jpeg 960w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://thoughts.andreygrant.com/content/images/2021/08/index3.jpeg" class="kg-image" alt="USB Explorations - First STM32 Prototype" loading="lazy" width="1280" height="960" srcset="https://thoughts.andreygrant.com/content/images/size/w600/2021/08/index3.jpeg 600w, https://thoughts.andreygrant.com/content/images/size/w1000/2021/08/index3.jpeg 1000w, https://thoughts.andreygrant.com/content/images/2021/08/index3.jpeg 1280w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://thoughts.andreygrant.com/content/images/2021/08/index1.jpeg" class="kg-image" alt="USB Explorations - First STM32 Prototype" loading="lazy" width="1280" height="960" srcset="https://thoughts.andreygrant.com/content/images/size/w600/2021/08/index1.jpeg 600w, https://thoughts.andreygrant.com/content/images/size/w1000/2021/08/index1.jpeg 1000w, https://thoughts.andreygrant.com/content/images/2021/08/index1.jpeg 1280w" sizes="(min-width: 720px) 720px"></figure><p><strong>The good</strong>: the board works! I programmed it using another STM32 microcontroller. Everything draws an appropriate amount of current. The LED shines well despite being a tiny 0603 component.</p><p><strong>The bad: </strong>the only mistake I made was mislabelling the net during the design process, which failed to connect the output of the regulator to the rest of the power net. Had to hack on a wire to connect fix that. </p><p><strong>The ugly: </strong>soldering 0603 components is often challenging and does not result in the best visual experience. Going further, it may be a good idea to switch some 0603s to 0805s if space is not an issue. Also, the footprint for the pins was not chosen correctly and was not spaced correctly. Ended up with uneven pin height. It works but it ain&apos;t pretty. </p>]]></content:encoded></item></channel></rss>