<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: panvicka</title>
    <description>The latest articles on DEV Community by panvicka (@panvicka).</description>
    <link>https://dev.to/panvicka</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F496023%2F7fba5c6e-faf8-43cc-9ad9-4a056c73dd5c.jpeg</url>
      <title>DEV Community: panvicka</title>
      <link>https://dev.to/panvicka</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/panvicka"/>
    <language>en</language>
    <item>
      <title>Part 1 - Total rookie mistake &amp; few hours 'till the deadline</title>
      <dc:creator>panvicka</dc:creator>
      <pubDate>Sat, 30 Jan 2021 17:58:29 +0000</pubDate>
      <link>https://dev.to/panvicka/part-1-total-rookie-mistake-few-hours-till-the-deadline-5hm5</link>
      <guid>https://dev.to/panvicka/part-1-total-rookie-mistake-few-hours-till-the-deadline-5hm5</guid>
      <description>&lt;h3&gt;
  
  
  &lt;em&gt;Series info&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;I have been working as an embedded engineer since 2016. I started with very little knowledge but thanks to Google and the internet community I was able to complete several projects that are being used daily by thousands of people. Behind every success, there are usually some failures and in my case, well, I did mess up a lot of stuff! It is time to bring the past mistakes back to life and share them! I would like to make people feel less self-conscious about their own mistakes, potentially make people laugh, and help beginners to learn (how not to do stuff). Also, English is not my mother tongue so bear with me.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Disclaimer: Some details may or may not be changed as some of the projects and/or information may or may not be confidential.&lt;/p&gt;

&lt;h1&gt;
  
  
  What happened?
&lt;/h1&gt;

&lt;p&gt;So we were working on this quite important project. The goal was to build a prototype for a trade show. That means NO delays allowed. And we were on the roll! The mechanical construction was ready to go, my PCB and program as well, marketing was doing good... We had time to spare! It was actually getting quite suspicious...&lt;/p&gt;

&lt;p&gt;And then it came. Due to last minutes changes that were not discussed with the rest of the team, my PCB did not fit inside the enclosure. So on Monday I have got a new task - deliver a PCB that will fit and work until Friday 1 pm. Little did I know, the whole time there would be a group of people breathing on my neck and constantly asking if I am done already.&lt;/p&gt;

&lt;h2&gt;
  
  
  Re-design
&lt;/h2&gt;

&lt;p&gt;It was ca. 15x10 cm (6x4inch) 2-layer PCB with STM32F0 in 32-pin package and bunch of SMD 0603 components + several terminal blocks, AC/DC supply and large joystick placed in the middle. I had to resize it, move the joystick and mounting holes to a new position (I had to move a lof stuff around). I managed to do just that in about 9 hours and I ordered it express on the same day (3 days shipping - you can't really get it faster where I live).&lt;/p&gt;

&lt;h2&gt;
  
  
  Assembly + testing
&lt;/h2&gt;

&lt;p&gt;It arrived on Thursday after lunch. Luckily I had all parts needed and I had enough time to adjust the SW (I had to move some peripherals like I2C on the MCU). It took me 2 hours (I am really good at speed soldering) to assemble it and I tested all functions. Well, almost all. I skipped &lt;strong&gt;one&lt;/strong&gt; because I was pretty confident about it (it was one of the PCB areas that I barely touched). Also, it would have to be connected to 230 AC. As this project was still in the prototype phase there was no "testing mounting device" and I was not interested in getting shocked that afternoon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terrible discovery
&lt;/h2&gt;

&lt;p&gt;So the PCB was built-in, we started the device and... you guessed it. The &lt;strong&gt;one&lt;/strong&gt; function was not working properly. I checked with my multimeter and instead of any kind of signal, it was connected straight to GND (0.1 Ohm).&lt;/p&gt;

&lt;p&gt;Then I checked the Eagle files and got instant chills down to my spine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5f3_4ayZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bft0psupgslci7te8co8.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5f3_4ayZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bft0psupgslci7te8co8.JPG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is what I have done. A ground via was overlapping with my signal trace. You can actually see the Eagle trying to warn me and of course, the Eagle ERC/DRC check would tell me this right away. I just &lt;em&gt;did not&lt;/em&gt; have time to run it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution?
&lt;/h2&gt;

&lt;p&gt;Unfortunately, I do not have an actual picture of the glorious repair work (if you keep following the series I have some nasty photos up to my sleeve!). I have scratched the solder mask on yellow marked placed and bridged the "problematic area" with thin wire (personally I love &lt;a href="https://www.amazon.com/Colored-Insulation-B-30-1000-8-Wire-Wrapping/dp/B07BLZ333V"&gt;this one&lt;/a&gt;). It worked, it was delivered on time and it did not malfunction during the trade show. But I felt like *** weeks after that. I would accept some "normal" mistake (at this point I have learned how to) but this hit me hard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--auX9aU7k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vsyb8yaqio26cgd31n7a.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--auX9aU7k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vsyb8yaqio26cgd31n7a.JPG" alt="Alt Text"&gt;&lt;/a&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  What lead to this disaster?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I accepted this crazy last-minute change (well I had a choice)&lt;/li&gt;
&lt;li&gt;I did not run the basic checks (run the frigging Eagle checks every time for duck sake!)&lt;/li&gt;
&lt;li&gt;No one checked my work (to be fair, at the time I was the only person taking care of this stuff)&lt;/li&gt;
&lt;li&gt;I did not test all the functionally before handing it over to the production&lt;/li&gt;
&lt;li&gt;I did not accept the mistake for a very long time. I let it hurt my "ego" and make me feel miserable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What have I learned?
&lt;/h2&gt;

&lt;p&gt;It is always the &lt;strong&gt;one&lt;/strong&gt; time.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;one&lt;/strong&gt; time the change in the project was not discussed.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;one&lt;/strong&gt; time I did not run the DRC Eagle check.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;one&lt;/strong&gt; functionality I did not test.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avoid those.&lt;/p&gt;

</description>
      <category>pcb</category>
      <category>eagle</category>
    </item>
    <item>
      <title>My #JavaScriptmas solutions</title>
      <dc:creator>panvicka</dc:creator>
      <pubDate>Tue, 29 Dec 2020 12:35:09 +0000</pubDate>
      <link>https://dev.to/panvicka/my-javascriptmas-solutions-25le</link>
      <guid>https://dev.to/panvicka/my-javascriptmas-solutions-25le</guid>
      <description>&lt;h1&gt;
  
  
  What?!
&lt;/h1&gt;

&lt;p&gt;#JavaScriptmas was an event started by &lt;a href="https://scrimba.com/"&gt;Scrimba&lt;/a&gt;. Every day there was a (rather simple) javascript problem to solve. There were everyday prizes and a (slight) chance of winning 1000$ at the end of the month. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spoiler Alert&lt;/strong&gt; I did not win anything. However, I get a Discord badge for writing this article. &lt;/p&gt;

&lt;h1&gt;
  
  
  Who are you again?
&lt;/h1&gt;

&lt;p&gt;I am learning &lt;strong&gt;all&lt;/strong&gt; the WebDev stuff following the #100DaysOfCode challenge (currently in Round 2). I am already working in tech as a solo Embedded Engineer. Yes, there is already a lot of programming involved (C/C++) in my daily work but no, &lt;strong&gt;it is not the same!&lt;/strong&gt; I may have less trouble with algorithm solving but I am new to the networking stuff, CSS, JS, Databases, APIs... &lt;/p&gt;

&lt;h1&gt;
  
  
  What next?
&lt;/h1&gt;

&lt;p&gt;I feel like this is a good way how to start a small blog. I am going to share (mainly) my knowledge from Embedded Engineering to help people learn new stuff. I would like to "pay" the internet community back for all the free resources for WebDev learning. &lt;/p&gt;

&lt;h1&gt;
  
  
  Links to my solutions
&lt;/h1&gt;

&lt;p&gt;24 - &lt;a href="https://scrimba.com/scrim/co54c4ebcb37c652348d3b877"&gt;https://scrimba.com/scrim/co54c4ebcb37c652348d3b877&lt;/a&gt;&lt;br&gt;
23 - &lt;a href="https://scrimba.com/scrim/co884411f8c641b1e996278f1"&gt;https://scrimba.com/scrim/co884411f8c641b1e996278f1&lt;/a&gt;&lt;br&gt;
22 - &lt;a href="https://scrimba.com/scrim/code34cfe8db74b93745df060"&gt;https://scrimba.com/scrim/code34cfe8db74b93745df060&lt;/a&gt;&lt;br&gt;
21 - &lt;a href="https://scrimba.com/scrim/coe174e2db15654a316b14bd4"&gt;https://scrimba.com/scrim/coe174e2db15654a316b14bd4&lt;/a&gt;&lt;br&gt;
20 - &lt;a href="https://scrimba.com/scrim/co7f540b4b43a5e6d561410d9"&gt;https://scrimba.com/scrim/co7f540b4b43a5e6d561410d9&lt;/a&gt;&lt;br&gt;
19 - &lt;a href="https://scrimba.com/scrim/co3e34b80b7eac33c8aa6594a"&gt;https://scrimba.com/scrim/co3e34b80b7eac33c8aa6594a&lt;/a&gt;&lt;br&gt;
18 - &lt;a href="https://scrimba.com/scrim/co14c44629297e8be3eca925a"&gt;https://scrimba.com/scrim/co14c44629297e8be3eca925a&lt;/a&gt;&lt;br&gt;
17 - &lt;a href="https://scrimba.com/scrim/co5804ea094cc832c74674388"&gt;https://scrimba.com/scrim/co5804ea094cc832c74674388&lt;/a&gt;&lt;br&gt;
16 - &lt;a href="https://scrimba.com/scrim/coecd4f3b90d3decb674f198f"&gt;https://scrimba.com/scrim/coecd4f3b90d3decb674f198f&lt;/a&gt;&lt;br&gt;
15 - &lt;a href="https://scrimba.com/scrim/co64647b6938468d3f4f5fe45"&gt;https://scrimba.com/scrim/co64647b6938468d3f4f5fe45&lt;/a&gt;&lt;br&gt;
14 - &lt;a href="https://scrimba.com/scrim/co6544dcc81ff5d9d336031ee"&gt;https://scrimba.com/scrim/co6544dcc81ff5d9d336031ee&lt;/a&gt;&lt;br&gt;
13 - &lt;a href="https://scrimba.com/scrim/co5ff40769993cc734356f18c"&gt;https://scrimba.com/scrim/co5ff40769993cc734356f18c&lt;/a&gt;&lt;br&gt;
12 - &lt;a href="https://scrimba.com/scrim/cob0e48a2916656863aae342e"&gt;https://scrimba.com/scrim/cob0e48a2916656863aae342e&lt;/a&gt;&lt;br&gt;
11 - &lt;a href="https://scrimba.com/scrim/co5b94f89a56704080786a0a1"&gt;https://scrimba.com/scrim/co5b94f89a56704080786a0a1&lt;/a&gt;&lt;br&gt;
10 - &lt;a href="https://scrimba.com/scrim/co3324478a61b9f689c1da6a7"&gt;https://scrimba.com/scrim/co3324478a61b9f689c1da6a7&lt;/a&gt;&lt;br&gt;
9 - &lt;a href="https://scrimba.com/scrim/co2a64f4282677cb60050ec72"&gt;https://scrimba.com/scrim/co2a64f4282677cb60050ec72&lt;/a&gt;&lt;br&gt;
8 - &lt;a href="https://scrimba.com/scrim/co42341908ab4ce88bbe55ae3"&gt;https://scrimba.com/scrim/co42341908ab4ce88bbe55ae3&lt;/a&gt;&lt;br&gt;
7 - &lt;a href="https://scrimba.com/learn/adventcalendar/note-at-0-16-coaa042c791c859a2174bdd34"&gt;https://scrimba.com/learn/adventcalendar/note-at-0-16-coaa042c791c859a2174bdd34&lt;/a&gt;&lt;br&gt;
6 - &lt;a href="https://scrimba.com/learn/adventcalendar/note-at-0-22-coee049b98fd7511d69787404"&gt;https://scrimba.com/learn/adventcalendar/note-at-0-22-coee049b98fd7511d69787404&lt;/a&gt;&lt;br&gt;
5 - &lt;a href="https://scrimba.com/learn/adventcalendar/note-at-0-43-co6224317823a8872a575f060"&gt;https://scrimba.com/learn/adventcalendar/note-at-0-43-co6224317823a8872a575f060&lt;/a&gt;&lt;br&gt;
4 - &lt;a href="https://scrimba.com/learn/adventcalendar/note-at-0-32-co8554a12b879040911b47278"&gt;https://scrimba.com/learn/adventcalendar/note-at-0-32-co8554a12b879040911b47278&lt;/a&gt;&lt;br&gt;
3 - &lt;a href="https://scrimba.com/learn/adventcalendar/note-at-0-50-cof4a45c09bd11abe85e7015a"&gt;https://scrimba.com/learn/adventcalendar/note-at-0-50-cof4a45c09bd11abe85e7015a&lt;/a&gt;&lt;br&gt;
2 - &lt;a href="https://scrimba.com/learn/adventcalendar/note-at-1-15-co36d4d3ea145065fcf33e589"&gt;https://scrimba.com/learn/adventcalendar/note-at-1-15-co36d4d3ea145065fcf33e589&lt;/a&gt;&lt;br&gt;
1 - &lt;a href="https://scrimba.com/scrim/co75e4352ae2b878bd418fd67"&gt;https://scrimba.com/scrim/co75e4352ae2b878bd418fd67&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
  </channel>
</rss>
