<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Forum - Recent Threads</title><link>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><lastBuildDate>Thu, 22 Jan 2026 01:39:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum" /><item><title>Light o'clock - Preface - OUTATIME</title><link>https://community.element14.com/thread/56603?ContentTypeID=0</link><pubDate>Thu, 22 Jan 2026 01:39:12 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:8ed09972-03d2-4a7d-9908-a8d181ac9e7f</guid><dc:creator>Anthocyanina</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/56603?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56603/light-o-clock---preface---outatime/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Oh, life, you and your ways...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;When I saw the announcement for this challenge, I thought it would be the best opportuity to bring an old project idea to life, and so I wrote my application, and entered the selection process; when I was selected as one of the official applicants, I got really excited and started preparing for it, but I didn&amp;#39;t expect a different challenge to present itself and take over everything!&lt;/p&gt;
&lt;p&gt;Back in 2024 I experienced a sudden vision change, where halos started appearing around lights, even faint ones, and my photophobia, which was already annoying, became much worse. A visit to the doctor resulted in them sending me to the ER and me having an MRI brain scan done (which thankfully came out normal) and then being sent to all the eye exams. For most of 2025, as this was being studied, the exams came out normal, but then, around october I had an electroretinogram done, and that one didn&amp;#39;t look good. With that, and being sent to genetic testing for vision related pathologies, and that some form of cone-rod distrophy became what they were (and still are) looking for, and what i could find about that was just no good, and everything became overwhelming, and working on a project centered around light felt icky at best, knowing i would be working on somehing i could possibly not enjoy, yeah, I removed myself completely from this, and basically put my life on pause while i dealt with all that.&lt;/p&gt;
&lt;p&gt;My vision hasn&amp;#39;t worsened, at least not significantly, since october 2024, and now, seeing things more calmly, and also, good news! genetic test came out negative for anything known related to vision pathologies, I think it&amp;#39;s time to resume this project as well as to take on some others.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So! what is this project going to be about?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have a really old computer keyboard which doesn&amp;#39;t have backlit keys, so keyboarding in the dark is a bit cumbersome, especially when i need to use characters which aren&amp;#39;t in my daily repertoire so they&amp;#39;re also not in my muscle memory (also, darkness isn&amp;#39;t great for dealing with typos), so I wanted to make a keyboard light. Another minor inconvenience I come across often is not having a visible clock all the time, and when I&amp;#39;m playing a full screen game, and for some reason I want to quickly know what time it is, alt-tabbing then hovering the cursor at the bottom of the screen to make the task bar come up to see the time isn&amp;#39;t the most convenient thing, so I also wanted to make the keyboard light into a clock.&lt;/p&gt;
&lt;p&gt;My idea is to make a binary clock (trade one minor inconvenience for another, isn&amp;#39;t that the maker way?) with the keyboard light, which at the press of a button (maybe a mouse button so it&amp;#39;s always there?) displays the time, and then goes back to its keyboard light duties after a short period.&lt;/p&gt;
&lt;p&gt;How will it work?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To count to 24 in binary we need at least 5 bits, so that makes the number of light zones easy to figure out: 5. But, that would only allow for hour representation, there would be no granularity, so I thought to represent 5 minute intervals with color, so that needs 12 colors, 12 colors which have to be distinct enough from each other to quickly tell qhich 5 minute interval they are in. Let&amp;#39;s get an idea of how it would work:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s say it&amp;#39;s 17:45, so, 17 in binary is 10001:&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1769045324112v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;and the 45? let&amp;#39;s make it blue for now:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1769045378734v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;This example made me think of even more granularity, to be able to have a resolution of 1 minute by having the hour be solid white, the minute being color, but also blinking, and also using the 5 light areas to represent the minutes within the 12 chunks of 5 minutes that the different colors allow.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s consider 17:47 now:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1769045571281v3.png" /&gt;&lt;/p&gt;
&lt;p&gt;The LSB is on the right, so we have 17 from the white lights, we see a blue light so we know we&amp;#39;re in the 17:45 to 17:49 region, and we see the blue in the third light area, so we know it&amp;#39;s 17:47. But how do we know there isn&amp;#39;t a white light hiding under the blue one? The minute indicator will blink, so it will be on, like above, for one second, and off, like below, for another second:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1769045751313v4.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is reading this clock more complicated than alt-tabbing then hovering over the task bar? maybe. Is it more fun? definitely!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So, with no time left in the challenge&amp;#39;s clock, posting this preamble is a way to motivate myself to continue working on this project, and keep you all updated!&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Finisher Prize for Light Up Your Life Design Challenge</title><link>https://community.element14.com/thread/56589?ContentTypeID=0</link><pubDate>Tue, 13 Jan 2026 22:45:42 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:8a357f6c-be21-47e5-a136-5aeadbc6006a</guid><dc:creator>misaz</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/56589?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56589/finisher-prize-for-light-up-your-life-design-challenge/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello Element14 Community,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Right before leaving to Christmas holidays, I receive my finisher prize for participating in &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/dc/dc/79/light_up_your_life" data-e14adj="t"&gt;Light Up Your Life Design Challenge&lt;/a&gt; sponsored by W&amp;uuml;rth Elektronik. Before digging into reward, let&amp;rsquo;s rewind what I did as part of challenge. I joined as non-sponsored challenger with intention to make device for automated analysis and testing of RGB LED strips. Most likely it was not the coolest contest entry, but I like it. As part of challenge, I dig into interesting topics like fault tolerant LEDs, described various types of interfaces, tried combine multiple types of LEDs on single chain, and so on. After all, I combined all these and made prototype of automated testing tool. For more details, you can read over forum and project posts which I wrote as part of challenge:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56389/misaz-s-wl-icled-experiments-introduction" data-e14adj="t"&gt;Misaz&amp;rsquo;s WL-ICLED experiments: Introduction&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56403/misaz-s-wl-icled-experiments-it-s-soldering-time" data-e14adj="t"&gt;Misaz&amp;rsquo;s WL-ICLED experiments: It&amp;rsquo;s soldering time&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56416/misaz-s-wl-icled-experiments-testing-bi-pin" data-e14adj="t"&gt;Misaz&amp;rsquo;s WL-ICLED experiments: Testing BI pin&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56418/misaz-s-wl-icled-experiments-mysterious-end-frame" data-e14adj="t"&gt;Misaz&amp;rsquo;s WL-ICLED experiments: Mysterious End Frame&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56420/misaz-s-wl-icled-experiments-combining-leds-of-multiple-types" data-e14adj="t"&gt;Misaz&amp;rsquo;s WL-ICLED experiments: Combining LEDs of multiple types&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56425/misaz-s-wl-icled-experiments-counting-leds-on-bus" data-e14adj="t"&gt;Misaz&amp;rsquo;s WL-ICLED experiments: Counting LEDs on bus&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/b/projects/posts/rgb-led-strip-diagnostics-tool" data-e14adj="t"&gt;RGB LED Strip Diagnostics Tool&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;I did not win any of main prize. It was obvious considering very high quality of entries of others (and their fun and cool ideas, compared to my pretty boring helper technical tool). But participation still qualified me for at least finisher prize and this post is about it. Helping hands, magnifier and shrink tubes were offered as finisher prize, but because I all of these already have, I asked Element14 for replacement prize and they did their best to get it. So, instead, I&amp;rsquo;ve got brand new Arduino Uno Q which cost slightly less than originally offered kit.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1jesocrcj0"&gt;&lt;span&gt;Arduino Uno Q (2GB)&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:360px;max-width:640px;" alt="Arduino Uno Q (2GB)" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/01_2D00_arduino_2D00_uno_2D00_q.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While you probably heard about it, let&amp;rsquo;s briefly explain it. It is new board from Arduino. On a single board it combines MPU running Linux with MCU running Zephyr. Main processor is no longer MCU clocked in range of MHz, but rather CPU clocked in range of GHz. The idea is not completely new concept, for example Latte Panda do the same on many of their x86 boards for years, but it is still quite unique on the market.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This combination allows completely new applications. While most people speak about AI, Machine Learning, Computer Vision etc, I would like to mention that it also allows many &amp;ldquo;conservative&amp;rdquo; applications like logging to hard drives, much better HMI displays with reasonably well working 3D GPU, full featured networking stack in Linux and many other while still somehow remaining most properties of Arduino.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But none of these was actually my motivation for getting it. My motivation was mainly opportunity to dive into Qualcomm platform. While the platform is very closed source similarly to Broadcom on Raspberry Pi, there is huge amount of &amp;ldquo;documentation&amp;rdquo; available online which come from long-term running reverse engineering efforts. Compared to Broadcom chips which originally designed for TV Set Top Boxes and similar, these Qualcomm chip targeted smart phones primarily, and obviously, there was much bigger demand on reverse engineering these. In fact, it is obvious for example from pinout. On pin header near power button there are two signals called Volume+ and Volume-. I think you have idea what device typically has these buttons. Despite acquisition of Arduino by Qualcomm is kind of shady, I think, community will enjoy hacking this device for several next years.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1jesocrcj1"&gt;&lt;span&gt;Power-up and first thought&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;You can use it as &amp;ldquo;normal&amp;rdquo; Arduino by connecting it to PC using USB cable, but this one you can use in Single Board Computer mode and you can use it as a standalone computer. For SBC mode, you need USB-C Hub. It may sound quite weird at the first look, but technically it does not restrict this Arduino to some predefined list of connectors which Arduino think that they should be enough for everybody. Instead, you can use any set of ports you need &amp;ndash; you just buy hub which satisfy your requirements. If you need 2 USB you buy hub with 2 USB, if you need 5 USBs, you buy hub with 5 USBs, etc. While there are many options, for using it &amp;ldquo;as PC&amp;rdquo;, you need at least HDMI for display, PD for powering and at least one USB for mouse/keyboard. Especially, do not forget about powering, otherwise you will likely need to power it through pin headers.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Considering CPU is not flagship and there is quite low of memory, system is surprisingly fast and responsive. It is obviously not as seamless as my i7-9700K desktop, but compared to the older generations of Raspberry Pi with similar processors, it is quite good and I was very surprised. Software is quite optimized as well. It uses decent mix of Arduino modifications with otherwise standard Debian system. You can find modifications on Arduino Github.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While feeling is generally good, it has some limitations, for example, Chromium can very quickly trigger Out of Memory killer. 2GB is not much memory for Chromium. It is quite limiting when searching for documentation, forums, etc directly on device.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1jesocrck2"&gt;&lt;span&gt;First Sketch&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;Considering it is reward for RGB LED Design Challenge organized by W&amp;uuml;rth Elektronik, first electronic part which I connected to this Arduino was RGB LEDs from W&amp;uuml;rth. Little bit challenging was that FastLED library is not ported to new Uno Q yet and fails to compile, but after design challenge I am experienced enough to quickly write my own driver. I did not want to bother with complex Arduino-Zephyr-STM32HAL environment, so I write my own driver for generating properly timed signal using STM32 timer. I controlled it manually controlled by directly writing and reading registers. It makes sketch quite long, bot work nicely.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://youtu.be/KGyR_OAy9og"&gt;https://youtu.be/KGyR_OAy9og&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;lt;Arduino.h&amp;gt;
#include &amp;lt;Arduino_RouterBridge.h&amp;gt;
#include &amp;lt;ArduinoGraphics.h&amp;gt;
#include &amp;lt;Arduino_LED_Matrix.h&amp;gt;

#define LEDS 4
uint32_t buff[LEDS * 3];

ArduinoLEDMatrix matrix;

void setup() {
  Monitor.begin();
  matrix.begin();
  for (int i = 0; i &amp;lt; LEDS * 3; i++) {
    buff[i] = 0x88888888;
  }
  pinMode(5, OUTPUT); // PA11
  float scaleR = 0.07;
  float scaleG = 0.01;
  float scaleB = 0.12;
  setLED(0, (uint8_t)(scaleR * 40), (uint8_t)(scaleG * 101), (uint8_t)(scaleB * 181));
  setLED(1, (uint8_t)(scaleR * 51), (uint8_t)(scaleG * 71), (uint8_t)(scaleB * 186));
  setLED(2, (uint8_t)(scaleR * 115), (uint8_t)(scaleG * 140), (uint8_t)(scaleB * 216));
  setLED(3, (uint8_t)(scaleR * 130), (uint8_t)(scaleG * 90), (uint8_t)(scaleB * 238));
  Monitor.println(&amp;quot;Init done&amp;quot;);
}

void loop() {
  delay(1000);
  showLEDs();

  matrix.beginDraw();
  matrix.stroke(0xFFFFFFFF);
  matrix.textScrollSpeed(50);
  matrix.textFont(Font_5x7);
  matrix.beginText(0, 1, 0xFFFFFF);
  matrix.println(&amp;quot;   Thank you&amp;quot;);
  matrix.endText(SCROLL_LEFT);
  matrix.endDraw();
}

void setLED(int index, uint8_t r, uint8_t g, uint8_t b) {
  if (index &amp;gt;= LEDS) {
    return;
  }

  uint32_t data[3] = { g, r, b };
  for (int i = 0; i &amp;lt; 3; i++) {
    uint32_t bitmask_rd = 0x80;
    uint32_t bitmask_wr = 0x60000000;
    
    while (bitmask_rd) {
      if (data[i] &amp;amp; bitmask_rd) {
        buff[index * 3 + i] |= bitmask_wr;
      } else {
        buff[index * 3 + i] &amp;amp;= ~bitmask_wr;
      }

      bitmask_rd &amp;gt;&amp;gt;= 1;
      bitmask_wr &amp;gt;&amp;gt;= 4;
    }
    
  }
}

void showLEDs() {
  noInterrupts();
  
  RCC-&amp;gt;APB1ENR1 |= (1 &amp;lt;&amp;lt; 4);
  TIM6-&amp;gt;PSC = 14; // 13.3333 MHz
  TIM6-&amp;gt;ARR = 3; // ie. 4 but STM32 need one more clock cycle to update
  TIM6-&amp;gt;CNT = 0;
  TIM6-&amp;gt;CR1 = 1;

  for (int i = 0; i &amp;lt; LEDS * 3; i++) {
    uint32_t bitmask = 0x80000000;
    while (bitmask) {
      uint32_t bssr;
      if (buff[i] &amp;amp; bitmask) {
        bssr = (1 &amp;lt;&amp;lt; 11);
      } else {
        bssr = (1 &amp;lt;&amp;lt; (16 + 11));
      }

      while ((TIM6-&amp;gt;SR &amp;amp; 1) == 0) {}
      TIM6-&amp;gt;SR = 0;
      GPIOA-&amp;gt;BSRR = bssr;

      bitmask &amp;gt;&amp;gt;= 1;
    }
  }
  
  TIM6-&amp;gt;CR1 = 0;
  interrupts();
}
&lt;/pre&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1jesocrck3"&gt;&lt;span&gt;Bonus: USB Type-C Hub Disassembly&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;I bought cheapest USB Type-C hub which satisfy my requirements: PD, 1xHDMI, 1xUSB 3.0, &amp;gt;=2xUSB 2.0. There is quite a lot of hubs with these parameters, so I chose one which supports 4K@60Hz display output on HDMI, and it was surprisingly one of the cheapest while there are many more expensive supporting only 30Hz display at 4K resolution. (I am in Czech Republic, in your country, offering likely differs)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/02_2D00_hub_2D00_outer.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But buying cheapest sometimes is not the best idea. While hub satisfy everything I need, it broke when plugging HDMI cable for first time. Mechanical design is not good. I basically pushed cable into it, but I pushed whole PCB including USB cable from the back side of case. While it is easy to fix, I took that opportunity, pulled it out completely first and took a look to PCB before fixing it:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/03_2D00_hub_2D00_pcb_2D00_top.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/04_2D00_hub_2D00_pcb_2D00_bot.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It is quite smart design, I thought there would be single SOC which will handle everything, but this has several chips for various purpose. After observing differential pairs, I think it is connected in this way:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/05_2D00_hub_2D00_block_2D00_diag.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Such diagram nicely shows possible bottlenecks of the devices but unluckily nowadays sellers typically show beautiful photos and visualization instead of technical description. I like that important signals and paths (USB 3.0) and PD (claimed as &amp;ldquo;up to 100W&amp;rdquo;) are almost direct paths and there are no possibly bugy or limiting chips on their paths. While I like it from electronics design point of view, mechanically it is disaster.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1jesocrck4"&gt;&lt;span&gt;Closing&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;At the end I would like to say thank you to W&amp;uuml;rth Elektronik for sponsoring challenge and Element14 for organising it. I would like to thank all who spend time by reading contest forum posts. For me it was nice opportunity to test various W&amp;uuml;rth LEDs and play with them. They were on my wish list for long time and this challenge was perfect opportunity to buy them and play with them.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Finally, I would like to mention that if you are interested in getting free Arduino Uno Q which I briefly described in this article, there is still &lt;a href="https://community.element14.com/products/roadtest/rt/roadtests/706/test_out_arduinos_uno_q_-_the_new_single-board_computer" data-e14adj="t"&gt;open RoadTest&lt;/a&gt; (at the time of writing this post) where you can get one for free. If you join and get selected, you get one free Arduino Uno Q for review.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Runners-up price for Light Up Your Life arrived</title><link>https://community.element14.com/thread/56509?ContentTypeID=0</link><pubDate>Thu, 11 Dec 2025 08:34:50 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5b160b2a-4338-43a0-a20c-225a3ea159a6</guid><dc:creator>embeddedguy</dc:creator><slash:comments>15</slash:comments><comments>https://community.element14.com/thread/56509?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56509/runners-up-price-for-light-up-your-life-arrived/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am happy to share that today morning I received the parcel with Element14 stickers, and I realized that it is the runners up price for the Light Up Your Life design challenge.&lt;/p&gt;
&lt;p&gt;It was indeed a real surprise to me as there was no tracking or idea that it is going to arrive this soon. I am happy that it arrived before holidays are going to begin so that I can use it for my holiday and post full reviews.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;But here is first glimpse. Glad to share as I am the first one to receive it as it seems.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1765441696045.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1765441696025.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1765441695968.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1765441730624.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RGB MATRIX 3D printing parts arrive</title><link>https://community.element14.com/thread/56486?ContentTypeID=0</link><pubDate>Mon, 01 Dec 2025 14:23:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d9dd0ee6-f745-4a86-94eb-2be75d22688c</guid><dc:creator>embeddedguy</dc:creator><slash:comments>4</slash:comments><comments>https://community.element14.com/thread/56486?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56486/rgb-matrix-3d-printing-parts-arrive/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;It was a quite interesting to take part in Light Up Your Life challenge and now the deadline for project submission is over I am still doing something that I did not have time to do during the challenge.&lt;/p&gt;
&lt;p&gt;First thing I thought that I am really missing an enclosure for the device. So, I have created a 3D printing object and sent it to robu.in.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For the design I used open source tinkercad.io.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Today, I received the 3D printed enclosure. Here are some photos.&lt;/p&gt;
&lt;p&gt;I am still waiting for the missing LEDs to arrive and thanks to Arvind SA for sending me these LEDs.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;{gallery}My Gallery Title&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1764598307167.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;IMAGE TITLE:&amp;nbsp;3D enclosure with transparent top&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1764598307153.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1764598307093.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;IMAGE TITLE: THEN IMAGE DESCRIPTION&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1764598307138.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;IMAGE TITLE: THEN IMAGE DESCRIPTION&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1764598307125.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;IMAGE TITLE: THEN IMAGE DESCRIPTION&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1764598307111.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;IMAGE TITLE: THEN IMAGE DESCRIPTION&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;script&gt;window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadGallery(window.document);}, true );&lt;/script&gt;</description></item><item><title>Couldn't continue with my project due to health issues</title><link>https://community.element14.com/thread/56453?ContentTypeID=0</link><pubDate>Wed, 19 Nov 2025 11:05:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fe3cc4cd-2e68-4ef5-a85b-ddd1fa553096</guid><dc:creator>sunnyiut</dc:creator><slash:comments>7</slash:comments><comments>https://community.element14.com/thread/56453?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56453/couldn-t-continue-with-my-project-due-to-health-issues/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello everyone,&lt;/p&gt;
&lt;p&gt;I am sorry to inform you all that I have been suffering from sciatica pain for the last one month. It was due to a disc bulge at lower back. I was in complete bed rest for three weeks, after that I started physiotherapy in limited manner. Unfortunately I developed dropped foot condition which is a neurological deficit and surgery is the only option. I was supposed to have the surgery after 21st November. However, observing my improvement (a very little though) doctor suggested to wait for a couple of weeks to decide whether I need to go for surgery or not. Therefore, I was totally out of the design challenge.&lt;/p&gt;
&lt;p&gt;I am sorry. However, I wish you would consider that and I would love to carry on my project again once I get better. Though I couldn&amp;#39;t follow others&amp;#39; projects, I would like to congratulate everyone for participating here. Please pray for me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AuraAlert - Part 6 - Improvement Discussion (Post Deadline)</title><link>https://community.element14.com/thread/56449?ContentTypeID=0</link><pubDate>Wed, 19 Nov 2025 04:07:22 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3f414722-bc4d-4e66-9d73-a2b95e04b8de</guid><dc:creator>arvindsa</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/56449?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56449/auraalert---part-6---improvement-discussion-post-deadline/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hey, I wanted to share couple of more information regarding my project. I am posting this post the deadline FYI.&lt;/p&gt;
&lt;h1 id="mcetoc_1jad3eu9q0"&gt;Fixing the Boost Converter Noise&lt;/h1&gt;
&lt;p&gt;In my &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56411/auraalert---part-4---led-control-test-pcb-design-and-analysis" data-e14adj="t"&gt;Part 4 - Post&lt;/a&gt;&amp;nbsp;I mentioned that i made a mistake while laying out the PCB and i did not go as per the TI&amp;#39;s Recommended Guidelines due to which the following issues happened&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The Power supply was noisy with a Vpp of 320mV&amp;nbsp;&lt;/li&gt;
&lt;li&gt;There was a audible hum, an irritating one emanating&amp;nbsp; from the circuit&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So in my Final PCB i corrected it&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the before&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:720px;max-width:1280px;" alt="image" src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/04_2D00_04_2D00_mistakeinboost.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;This is the after&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/06_2D00_02.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jad3rmf62"&gt;You should be able to note&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Only Ground has planes both on Top and bottom stitched by Vias. And it is PWR GND Net not The regular GND&lt;/li&gt;
&lt;li&gt;I did add a Low ESR Electrolytic capacitor&lt;/li&gt;
&lt;li&gt;No Pours under inductor and switching element&lt;/li&gt;
&lt;li&gt;PWR GND, AGND (For feedback Resistors) and GND are joined at a single Star Point. Star point is a single point where the PGND and GND is connected. It is achieved using NET Tie symbol in KiCAD. This reduces the noise in the main circuit and internet says it keeps the return path of the switching element isolated in the PGND net itself. The Pout of PGND and GND are not joined anywhere. They are two different Nets. (Look around the rectangular silk screen)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The ripples came down to 105mV measured as Vpp (Peak to Peak) without the electrolytic capacitor and 60mV measured as Vpp (Peak to Peak) with the electrolytic capacitor of 680uF. and The audible hum was gone&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1jad431rv3"&gt;Improving the Light Throughput&lt;/h1&gt;
&lt;p&gt;The LED Is projecting the light on to a white surface which i use as a diffuser, but then some percentage of light reflects off the walls of it and makes it back to the PCB where it gets partially absorbed. So i added some reflective coating. That improved the uniformity of the light even more, Sadly it is only visible for the naked eye and my phone is not able to capture the difference&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/WhatsApp-Image-2025_2D00_11_2D00_19-at-09.12.54.jpeg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1jad3ridv1"&gt;Sounds Recording&lt;/h1&gt;
&lt;p&gt;I started recording sound events for Edge impulse Training. I am collecting Washing machine, Pressure Cooker, microwave, fire alarm, door knock, door bell and baby crying. I put it in a share drive and asking Friends and Family to contribute. My Target is 50 per sound. if anyone is interested in contributing do DM me.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763525160527v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;Do Comment, I hope i have not made my posts boring.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RGB Flashlight: Final Project Summary &amp; Future Plans</title><link>https://community.element14.com/thread/56435?ContentTypeID=0</link><pubDate>Sun, 16 Nov 2025 21:57:14 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f6088d57-f80d-439c-af84-681752d57bc3</guid><dc:creator>CADi_Master</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/56435?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56435/rgb-flashlight-final-project-summary-future-plans/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:150%;"&gt;I&amp;#39;d like to wrap up my blog entries for this contest on a hopeful note. While I acknowledge I didn&amp;#39;t do great with soldering the LEDs and that prevented better progress on the project, along the way I&amp;#39;ve learned a lot about how RGB LEDs work and their potential applications. I&amp;#39;m looking forward to catching up on reading about all the other projects! I should have spent more time practicing the soldering instead of assuming my prior experience would get me through it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Thanks to Element 14 and&amp;nbsp;W&amp;uuml;rth Elektronik for providing the components to use. Everything works fine, I just need more soldering practice before I can realistically move much further except on paper. That said, I have some cool ideas on paper for how to move forward with this project :)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;At first I just wanted an RGB flashlight that could do any color (essentially a light box but more portable). But along the way I started wondering about how it might be useful as a colorblindness / color vision deficiency (CVD) assistance device. The RGB LEDs we were sent for the contest are great on their own but I&amp;#39;ve been wondering if combining them with a few other elements might enable some degree of improved color discernment for users with CVD. In short, this would sort of be like a light bulb version of those Enchroma glasses (see here:&amp;nbsp;&lt;a id="" href="https://enchroma.com/pages/how-enchroma-glasses-work" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://enchroma.com/pages/how-enchroma-glasses-work&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763329810780v1.png"  /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;^ Visible light spectrum with square wave valleys at problematic CVD wavelengths (from Enchroma glasses website)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I&amp;#39;d like to try combining a set of 6 or 7 narrow-band LEDs with various subtractive elements such as gel filters or painted tubes that absorb problematic wavelengths. In theory this could produce output light that has more peaks &amp;amp; valleys of brightness than normal RGB light. While this would sacrifice some color rendering index (CRI), it would have more internal brightness contrast between some colors and their immediate neighbors. The output light spectrum could sort of resemble a comb with many peaks &amp;amp; valleys instead of only 3 from standard RGB. If the LEDs and subtractive elements are carefully chosen and controllable through physical design and software via the Arduino, it could be a handy lamp / work light that can dynamically swap between lighting profiles to improve color discernment for various types of CVD as needed, such as for those with red-green colorblindness vs. yellow-blue.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;To be clear, this design would not in any way enable colorblind users to see new colors, but it (theoretically) should create enough brightness contrast changes in whatever wavelengths are desired that some previously indistinguishable colors could go brighter or darker and thus become distinguishable. If this was a work lamp or desk lamp, maybe it could be handy for electronics to see differences in resistor colors better. Or it might have some artistic applications. Who knows!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;That&amp;#39;s the direction I want to take this project over the coming months. I&amp;#39;ll elaborate on theory of how it will work in later posts. Not sure whether to continue posting about this in this forum or somewhere else after the contest ends, but I&amp;#39;ll figure that out later.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I wouldn&amp;#39;t call my Light Up Your Life project a great success, but it led to a lot of great learning opportunities, some of which I wasn&amp;#39;t expecting at all when the contest started. I&amp;#39;m going to continue learning electronics and optics design, and see how far I can take this project. I have no idea how well it&amp;#39;ll actually work, but I&amp;#39;m looking forward to finding out.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Thanks for reading, and thanks again to E14 and&amp;nbsp;W&amp;uuml;rth for supporting contests like these!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&amp;nbsp;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763330195047v2.jpeg"  /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RGB Flashlight #03: Soldering Woes</title><link>https://community.element14.com/thread/56434?ContentTypeID=0</link><pubDate>Sun, 16 Nov 2025 20:56:30 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:98a70cf2-ded9-4777-8e8f-0e4ce940139b</guid><dc:creator>CADi_Master</dc:creator><slash:comments>4</slash:comments><comments>https://community.element14.com/thread/56434?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56434/rgb-flashlight-03-soldering-woes/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:150%;"&gt;Soldering... didn&amp;#39;t go great for me. It&amp;#39;s not the fault of the LEDs, I&amp;#39;m just not very experienced with components this small. I&amp;#39;ll keep trying past the scope of this contest but for now I&amp;#39;ll invite you to mock my attempts! Boxes of rotten tomatoes will be distributed shortly.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I&amp;#39;d like to thank Gough Lui for sharing an excellent video on soldering techniques for this kit! Check it out if you haven&amp;#39;t already:&amp;nbsp;&lt;a href="https://www.youtube.com/watch?v=33HIijhpB6g&amp;amp;list=PLrY3-lLxuZfWh8_cyZcIyZ4jRthiEd6oG&amp;amp;index=14" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://www.youtube.com/watch?v=33HIijhpB6g&amp;amp;list=PLrY3-lLxuZfWh8_cyZcIyZ4jRthiEd6oG&amp;amp;index=14&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;My lack of working results is my own fault rather than not having a good example to follow. Just had a hard time getting the PCBs to stay steady enough as I was working. I think I really need a new work clamp to use. Looking forward to using the magnifying glass thing from the finisher prize.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img style="max-height:360px;max-width:640px;" alt="Weller brand solder" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1000024759.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Trusty Weller brand solder 0.5mm worked the best overall. 0.3mm was too finicky for me. Not that it made much difference in the final results though.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Sloppy soldering job" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/rn_5F00_image_5F00_picker_5F00_lib_5F00_temp_5F00_a994c15e_2D00_5d3c_2D00_4fcd_2D00_a5c8_2D00_9f8ce38711e9.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;I&amp;#39;ve seen cleaner joints in footage of Chernobyl.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="First batch of soldered LEDs" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251111_5F00_203616691.RAW_2D00_01.COVER.jpg" /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Second batch went better than the first, but not by much.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Shoddy pin soldering" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251111_5F00_203630168.RAW_2D00_01.COVER.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;Forgive me, Element 14, for I have sinned...&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Melted LED" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_235532652.RAW_2D00_01.COVER.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;Here lies LED #&lt;strong&gt;13&lt;/strong&gt;, who rode a cloud of magic smoke across the RGB bridge on 11/02/2025. He was only one PWM cycle away from retirement.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Wired up Arduino" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1000024761.jpg" /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;Tried all the LEDs I managed to get fully soldered up with the Arduino and breadboard, but didn&amp;#39;t get any light output from it. Need to spend more time practicing really. The Arduino Zero works fine with some other sample code so it doesn&amp;#39;t seem to be anything faulty. Either my solder joints aren&amp;#39;t sound, or I&amp;#39;m just frying the LEDs without realizing it. Neither would surprise me. Time will tell, but that&amp;#39;s as far as I could get by today. My final project post will summarize the future direction I&amp;#39;d like to try taking this project before I commit too much time to trying to get the breadboard prototype working. Should be done later today.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;tl;dr I am bad at soldering but want to get better. Happy to hear any advice.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Desk LED Towers - The Demo - RGB for RadiantGoofyBulbs</title><link>https://community.element14.com/thread/56431?ContentTypeID=0</link><pubDate>Sun, 16 Nov 2025 18:35:31 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:7231d8a0-f82b-421c-86c4-8f56c2e1414c</guid><dc:creator>navadeepganeshu</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56431?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56431/desk-led-towers---the-demo---rgb-for-radiantgoofybulbs/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;After builds and iterations for a while now, through this blog, I&amp;#39;d like to display a demo of the project&amp;nbsp;RadiantGoofyBulbs - custom LED bars built to use with displays or generally as ambient lights&amp;nbsp;using Wurth&amp;nbsp;&lt;a href="https://www.we-online.com/components/products/datasheet/1315050930246.pdf" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;1315050930246&lt;/a&gt;&amp;nbsp;and &lt;a href="https://www.we-online.com/components/products/datasheet/1315050930002.pdf" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;1315050930002&lt;/a&gt;&amp;nbsp;parts.&lt;/p&gt;
&lt;p&gt;The setup includes two pairs of LED towers, each built with 12 LEDs of each parts and the control unit with ESP8266 NodeMCU board. The system is powered through 5V/3A USB via a generic wall adapter.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/4bars.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:282px;max-width:610px;"  height="282" src="https://community.element14.com/resized-image/__size/1220x564/__key/communityserver-discussions-components-files/446/still_5F00_towers3.jpg" width="610" /&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1ja6uh1eb0"&gt;Main Project Demonstration Video&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/RGB_5F00_main.mp4"&gt;community.element14.com/.../RGB_5F00_main.mp4&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1ja6uup8f1"&gt;Demonstration by Removing the Diffuser from LED Tube&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/vid_5F00_diffuser.mp4"&gt;community.element14.com/.../vid_5F00_diffuser.mp4&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;List of Blogs&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56244/lights-up-with-blaze---rgb-for-radiantgoofybulbs"&gt;Lights up with blaze - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56372/display-colour-extraction---rgb-for-radiantgoofybulbs"&gt;Display Colour Extraction - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56371/the-project-plan---rgb-for-radiantgoofybulbs"&gt;The Project Plan - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56419/building-custom-led-bar-and-control-unit---rgb-for-radiantgoofybulbs"&gt;Building Custom LED Bar and Control Unit - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56426/build-continues-with-mechanicals-and-integration---rgb-for-radiantgoofybulbs"&gt;Build Continues with Mechanicals and Integration - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The test codes used during the intermediate steps of build are linked here&amp;nbsp;&lt;a id="" href="https://github.com/ngu25/LightUpLife-Element-14" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://github.com/ngu25/LightUpLife-Element-14&lt;/a&gt;. Thank you very much for reading through and following this project in the build journey. Happy to hear your feedback and ideas. Cheers :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RGB Flashlight #02: Arduino integration attempt / misc planning</title><link>https://community.element14.com/thread/56430?ContentTypeID=0</link><pubDate>Sun, 16 Nov 2025 18:32:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d6c8278f-9bc5-462d-9dfb-57e4c50623a6</guid><dc:creator>CADi_Master</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56430?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56430/rgb-flashlight-02-arduino-integration-attempt-misc-planning/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:150%;"&gt;Last time I settled on using&amp;nbsp;W&amp;uuml;rth Elektronik LED #1315050930002 for my prototype flashlight since it had the best balance of easy soldering and brightness output. Unfortunately I still had some trouble getting the soldering down. Overall my progress for this contest was more on paper than on PCB. But thankfully the paper progress led to a cool new project idea, which I&amp;#39;ll describe in my summary post at the end.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;The complexity of my project lies more in the physical design and software control of the LEDs than advanced use cases of the LEDs themselves. If each of the&amp;nbsp;1315050930002 LEDs can output roughly 1 candela of light, there will be limited useful range for this as a flashlight. Thinking about it as more of a desk lamp now. But that&amp;#39;s fine!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I&amp;#39;d like for my light to be able to store specific lighting color profiles to switch between at the press of a button rather than just using dials or something for inexact values.&amp;nbsp;Luckily the LED itself (DIN &amp;rarr; internal controller &amp;rarr; actual colors) does most of the heavy lifting. The challenge is figuring out:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;How should the human user tell the light what to do?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;How can the Arduino interpret those human decisions?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;And what &amp;ldquo;modes&amp;rdquo; make sense for a small handheld RGB flashlight or desk lamp?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Thus began my journey into control architecture.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-components-multipleuploadfilemanager/2981a565_2D00_a384_2D00_40cd_2D00_bf66_2D00_d445ef45b845-497010-complete/pastedimage1763250757892v1.png"  /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt; W&amp;uuml;rth Elektronik LED #1315050930002 is basically a tiny NeoPixel/WS2812-style smart pixel with 4 pins (VDD, VSS, DIN, DOUT).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;1 - VSS: Ground pin, will connect to Arduino Zero pin GND.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;2 - DIN: Data In. Will connect to Pin ~6 on Arduino (PWM).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;3 - VDD: Power supply. +5V pin on Arduino.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;4 - DOUT: Data out. Would go to the next LED in series (I think) but I&amp;#39;m starting with only one LED for now.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Basic circuit diagram" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/Circuit-diagram.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;This is about all I&amp;#39;d need (save for the memory card, power input, and the optional capacitor). My soldering skills are unfortunately not up to par, so I wasn&amp;#39;t able to actually get this working even with sample code from Arduino.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I found in interesting learning about all the different pins on the Arduino, and the differences between PWM and SPI. The Neopixel library by Adafruit has all kinds of great tools built for controlling these LEDs. I wish I had gotten the physical construction down better in time. I&amp;#39;ll keep progressing with this though. I tried running this sample code but didn&amp;#39;t get any output from the LED:&amp;nbsp;&lt;a id="" href="https://github.com/adafruit/Adafruit_NeoPixel/blob/master/examples/simple/simple.ino" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://github.com/adafruit/Adafruit_NeoPixel/blob/master/examples/simple/simple.ino&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Regarding the controls for the device, I&amp;#39;ll need more time to test options. Not sure whether dials are better than buttons for what I need. Ideally I&amp;#39;d also like a way for users to calibrate their profiles to their particular vision needs. More planning needed! I&amp;#39;ve seen plenty of RGB flashlights on the market but they all just let you use a single LED at a time. I want something more robust.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;To any readers: What features would you like in an RGB flashlight or desk lamp?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I&amp;#39;ll document my soldering attempts more in my next post. I shall prepare now for my public shaming.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AuraAlert - Part 5 - Final PCB Design</title><link>https://community.element14.com/thread/56428?ContentTypeID=0</link><pubDate>Sun, 16 Nov 2025 15:28:50 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e41cb6ad-cba7-4070-b8b7-02c08c5146ae</guid><dc:creator>arvindsa</dc:creator><slash:comments>6</slash:comments><comments>https://community.element14.com/thread/56428?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56428/auraalert---part-5---final-pcb-design/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;With things i learnt from my mistakes and experimentation of &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56411/auraalert---part-4---led-control-test-pcb-design-and-analysis" data-e14adj="t"&gt;test pcb documented here&lt;/a&gt;&amp;nbsp;i ventured into designing the 3 pcbs needed to complete the project. I started feeling if i bit more than i could chew, but commitment is a commitment, lets get it done&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6bhvje0"&gt;Tile-able Wall Hex mounted Design&lt;/h1&gt;
&lt;p&gt;This device can be daisy-chained for grabbing attention in large halls or rooms etc. I got the inspiration from Nano Leaf product. The components are exactly as in the test pcb except for the PCB. I decided to put the LEDs on one side and the rest of the components on the other. I wanted to arrange the LED&amp;#39;s in a way to light up the acrylic and diffuser sheet evenly at-least everywhere except the edges. So Math comes to my rescue.&amp;nbsp; Let us say the gap between two LED is &amp;quot;&lt;strong&gt;s&lt;/strong&gt;&amp;quot; and the distance between the LED and the plane where the diffuser sheet will be is &lt;strong&gt;&amp;quot;d&amp;quot;,&amp;nbsp;&lt;/strong&gt;With a FOV of 120degree,&amp;nbsp; a bit of trigonometry will tell me that it should be s=3.46*d. But at 120 degree edge, the intensity is going to be only 50% therefore i should reduce the distance s to make it even. i&amp;#39;ve opted for s=1.15d. This is an empirical formula from experimentation. So I proceeded with s=30mm. I also added 3 Pin connector on each side of the hexagonal PCB so that it can be tiled using wires.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/p2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Based on this i designed a two piece casing. I used white PLA for the casing, and 3mm acrylic sheet with diffusion sheet pasted on top as the front part.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/p5.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6crtu21"&gt;Wall Mounted Halo Design&lt;/h1&gt;
&lt;p&gt;The largest PCB with LED around the edges to create a halo effect turned out to be a challenge to place my wireless components, ESP32-S3 and NRF24. Usually i place it on the edge as far as away from each other, but in this case, the LED&amp;#39;s come in the way, so i had to innovate. Perusing the best practices for wireless modules, i made a cutout and a no-copper zone atleast 20mm around the antenna. The placement almost every component was on the same side. Then i found, i couldnt put the USB port exactly on the bottom. I had only the Through hole version and since the LED was on top, i had to offset the USB-C towards the side. I hope it won&amp;#39;t trigger anyone.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/p6.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;The casing was also extensive for this.I tried to keep it simple but I thought that if the LED&amp;#39;s light is not channeled towards the halo&amp;nbsp; then it is gonna be losing intensity. so, i 3D printed white cylinders which will help bounce back some of the light towards the halo ring. Rest of the case i wanted to be in Black to achieve maximum contrast. The Laser cut acrylic sheet was quite fragile and i had to be extra careful, as I had to work with minimum materials available on hand and i couldn&amp;#39;t to afford (in time) to make extras. I managed to install it without any difficulty and it turned out quite nice and robust once the super glue dried. The buttons took me few iterations to get the smoothness right.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/p7.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:3607px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x7214/__key/communityserver-discussions-components-files/446/p8.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6dh0io2"&gt;Hand Held Device PCB&lt;/h1&gt;
&lt;p&gt;This had to be as small as possible, I thought of a while to use a 4 Layer board board, but decided against it as time was running short. One thing that bugged me is that the Buck booster&amp;#39;s&amp;nbsp;TPS6123 required me to have a large space for the Power Ground and the inductors. Squeezing them as efficiently as possible in the wall mounted devices required at-least 22mmx12mm of space, not to mention that the inductor was quite high, So i dived into element14, to choose the smallest yet cheapest buck booster and i settled on&lt;a href="https://in.element14.com/renesas/isl9113er7z-t/dc-dc-conv-sync-boost-1-8mhz-85deg/dp/3266021?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt; Renesas ISL9113ER7Z-T&lt;/a&gt; which was only half a dollar and with this i was able to get the size down to 8mmx7mm. Soldering this was also a breeze. I also went for &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/p/addpost/WS-TASU%20SMT%20Tact%20Switch%20with%20Boss%20Design%204.7x3.5%20mm%20side%20push" data-e14adj="t"&gt;Wurth&amp;#39;s Side Tactile switch WS-TASU&lt;/a&gt;&amp;nbsp;for the switch. For the NRF24, i did not want to put my own Antenna, again just to save time, so i got myself an &lt;a href="https://robu.in/product/nrf24l01-wireless-module-mini-power-enhancement-2-4g-wireless-transceiver-module/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;SMD version of the NRF24 Module&lt;/a&gt;. I arranged the sideways Wurth&amp;#39;s LED&amp;nbsp;&lt;span&gt;1313210530000 (12 nos) on the bottom layer in a ring fashion&amp;nbsp;1312121320437and the three&amp;nbsp;1312121320437 on top,&amp;nbsp;considering the FOV for as much as uniform lighting as possible. I even opted for&amp;nbsp;TXS0104E&amp;nbsp; instead of&amp;nbsp;TXS0108E to save space. It has only 4 channels instead of 8.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/New-Project.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Unlike the previous devices, low power is one of the thing i was looking for and so it is STM32L051 as the main CPU here along with DRV2605L for haptics control along with a 128x32 pixel monochromatic OLED Panel.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The casing was designed as a 3 part design. One cut from transparent acrylic as a light pipe for the light strip, and rest made from White PLA.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/p9.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6fe0km8"&gt;4th PCB - Hand held device charger&lt;/h1&gt;
&lt;p&gt;Again, to squeeze more space, i opted not to use the USB-C and bought two&amp;nbsp;&lt;a href="https://probots.co.in/2p-magnetic-spring-loaded-pogo-pin-male-female-connector-socket-2-54-mm-pitch-dip.html" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;pin pogo pin connector.&lt;/a&gt;I designed the PCB in such a way that i can use one copy of PCB as desktop dock connected to USB-C and i can use another copy, break it at the neck as a daughter board with the mating pogo pin to be connected to the hand-held device via JST-SHR series connector. You won&amp;#39;t believe it that i had the connectors lying around in some box which i have not touched for around 8 years.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/7.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6eekqu4"&gt;&lt;span&gt;PCB Manufacturing&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;I had very less time to get this manufactured and this is where things got fun deciding whom to go with. My Fav PCB way is in China, i have couple of local manufacturers. I opted for PCBWay mainly because they get it manufactured within 18:00(UTC+7:30) on day 1 if i submit the order by 08:00 on day 0. Then only factor was Fedex and Customs, again something I&amp;#39;ve experienced it well in the past. in Total, 2 days for mfg and 6 for shipping and custom&amp;#39;s I&amp;#39;ve got it in my hand.&amp;nbsp; This time while ordered, i noticed a new option, not sure if was there before, but there is an option where you can opt-in for free upgrade to ENIG Finish. It is not guaranteed but I wish i had it got it.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x720/__key/communityserver-discussions-components-files/446/p10.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6euc2i6"&gt;TXS0108E Issues&lt;/h1&gt;
&lt;p&gt;This I&amp;#39;ve noticed in the Test PCB that twice i popped the magic smoke of&amp;nbsp;TXS0108E. I spent almost half a day and it turned out that the Enable PIN when low keeps the pin in High Impedance state and should be enabled only if the high side VCC power is stabilized&amp;nbsp; if not then it can damage the chip. So for all the three PCB&amp;#39;s i had to connect a microcontroller pin to turn it on/off. In the hand held device, i forgot to attach it to a micro-controller and so I had to adjust it with a jumper wire. Has anyone faced&amp;nbsp;TXS0108E&amp;nbsp; issue?&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6g5vgl9"&gt;Soldering&lt;/h1&gt;
&lt;p&gt;The Soldering of Hex PCB was easy, as this part has the largest LED with the minimum number of pins.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Halo PCB Soldering was hard as it couldn&amp;#39;t be accommodated in any of the PCB holder i or my university had. My decision to have every component one side turned out to be good one after all. When i tried assembling it i realized i forgot to put an hole for the USB-C port. Oh well, fixed it by some flush cutters.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The soldering of hand held device took time as i had to omit all component reference silkscreen to cram it all into a small PCB but it was fun working on such closely spaced components. I felt so happy that i had invested in &lt;a href="https://www.adafruit.com/product/3096" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;these&amp;nbsp; Precision Straight Tweezers - Rhino SW-11 from adafruit in the past&lt;/a&gt;&amp;nbsp;. One thing i have to let you know, it is not immune from bending from dropping as adafruit claims in the videos.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/p11.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:720px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x1440/__key/communityserver-discussions-components-files/446/p12.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://youtu.be/cVwvmbtG7Zg"&gt;https://youtu.be/cVwvmbtG7Zg&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja6epi8v5"&gt;Testing the PCB&amp;#39;s&lt;/h1&gt;
&lt;p&gt;I decided only to test the Microelectronic, Boost converter, Battery charging, LED control along with level translator. Only a video can give proper justice&amp;nbsp; to the result&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/tJC0WC0ZbTI"&gt;https://youtu.be/tJC0WC0ZbTI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now off to the project&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Build Continues with Mechanicals and Integration - RGB for RadiantGoofyBulbs</title><link>https://community.element14.com/thread/56426?ContentTypeID=0</link><pubDate>Sun, 16 Nov 2025 07:21:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:397c7292-29aa-4f2b-a4c3-106da86cf68d</guid><dc:creator>navadeepganeshu</dc:creator><slash:comments>9</slash:comments><comments>https://community.element14.com/thread/56426?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56426/build-continues-with-mechanicals-and-integration---rgb-for-radiantgoofybulbs/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;After testing the LEDs initially and pivoting on the Prismatic tool for display colour extraction and encoding LEDs, the custom LED bar is soldered and tested with the control unit discussed here&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56419/building-custom-led-bar-and-control-unit---rgb-for-radiantgoofybulbs"&gt;Building Custom LED Bar and Control Unit - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;. Now is the time to do final integration by bringing together mechanicals (cutting, filing, spray paints). End of the blog, we&amp;#39;ll see a short demo of how it all work in sync.&lt;/p&gt;
&lt;p&gt;This blog gives a little extra attention to the aesthetics with the objective of&amp;nbsp;creating diffuser bars with good&amp;nbsp;light distribution and mechanical stability.&lt;/p&gt;
&lt;h4&gt;Materials and Tools Used&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Aluminum LED Diffuser Bars (standard off the shelf, cut into custom size)
&lt;ol&gt;
&lt;li&gt;Type 1: 35mm &amp;times; 35mm profile&lt;/li&gt;
&lt;li&gt;Type 2: 25mm &amp;times; 12mm profile&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Light Diffuser Covers&lt;/li&gt;
&lt;li&gt;Black Spray Paint&lt;/li&gt;
&lt;li&gt;MDF Board, cut to pieces of custom size&lt;/li&gt;
&lt;li&gt;JST Connectors and Wires&lt;/li&gt;
&lt;li&gt;Cutting Tools + Sandpaper + Measuring scale&lt;/li&gt;
&lt;li&gt;Standoffs and Screws for Mounting&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Step1: Cutting Bars to required size&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Chopped bars into uniform lengths for the project design&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensured smooth edges using sanding&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Goal: 20cm height for each bar -&amp;nbsp;&lt;/span&gt;4 total bars&lt;span style="font-weight:400;"&gt; (2 of each type)&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/bar1.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/bar2.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step2: Painting the Bars&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bars bought from Amazon came with chrome finish and to match the overall aesthetics, it is spray painted&lt;/li&gt;
&lt;li&gt;Painted matte black for and sleek modern look and reduced unwanted reflections&lt;/li&gt;
&lt;li&gt;Allowed proper drying before next steps&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:171px;max-width:379px;"  height="171" src="https://community.element14.com/resized-image/__size/758x342/__key/communityserver-discussions-components-files/446/bar3.jpg" width="379" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:500px;max-width:379px;"  height="500" src="https://community.element14.com/resized-image/__size/758x1000/__key/communityserver-discussions-components-files/446/bar4.jpg" width="379" /&gt;&lt;/p&gt;
&lt;h4&gt;Step 3: Creating Stands/bottom plates Using MDF&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Designed simple wooden bottom plates&amp;nbsp; to hold smaller pair of bars upright&lt;/li&gt;
&lt;li&gt;Precise spacing to later mount LED strips inside&lt;/li&gt;
&lt;li&gt;Mounted a JST connector on the stand base for easy plug-in to the Control Unit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/bar5.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/bar6.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/bar7_5F00_2.jpg" /&gt;&lt;/p&gt;
&lt;h4&gt;Step 4: Cable Assembly&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Made 2 pairs of wires for powering each LED bar pair&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Total cables created are 4 with 4-pin, 2.54mm JST to JST socket ends&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Clean modular design to connect LED bars to the Control Unit&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;img loading="lazy" alt="image" style="max-height:227px;max-width:504px;"  height="227" src="https://community.element14.com/resized-image/__size/1008x454/__key/communityserver-discussions-components-files/446/tube9.jpg" width="504" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;img loading="lazy" alt="image" style="max-height:226px;max-width:502px;"  height="226" src="https://community.element14.com/resized-image/__size/1004x452/__key/communityserver-discussions-components-files/446/tube10.jpg" width="502" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;7. Final Assembly and Dry Fit Check&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Inserted LED strips (from previous blog) inside diffuser bar channels&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Positioned stands and checked stability and spacing&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Confirmed cable reach and connector fit&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/tube11.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/tube12.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/tube13.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#39;s all about assembly and integration. Here&amp;#39;s a short demo video&amp;nbsp;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/sneekpeek_5F00_full_5F00_rgb.mp4"&gt;community.element14.com/.../sneekpeek_5F00_full_5F00_rgb.mp4&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Misaz’s WL-ICLED experiments: Counting LEDs on bus</title><link>https://community.element14.com/thread/56425?ContentTypeID=0</link><pubDate>Sun, 16 Nov 2025 00:19:03 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a2f67fbd-b609-4e41-8f64-b2450b72cec7</guid><dc:creator>misaz</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56425?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56425/misaz-s-wl-icled-experiments-counting-leds-on-bus/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello. I welcome you to my last experiment before I publish final project. In this forum post I want to explain how you can determine LED strip length without knowing it&amp;rsquo;s length in advance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Idea on this is not my own. I first time read about it here: &lt;a href="https://hackaday.com/2023/08/16/a-nifty-tool-for-counting-neopixels/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;A Nifty Tool For Counting Neopixels&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It works in a way that you measured power consumption of LED strip. You hold most LEDs off except one. Idea is that you enable one LED at a time and test if power consumption grows or not.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:360px;max-width:640px;" alt="Block diagram visualizing principle of counting LEDs on bus" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/01_2D00_led_2D00_counting_2D00_visualization.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For demonstration let&amp;rsquo;s consider 10&lt;sup&gt;th&lt;/sup&gt; LED to be the selected one. You send bright white colour to 10&lt;sup&gt;th&lt;/sup&gt; LED while remain others off. Then you measure power consumption of whole strip and compare it to idle state (all LEDs off). If it grows, it obviously must be caused by 10&lt;sup&gt;th&lt;/sup&gt; LED present in chain and now emitting light with cause increase of power consumption. Now you know that strip is at least 10 LEDs long. If power consumption does not grow, there is no 10&lt;sup&gt;th&lt;/sup&gt; LED on LED and you know your strip is shorter than 10 LEDs. Depending on this observation you try it again with higher or smaller LED index and sooner or later you find boundary when turning LED on increases power consumption while one LED later it does not. This is the length of LED strip.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It is more complex in strip with BI pin where you may hit possibly broken LED in the middle of chain. I will take this into account in final project, but for simplicity, I will omit it this time.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For measuring current, I used MAX40080 Click Board. It is the same Current Sense Amplifier which I used in Experimenting with Current Sense Amplifier back in 2022. If you are interesting for more detail details about it, you can follow &lt;a href="https://community.element14.com/challenges-projects/design-challenges/experimenting-with-current-sense-amplifier/b/challenge-blog/posts/blog-2-introduction-to-max40080" data-e14adj="t"&gt;my long series of blog posts&lt;/a&gt; which I wrote at that time. For my current experiments with LEDs, I ported my library to PSoC6 which I used for all experiments as far. I wrote slightly more robust error recovery, because I was hitting quite a lot of I2C errors.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Firmware is written in a way, that it measures idle current first. Then it compares to it. It is because of compensating quiescent current which flows even when all LEDs are off. I implemented slightly more efficient algorithm than was used in referred article. I do not go linearly over LEDs, instead I go over powers of two which allows me to find end of LED strip in O(log(n)) time instead of O(n). After finding end, using binary search, I find the exact boundary. Binary search is also O(log(n)) complexity.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For experimenting I did not implement super sophisticated output. After strip length is known, I print its value in binary using first LED on &amp;ldquo;input&amp;rdquo; chain. Red means binary zero, Green means binary one. On video bellow, you can see that my first testing strip has 4 LEDs and device blink RRRRRRGRR (R means Red or 0, G means Green or 1) which when converted back to decimal is 4. Then I tried with longer strip of WS2812 (not a W&amp;uuml;rth LEDs this time) and device determined strip as RRRRGRRRR, which is 16 and it is correct. This strip has 16 LEDs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/OKF3Wqe2SiM"&gt;https://youtu.be/OKF3Wqe2SiM&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja50c5m60"&gt;&lt;span&gt;Next steps&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;Now I need to just complete my proposed project: tool for diagnosing strip. I want to implement automatic strip detection, not only length but also types of LEDs. Support strips with broken 48-bit LEDs and identify them. Technically it should be mostly combination of experiments which I already wrote about. I already started working on it and have good progress. Need to finish it and write blog post about it before deadline. Hope you enjoy reading this blog and find method to automatically determine strip length at least somehow interesting. See you in next blog post.&lt;/p&gt;
&lt;p&gt;Link to final project post:&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/b/projects/posts/rgb-led-strip-diagnostics-tool"&gt;RGB LED Strip Diagnostics Tool&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RGB Flashlight #01: The Actual Unboxening (or: Welcome To The Diode-dome)</title><link>https://community.element14.com/thread/56424?ContentTypeID=0</link><pubDate>Sat, 15 Nov 2025 23:14:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:2f18fbda-c169-48ab-bd6e-c28714832323</guid><dc:creator>CADi_Master</dc:creator><slash:comments>3</slash:comments><comments>https://community.element14.com/thread/56424?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56424/rgb-flashlight-01-the-actual-unboxening-or-welcome-to-the-diode-dome/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;strong&gt;~ Intro ~&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;Welcome to another edition of Diode-dome!&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;Which LED will prove their worth (or should that be their&amp;nbsp;W&amp;uuml;rth?) to become Champion of the Breadboard Realm?&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;Six LEDs enter, one LED leaves!&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;img style="max-height:360px;max-width:640px;" alt="Funny rendering of LEDs in an arena like the Thunderdome" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/Arena-01.png" /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;1. Kit review &amp;amp; selection criteria&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Desktop with tools and components" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-components-multipleuploadfilemanager/c4c48132_2D00_d94f_2D00_4054_2D00_964e_2D00_1b2be2d9c896-497010-complete/PXL_5F00_20251111_5F00_022247317.RAW_2D00_01.COVER.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I wanted to spend some time reviewing the contest LEDs and how I chose which one to use for my prototype flashlight. I&amp;#39;m not very experienced with soldering, especially not with very small components like some of these LEDs, so at least for the scope of the contest I had to prioritize how easily I would be able to solder these. All the LEDs provided for the contest are great quality and I&amp;#39;m looking forward to using them on future projects. I&amp;#39;ve been happy with the other provided components as well like the breadboard and power supply and level translator, but they&amp;#39;re also a little more straightforward so I don&amp;#39;t have as much to say about them for the moment. Will talk about the Arduino Zero in another post too.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Here are the criteria I considered for the LEDs:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;Number of pins: An LED with fewer pins should be a bit easier to solder.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;Footprint (mm ^2): A larger footprint gives more spacing between the pins and should be easier to solder.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;5050 PCB compatible: Prefer using these options since they&amp;#39;re intended for breadboards and rapid prototyping.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;Viewing angle: A wider viewing angle (&amp;gt;= 120 degrees) is preferred for my flashlight to get better color uniformity.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;Lens color: Diffused preferred over waterclear for better uniformity.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:150%;"&gt;Luminous intensity (mcd): The brighter the better unless it introduces heat dissipation problems.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I was going to make a quantified decision matrix for this determination, but as you&amp;#39;ll see it became clear which LED is best for my project without going into much further detail.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;2.&amp;nbsp;&lt;strong&gt;W&amp;uuml;rth Elektronik&amp;nbsp;1315050930002&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Photo of LED" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251115_5F00_220140763.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Photo of LED bottom" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251115_5F00_220150014.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" alt="image" style="cursor:zoom-in;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/0385.wurth_2D00_light_2D00_up_2D00_your_2D00_life_2D00_dc_2D00_sp_2D00_01.jpg" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;One of the 5050 PCB-size LEDs, which is a big plus. Also has 4 pins instead of 6, so soldering is a bit easier. Nice and bright output, much more than just a basic indicator LED. Diffuse plastic lens color and viewing angle 120 degrees. All signs point to this being a great option for what I need.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;3.&amp;nbsp;W&amp;uuml;rth Elektronik&amp;nbsp;1313210530000&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_234624597.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_234642857.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/wurth_5F00_2D00_5F00_light_5F00_2D00_5F00_up_5F00_2D00_5F00_your_5F00_2D00_5F00_life_5F00_2D00_5F00_dc_5F00_2D00_5F00_sp_5F00_2D00_5F00_02.jpg" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;I love the physical design of this one with the bubble dome lens. That said, anyone who can solder this correctly on their first try is a wizard and not to be trusted. 4 pins is nice but the footprint is so tiny I just wasn&amp;#39;t able to get this to work without bridging when I tried. Will try again after I&amp;#39;ve had more practice and prototyping time.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;4.&amp;nbsp;W&amp;uuml;rth Elektronik 1312020030000&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_234834713.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_234850469.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763247487578v3.jpeg"  /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;Just simply too small for what I can realistically solder right now. And the brightness level is lower than what I was hoping to use for illumination.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;5.&amp;nbsp;W&amp;uuml;rth Elektronik 1312121320437&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_234421438.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_234435608.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" alt="image" style="cursor:zoom-in;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/7318.wurth_2D00_light_2D00_up_2D00_your_2D00_life_2D00_dc_2D00_sp_2D00_04.jpg" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Surprisingly bright output, but still awfully small footprint and 6 pins instead of 4. Props to&amp;nbsp;W&amp;uuml;rth for getting such good output from such a small component.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;6.&amp;nbsp;W&amp;uuml;rth Elektronik 1315050930246&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_235043411.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_235054044.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" alt="image" style="cursor:zoom-in;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/0550.wurth_2D00_light_2D00_up_2D00_your_2D00_life_2D00_dc_2D00_sp_2D00_05.jpg" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;The only other 5050 PCB-size option. It&amp;#39;s brighter than the first which is great for a flashlight, but also has 6 pins each instead of 4, so soldering would be more difficult. I would say this is a close second place.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;7.&amp;nbsp;W&amp;uuml;rth Elektronik 1311610030140&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_235158510.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="LED on finger with dime for scale" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/PXL_5F00_20251112_5F00_235213920.RAW_2D00_01.COVER.jpg" /&gt;&amp;nbsp;&lt;img loading="lazy" alt="image" style="cursor:zoom-in;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/4572.wurth_2D00_light_2D00_up_2D00_your_2D00_life_2D00_dc_2D00_sp_2D00_06.jpg" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Just too small and dim for what I need for this project, but might be my preferred option for a denser multi-LED bulb later.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;8. Final Selection&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table width="1027" height="193"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="width:150px;"&gt;LED #&lt;/td&gt;
&lt;td style="text-align:left;"&gt;# Pins&lt;/td&gt;
&lt;td style="width:75px;"&gt;
&lt;p&gt;5050 Compatible?&lt;/p&gt;
&lt;/td&gt;
&lt;th&gt;
&lt;p&gt;Footprint (mm^2)&lt;/p&gt;
&lt;/th&gt;
&lt;td style="width:125px;"&gt;
&lt;p&gt;Viewing angle (deg)&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:125px;"&gt;
&lt;p&gt;Lens color&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:125px;"&gt;
&lt;p&gt;Luminous intensity&amp;nbsp; Red (mcd)&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:125px;"&gt;
&lt;p&gt;Luminous intensity Green (mcd)&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:125px;"&gt;
&lt;p&gt;Luminous intensity Blue (mcd)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1315050930002&lt;/strong&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;Diffused&lt;/td&gt;
&lt;td&gt;450&lt;/td&gt;
&lt;td&gt;1300&lt;/td&gt;
&lt;td&gt;260&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1313210530000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;3.2&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;Waterclear&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1312020030000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;Waterclear&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1312121320437&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;4.8&lt;/td&gt;
&lt;td&gt;110&lt;/td&gt;
&lt;td&gt;Diffused&lt;/td&gt;
&lt;td&gt;600&lt;/td&gt;
&lt;td&gt;1000&lt;/td&gt;
&lt;td&gt;240&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1315050930246&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;26.8&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;Waterclear&lt;/td&gt;
&lt;td&gt;800&lt;/td&gt;
&lt;td&gt;1800&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1311610030140&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;2.6&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;Waterclear&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;span style="font-size:inherit;"&gt;After reviewing the LEDs for these criteria, I settled on using the #1315050930002 LED for my project. It&amp;#39;s 5050 PCB-compatible, and has fewer pins than the other similar size one (#1315050930246) so soldering should be a bit easier. Also I like that it has a diffused lens color, which hopefully will give a more uniform output color for my flashlight. It&amp;#39;s less bright than the other 5050 one but I&amp;#39;m willing to accept a lower output for a breadboard-level design.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;span style="font-size:inherit;"&gt;I&amp;#39;m going to try to get my remaining blog posts done before the deadline tomorrow. Been making some fun progress with learning needed for the kit, but life got in the way of productivity. Next posts will include soldering woes, general Arduino noob learning, and physical design options.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;strong&gt;~ Epilogue ~&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;The champion has been crowned! All hail Gladiator #1315050930002!&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Funny AI rendering of the winning LED as a mech warrior" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/ChatGPT-Image-Nov-15_2C00_-2025_2C00_-02_5F00_39_5F00_57-PM.png" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;Note: The funny &amp;#39;LED arena&amp;#39; renderings in this post were made with ChatGPT.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Single LED test (#2)</title><link>https://community.element14.com/thread/56423?ContentTypeID=0</link><pubDate>Sat, 15 Nov 2025 16:31:04 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c9313be4-85cb-47e3-80fc-3e0aba595190</guid><dc:creator>ZephyrusBlaze</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56423?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56423/single-led-test-2/rss?ContentTypeId=0</wfw:commentRss><description>&lt;h1 id="mcetoc_1ja45d0lg0"&gt;Single LED test: color cycle update&lt;/h1&gt;
&lt;p&gt;Hey everyone, I finished the first tiny milestone with the sponsored kit and wanted to share how it went. I tested one 5050 breakout LED to make sure the board and the code talk to each other, and it worked way better than I expected. Feels nice to see a pixel light up after all the waiting.&lt;/p&gt;
&lt;h2 id="mcetoc_1ja45d0lh1"&gt;Quick setup I used&lt;/h2&gt;
&lt;p&gt;I soldered one LED onto a breakout and wired it up to the Arduino Zero. For the test I powered the LED from 5 V, tied grounds together, and used a single data pin from the Zero. The LED cycled through red, green, and blue so I could confirm colors and timing.&lt;/p&gt;
&lt;p&gt;Wiring summary: VDD to 5 V, VSS to GND, DIN to Arduino pin 6, DOUT left unconnected.&lt;/p&gt;
&lt;h2 id="mcetoc_1ja45d0lh2"&gt;Code I used&lt;/h2&gt;
&lt;pre&gt;&lt;code class="language-cpp"&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;

Adafruit_NeoPixel strip(1, 6, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.show();
}

void loop() {
  strip.setPixelColor(0, strip.Color(255,0,0));
  strip.show();
  delay(500);
  strip.setPixelColor(0, strip.Color(0,255,0));
  strip.show();
  delay(500);
  strip.setPixelColor(0, strip.Color(0,0,255));
  strip.show();
  delay(500);
}&lt;/pre&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1ja45d0lh3"&gt;What happened&lt;/h2&gt;
&lt;p&gt;The LED came alive exactly like in the code: red, then green, then blue, repeating. I recorded a short video so you can see the colors and the timing. There was a tiny flicker the first time I powered it because my wiring was loose, but reseating the jumper fixed it. Overall it was a quick win and a good confidence booster.&lt;/p&gt;
&lt;h2 id="mcetoc_1ja45d0lh4"&gt;Video&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/20251114_5F00_163809-1.mp4"&gt;community.element14.com/.../20251114_5F00_163809-1.mp4&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1ja45d0lh5"&gt;Next steps and plans&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Solder a column of 5 breakouts and test chaining DOUT to DIN.&lt;/li&gt;
&lt;li&gt;Compare one clocked LED column against a non-clocked column to see timing differences and more stable updates.&lt;/li&gt;
&lt;li&gt;Work out power distribution for the full 10x5 grid so I do not get brownouts.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I will post another update after the 5-LED chain test with pictures and another clip.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Misaz’s WL-ICLED experiments: Combining LEDs of multiple types</title><link>https://community.element14.com/thread/56420?ContentTypeID=0</link><pubDate>Sat, 15 Nov 2025 13:13:34 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:96ce9d35-78dd-44a2-80c5-f4726870fdd9</guid><dc:creator>misaz</dc:creator><slash:comments>4</slash:comments><comments>https://community.element14.com/thread/56420?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56420/misaz-s-wl-icled-experiments-combining-leds-of-multiple-types/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello. I welcome you to forum post describing my next experiment with W&amp;uuml;rth Elektronik WL-ICLEDs. In this forum post I will look at opportunity to combine 24-bit and 48-bit LEDs on single chain. It can be quite useful if you work on project which has several types of LED like some LED matrix and diagnostic LEDs. In such project it makes sense to make LED matrix from more advanced 48-bit LEDs (W&amp;uuml;rth number 1312121320437) while diagnostics RGB LEDs can be just simple classic 24-bit LEDs (W&amp;uuml;rth number 1315050930002). Normally you would need to control two buses, but if you read datasheets carefully, you notice that timing of the signal is almost the same. Just amount of data transferred per LED and data encoding differs. For classic LEDs (like 1315050930002), the timing requirements for signalling are:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="height:auto;max-width:640px;" alt="Data signal timing of 1315050930002 LEDs" src="https://community.element14.com/resized-image/__size/1280x0/__key/communityserver-discussions-components-files/446/01_2D00_timing_2D00_24bit.png" width="640" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For 48-bit LEDs like 1312121320437, signalling requirements are:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="height:auto;max-width:640px;" alt="Data signal timing of 1312121320437 LEDs" src="https://community.element14.com/resized-image/__size/1280x0/__key/communityserver-discussions-components-files/446/02_2D00_timing_2D00_48bit.png" width="640" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;They use different unit, so it may look confusing at the first look, but actually times are very similar. Actually, it is not possible to find any single value, which satisfies all minimum and maximum when implementing using SPI peripheral. But class 24-bit LEDs are much more tolerant. I stick to following typical values for 48-bit LEDs and slightly violate 24-bit signalling because they are more tolerant. In practice, it works.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I experimentally tested it by simple &amp;ldquo;snake&amp;rdquo;. It works. Let&amp;rsquo;s see:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=tQS0BOPj828"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;On video above, I have two PCBs with different LEDs. Left one is PCB with 48-bit LEDs. Right, one is PCB with 24-bit LEDs. On my PCB for 48-bit LEDs I exposed DOUT signal from last LED. This I interconnected on breadboard to DIN of next PCB. It does not need to be in this order necessarily, but on my older PCB for classic LED I did not expose DOUT from last LED. You can also switch between types of LED as many times as you want. You will just need write them in firmware properly.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Little bit more complicated it is on firmware side. But since I make my own library, it is manageable. If you remember my second forum post &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56416/misaz-s-wl-icled-experiments-testing-bi-pin" data-e14adj="t"&gt;Testing BI pin&lt;/a&gt;, I designed my library in a way that I have following functions:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void LEDS_Init();
void LEDS_SetLed24(size_t index, uint8_t r, uint8_t g, uint8_t b);
void LEDS_SetLed48(size_t index, uint8_t rI, uint16_t rPWM, uint8_t gI, uint16_t gPWM, uint8_t bI, uint16_t bPWM);
void LEDS_Transmit(); &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Important part is to properly maintain indexing and take in account that every 48-bit takes 2 slots in internal buffer. Firmware for moving green on video look as follows:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;int main(void) {
    cy_rslt_t result;

    result = cybsp_init();
    CY_ASSERT(result == CY_RSLT_SUCCESS);

    __enable_irq();
    cyhal_system_delay_ms(100);
    LEDS_Init();

    int led = 0;
    while (1) {
        int iGain = 1;
        LEDS_SetLed48(0, iGain, 0, iGain, 0, iGain, 0);
        LEDS_SetLed48(2, iGain, 0, iGain, 0, iGain, 0);
        LEDS_SetLed48(4, iGain, 0, iGain, 0, iGain, 0);
        LEDS_SetLed48(6, iGain, 0, iGain, 0, iGain, 0);
        LEDS_SetLed48(8, iGain, 0, iGain, 0, iGain, 0);
        LEDS_SetLed48(10, iGain, 0, iGain, 0, iGain, 0);
        LEDS_SetLed24(12, 0, 0, 0);
        LEDS_SetLed24(13, 0, 0, 0);
        LEDS_SetLed24(14, 0, 0, 0);
        LEDS_SetLed24(15, 0, 0, 0);

        if (led &amp;lt; 6) {
            LEDS_SetLed48(led * 2, iGain, 0, iGain, 255, iGain, 0);
        } else {
            LEDS_SetLed24(led + 6, 0, 15, 0);
        }

        LEDS_Transmit();
        cyhal_system_delay_ms(100);

        led++;
        if (led &amp;gt;= 10) {
            led = 0;
        }
    }
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;At the beginning there is some system initialization. Led variable is counter holding index to active LED. But it is physical index, it does not worry about underlaying LED type. In every iteration of infinite loop, I reset all LEDs to zero. First, I reset 48-bit LEDs first because they are first in chain. I need to increment index by two for every LED because 48-bit LEDs occupies 2 slots. Then I reset 24-bit LEDs. In this case index increment by one. After turning all off, I enable one depending on counter value. If the value is less than 6, I enable some of first 48-bit LEDs. Again, I need to index them with taking into account that they occupy two slots, so physical led index is actually multiplied twice. In case of later 24-bit LEDs, I need to index them with offset. They start at position 12, but because there is additional 6 &amp;ldquo;unwanted&amp;rdquo; entries before that, 12 &amp;ndash; 6 is 6 and this is offset which I add to led index counter passed to LEDS_SetLed24. Finally, after buffer is setup, I send the new data to strip suing LEDS_Transmit() and then there is just some delay for defining speed of animation and incrementation of physical led counter.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Note that it works even 2 LEDs in 48-bit part of chain are missing. How is that possible I descibred in previous forum post: &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56416/misaz-s-wl-icled-experiments-testing-bi-pin" data-e14adj="t"&gt;Testing BI pin&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3q7j2o0"&gt;&lt;span&gt;Conclusion&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;That&amp;rsquo;s it. Outcome is that combining different types of LED on single bus is possible and works. It was not that hard, because I already prepared library with keeping this use case in mind. Next time I will look to final piece I need before I move to making final project.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Next forum post in my series:&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56425/misaz-s-wl-icled-experiments-counting-leds-on-bus"&gt;Misaz’s WL-ICLED experiments: Counting LEDs on bus&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Building Custom LED Bar and Control Unit - RGB for RadiantGoofyBulbs</title><link>https://community.element14.com/thread/56419?ContentTypeID=0</link><pubDate>Sat, 15 Nov 2025 12:08:32 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4641d0fc-7c4f-4fcf-8619-06a19d39845c</guid><dc:creator>navadeepganeshu</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56419?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56419/building-custom-led-bar-and-control-unit---rgb-for-radiantgoofybulbs/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;After discussing the project idea here&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56371/the-project-plan---rgb-for-radiantgoofybulbs"&gt;The Project Plan - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;and setting up prismatic tool for display colour extraction &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56372/display-colour-extraction---rgb-for-radiantgoofybulbs"&gt;Display Colour Extraction - RGB for RadiantGoofyBulbs&lt;/a&gt;&amp;nbsp;, where is my hardware!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Through this blog, I will take you through the my steps assembling the LEDs, bringing together in a frame, adding diffusers and finally building the RGB LED towers.&lt;/p&gt;
&lt;h4&gt;Materials and Components Used&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Size 15&amp;times;20 cm perfboard sheet&lt;/li&gt;
&lt;li&gt;SMD 5050 LEDs of P/N&amp;nbsp;&lt;span&gt;1315050930246&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Breakout boards for 5050 LEDs&lt;/li&gt;
&lt;li&gt;NodeMCU ESP board&lt;/li&gt;
&lt;li&gt;Size 2.54mm JST connectors&lt;/li&gt;
&lt;li&gt;Wires, Solder Setup&lt;/li&gt;
&lt;li&gt;Standoffs or Spacers&lt;/li&gt;
&lt;li&gt;Acrylic Sheets&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;The Process&lt;/h4&gt;
&lt;p&gt;Preparing Perf-Board by cutting it from 15cm &amp;times; 20cm&amp;nbsp;dimension&amp;nbsp;to LED strip sized lengths to fit in the enclosure.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/perfboard_5F00_Strips.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;LEDs are now soldered along with 5050 size breakout boards provided and mounted on the perf board.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/LED1.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/LED2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;A much later image, but everything then works :)&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:218px;max-width:484px;"  height="218" src="https://community.element14.com/resized-image/__size/968x436/__key/communityserver-discussions-components-files/446/LED4.jpg" width="484" /&gt;&lt;/p&gt;
&lt;p&gt;Before the above image, some of the LEDs were having issues as they didn&amp;rsquo;t light during testing. Root cause was then found to be the LED pins were actually not making contact on the breakout board with the berg pins soldered. Had to solder bridge in some places - ewww, that&amp;#39;s messy, yes and would kill the OCD of any healthy electrical engineer.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/led5_5F00_bridged.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Completed LED Strips ready to go inside the tube looks like this and after making two of then, doing a polarity and continuity check, clean wire management, they&amp;#39;re good to go.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/LED3.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/LED6.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The mechanical assembly is slightly more messy - we&amp;#39;ll discuss about it in the next blog :)&lt;/p&gt;
&lt;h4&gt;&lt;br /&gt;Building the Control Unit &lt;/h4&gt;
&lt;p&gt;Now to control the RGB LED bar, NodeMCU based unit is brought together. Although the supplied Arduino was used during earlier evaluations, the idea is to keep it simple, bare minimum hardware and the one that has wireless capability. JST connectors are preferred for modular plug-and-play connection with the LED bars. Again, a small perf-board PCB is made for connections power section routing.&lt;/p&gt;
&lt;p&gt;Assembled between two acrylic sheets using standoffs for a neat finish and durability. Please rate my standards out of 10...haha ;)&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/cu_5F00_2.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/cu_5F00_3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/cu_5F00_4.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;In the next blog, we&amp;#39;ll look at the assembled tubes, integration and bring-up of the full system. Until then cheers and do share your comments and ideas!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Misaz’s WL-ICLED experiments: Mysterious End Frame</title><link>https://community.element14.com/thread/56418?ContentTypeID=0</link><pubDate>Sat, 15 Nov 2025 11:45:29 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:7e14c480-e6ef-445a-b82f-0f43916109ab</guid><dc:creator>misaz</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56418?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56418/misaz-s-wl-icled-experiments-mysterious-end-frame/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello everyone. I continue working on next experiment, but I found something which is strange or at least somehow interesting, and decided to dedicate blog to it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I was implementing last protocol. It is two wire protocol supported by 1311610030140 LEDs. This protocol is interesting because, it does not require exact timing. Other LEDs require you to emit LED signal at specific frequency, with some tolerance, but not big tolerance. These LEDs are different. They have separate pin for data and clock and allow transferring data at any speed up to about 33 MHz. It has several benefits. First of all, you can clock your MCU at any speed you want. In case of classic LEDs, you need to adjust clocking system of MCU which typically place constraints of MCU clocking and can limit you if your design contains more timing sensitive parts. Other benefit is that you can get much higher data transfer, which may allow you to make much longer strips while maintaining same refresh frequency.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Such protocol is described in datasheet using following diagram (and table describing requirements for T parameters mentioned in diagram):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:360px;max-width:640px;" alt="Two wire protocol timing" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/01_2D00_datasheet_2D00_timing.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This diagram is somehow confusing. There are several parts more or less confusing. Sadly, W&amp;uuml;rth datasheet has no explanation. It actually contains absolutely no texts except tables, diagrams, graphs, etc. Well, there are two technical sentences as a note on the bottom of pages. The only other texts here are some legal disclaimers. I always expect datasheet to be comprehensive source of truth, but this one slightly weak. The most confusing part to me is &amp;ldquo;End Frame&amp;rdquo; section. It is slightly better explained on later diagram in datasheet including description of somehow similar &amp;ldquo;Start Frame&amp;rdquo;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Two wire protocol overview" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/02_2D00_datasheet_2D00_protocol.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Start frame is easy. But I do not understand purpose of end frame. It says that it should generate one bits and the number of bits is equal to N/2 where N is strip length. First interesting thing is that according to this formula, it can end up with number of bits which is not even divisible by 8. It makes very hard time when implementing driver using SPI peripheral, because very few peripherals support configurable data width with all possible options less than 8. But you can design your software in a way that strip is always multiple of 16, then you can just add bytes to end. Strip do not know how long it really is, so you pick lowest higher multiple of 16. For 100 LEDs, you can make it 112 LED long on software layer. Another interesting part is division by two. There is not written anywhere if it is intended to round down or up, but W&amp;uuml;rth official library says up in comment.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I implemented it and it did not work. For some reason, only first LED light up. For some time, I consider soldering fault on my side, but I tried to play with this strange part more before resoldering and make it somehow working.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du0"&gt;&lt;span&gt;N/2 Stop Bits&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;One of my theories was that purpose of this section (no matter how crazy it&amp;rsquo;s definition is) is for synchronizing LED to start emitting new colour at the same time. If chips in LEDs have counter, they can count how many data were transferred before reaching this end frame and then start emitting new colour all at the same time. They do not need to compensate length of data transfer, because they actually receive end of frame bits all at the same time as highlighted on diagram in W&amp;uuml;rth datasheet. They only need to know when it should happen and for this reason end of frame could be useful to indicate it.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du1"&gt;&lt;span&gt;32 Stop Bits&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;My other theory is that it is used for compatibility with some other LEDs. Only LEDs with similar interface I know are APA102 which seems deprecated and very hard to acquire to me, but their datasheet is searchable. Their protocol is almost identical, including format of start frame, but end frame is not defined in such horrible way. In case of APA102, end frame is defined as sending 32 x one bit, basically the same as start frame, just ones instead of zero. I implemented emission of exactly 32 high bits, instead of N/2 high bits and W&amp;uuml;rth LEDs accepted it. But there was strange behaviour that when LED was not power-cycled since previous experiment, they started to emit colours as expected, except exactly second LED which turned off. This seem weird to me because 32 ones are valid command for LEDs for white at full brightness. After I power cycled board to reset all chips, even with 32-bit stop bits they no longer accepted colours and stuck in state, where only first LED work, exactly as in previous experiment.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du2"&gt;&lt;span&gt;0 Stop Bits&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;After such experiments, I looked how professionals do that. I looked how W&amp;uuml;rth implemented it in their official library. And to my surprise, they have some macros to counting stop bits, they allocate space in buffer for that, but they do not set them to ones. And especially, not to N/2 ones. They define buffer in this way:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static uint8_t DATABuf[ICLED_BYTESTOTAL] = {true};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I think they thought, that when defined in this way, C/C++ runtime will initialize all values to all ones. They actually reset Start bits to zero before sending data. But true is not 0xFF, but 0x01. Second, C/C++ standard says (using very simplified words), that if array initializer has less data, then array size, remaining part of array is zero initialized.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So, they actually send zero bits as stop bits. I tried experiment with it slightly differently and try send no bits at all. It started working, I have seen right colours on all my 6 LEDs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Running two wire LEDs" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/03_2D00_works.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du3"&gt;&lt;span&gt;First refresh, only first LED works&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;One issue which remains (and it was issue in all previous cases) is that on power up and first data transmission, only first LED works for some reason. At second refresh, all LEDs updates and start working. Maybe my signalling is still wrong. In datasheet there is several more confusions like that clock and data signals at the beginning of diagram are low, but at the end, they are high and there is no explanation when should MCU switch from high back to low. This basically define CPOL param when SPI peripheral is used to generate signal. W&amp;uuml;rth use CPOL=0 in their library. Also, it is not clear how 3-bit command type interfere with start and stop bits and if some detection of transfer phase is implemented using these.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du4"&gt;&lt;span&gt;Floating (High-Z) pins at powerup&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;One issue with (not only these) LEDs is that MCU pin is typically floating in time between power up and time when MCU initializes GPIO setting. I added external pull down to eliminate issues caused by this, but it has no impact on issue with only one LED working on first refresh cycle.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du5"&gt;&lt;span&gt;Searching Internet for Truth about End Frame&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;This is obviously lot of unexplained magic. So, I tried searching for LED which I think 1311610030140 are intended to be compatible with. I searched for APA102 and found library implemented by Pololu. It contains &lt;a href="https://github.com/pololu/apa102-arduino/blob/aa621935405d97e82e1634bcdeb952c7e720774b/APA102.h#L93-L113" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;20 lines long comment&lt;/a&gt; explaining real purpose of end frame. Simply rephrased, LEDs behave differently than I thought. Logic on clock signal is more dumb than I thought. Every LED just negate clock input signal and pass negated one to next one. This cause shift of half period. This minor clock shift LEDs use for data forwarding. Logic in controller wait for it&amp;rsquo;s 32-bit of data. Every (not only first one) LED receive clock almost immediately when data transmission begins. Clock is available to all LEDs immediately using chain of inverters. Only data transmission is delayed. Actually, while first LED receiving it&amp;rsquo;s data, second LED still receives zero bits. It seems that start frame can be arbitrarily long. My understanding is that LED identifies it&amp;rsquo;s own data by observing first high bit after long (at least 32-bit long) sequence of zeros. At that time, it still propagates zeros on output data line. After it receives it&amp;rsquo;s own complete 32-bit frame, it starts propagating data to next LED. I deduced this by observing how signal outputted from 6&lt;sup&gt;th&lt;/sup&gt; LED looks like. I exposed this signal on test pads on my PCBs. It would be better to evaluate single led individually but unluckily; I made PCB with 6 LEDs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/04_2D00_logic_2D00_analyzer_2D00_forwarding.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Data are shifted by half of the cycle because output clock is inverted input clock. But because clock is ultimately generated by MCU and data rate is lowered half a cycle on each LED, if MCU send 0 stop bits like I did, last LED will miss some clock cycles. For this reason, MCU need to generate at least N dummy clock edges or in other words N/2 full clock cycles, which are used just to propagate final bits which will be otherwise lost because of propagation delay on chain.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du6"&gt;&lt;span&gt;Why 0 Stop Bits worked?&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;It most probably did no work and worked only just by accident. It most probably explains why it did not work at first run. I still think W&amp;uuml;rth add some logic to determine validity of chain and synchronized colour switch to happen at the same time on whole chain or something like that. When I send zero stop bits, LED signal was likely incomplete and for this reason LEDs did not switched colours at first run. But when second refresh begin, it started with start signal which generated cycles which were missing in first run and at that point LEDs started emitting right colours. But I suspect that it was actually data from previous run. From my experiments it seems that LEDs has absolutely no timeout logic and end of previous transfer can interfere with start of next transfer. And this I consider quite problematic. Do you remember the confusing part that W&amp;uuml;rth&amp;rsquo;s diagram start at logical low level and ends with high level without explaining when and how should MCU switch between them in between transfers? I made some experiments and behaviour actually differ if last transmitted bit is low or high. I tried change end frame to be 0xFE instead of 0xFF and it actually behave differently. It definitely needs more investigations to understand what&amp;rsquo;s exactly going there.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1ja3l66du7"&gt;&lt;span&gt;Conclusion&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;While I explained some mysteries, I still did not manage to make it fully reliable. I will continue experimenting with it, but for now I wasted much more time than expected. It would be really nice If European based chip company produce normal reasonably detailed datasheet explaining chip behaviour and implemented features. Making even datasheet detail level compatible with Chinese is not good idea and cost me lot of time. Because time is running low, I will switch back to classic single LEDs for a while and continue with experiments according to original plan to be able to complete final project in time. While this forum post was quite longer, next time will be much shorter because I already concluded experiment and it went well. Btw, one lesson from today is that writing forum post/blog for element14 can serve as debugging duck. Thank you for attention. See you in next forum post.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Next forum post in my series:&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56420/misaz-s-wl-icled-experiments-combining-leds-of-multiple-types"&gt;Misaz’s WL-ICLED experiments: Combining LEDs of multiple types&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Misaz’s WL-ICLED experiments: Testing BI pin</title><link>https://community.element14.com/thread/56416?ContentTypeID=0</link><pubDate>Fri, 14 Nov 2025 12:51:08 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5588cd0a-0909-441b-8a2b-bd9fa87fbf7a</guid><dc:creator>misaz</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/56416?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56416/misaz-s-wl-icled-experiments-testing-bi-pin/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello. I welcome you to my second forum post as part of &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/" data-icid="DCHmain-feature-widget" data-e14adj="t"&gt;Light Up Your Life Challenge!&lt;/a&gt;. In this forum post I will share my experience with PCB design and soldering LEDs. In this part I will experiment with BI pin of 1312121320437 W&amp;uuml;rth LEDs (middle sized PCB if you follow my previous blog posts).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;BI pin is another input pin of 1312121320437 LEDs. It is used as fallback mechanism for case one LED broke. It makes chain operational even in that case (except the one broken LED, of course). If connected as recommended, it is connected in this way:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/01_2D00_bi_2D00_connection_2D00_schematics.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Wire highlighted by red colour on schematics above is standard chaining of LEDs. Data Output (DOUT) of previous LED is connected to Data Input (DIN) of next LED. Backup Input (BI) pin is connected to output of second previous LED. (I am not sure if Backup Pin is exact meaning of BI abbreviation, but it is my guess). If any of classic addressable failed, it stopped forwarding signal over daisy chain and all LEDs after it become unavailable to control. Purpose of BI pin is to mitigate it. It does not only target permanent failure like LED burning out, but it also targets intermittent failures, like when some LED lost power because of brownout and resets it&amp;rsquo;s engine in the middle of transfer. Purpose of BI pin is to mitigate faults like these. It obviously does not target faults like that some LED shorts power supply rails.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If middle LED on diagram above fails, previous LED still send data to BI pin of next LED, so while middle LED fails, left, right and rest of chain continues to operate. Chips in LEDs are smart and detect it. From LED point of view, it looks in a way, that every LED actually receive data on BI pin first. But the data received are actually intended to be used by previous LED, so LED ignore them. After 48-bit for LEDs is received, LED expect that it receives it&amp;rsquo;s own 48-bit while receiving the same 48-bits on DIN pin with short delay caused by forwarder in previous LED. If it does not happen, it processes data from BI pin because it technically the same data are transmitted here. BI pins work even when multiple LEDs on strip are broken. There just must not be 2 consecutive LEDs broken. If there are 2 consecutive LEDs broken, next LED do not receive signal from DIN nor BI (because both come from broken LEDs) and rest of the chain stop operating as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Let&amp;rsquo;s test in practice. If you read my previous blog, you may know that I partially intentionally and partially unintentionally omitted two LEDs on my testing PCB. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="Highlight of missing LED on PCB" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/02_2D00_highlight_2D00_of_2D00_missing_2D00_leds.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;These missing LED actually behave like &amp;ldquo;broken&amp;rdquo; LEDs. There is nothing what would forward signal to next pin. But because of BI pins, this strip should work. Let&amp;rsquo;s test it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Since signalling of these 48-bit LED is compatible with 24-bit, there were very little updates to the firmware. In fact, any firmware which works with 24-bit LEDs work with these 48-bit ones, but you need to set 2 LEDs for every 1 LED on bus and it needs tricky encoding of R, G, and B channels of these 2 virtual LEDs. I modified API of my library in this way. Originally, I had following functions&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void LEDS_Init();
void LEDS_SetLed(size_t index, uint8_t r, uint8_t g, uint8_t b);
void LEDS_Transmit();&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I renamed SetLed to SetLed24 and added SetLed48:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void LEDS_SetLed48(size_t index, uint8_t rI, uint16_t rPWM, uint8_t gI, uint16_t gPWM, uint8_t bI, uint16_t bPWM);&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This function takes rI, rPWM, gI, gPWM, bI, and bPWM which corresponds to current and PWM values for each of RGB channels. It recodes them and set actually two slots in internal buffer. For this reason, when 48-bit function is used, it should be called with index multiplied by two because every LED occupies two entries in that internal buffer. While this design is strange at the first look, I will utilize it in later experiments when I will try control both 24-bit and 48-bit types of LED on single chain.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Example usage is something like:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;LEDS_Init();
int iGain = 0;
LEDS_SetLed48(0, iGain, 50, iGain, 0, iGain, 0);
LEDS_SetLed48(2, iGain, 0, iGain, 50, iGain, 0);
LEDS_SetLed48(4, iGain, 0, iGain, 0, iGain, 50);
LEDS_SetLed48(6, iGain, 50, iGain, 50, iGain, 0);
LEDS_SetLed48(8, iGain, 0, iGain, 50, iGain, 50);
LEDS_SetLed48(10, iGain, 50, iGain, 0, iGain, 50);
LEDS_Transmit();&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Code above. Set 6 LEDs on strip to following colours: red, green, blue, yellow, cyan, pink. I set values to 50 instead of full range, so it does not blow up my eyes. It also look slightly better on photos. So, let&amp;rsquo;s upload this to microcontroller, connect it and see what happen:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/03_2D00_working_2D00_leds.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It works. Even with LEDs missing. As you can see stripe is not shift if failure like broken LED happen. Second colour (green) and fifth colour (cyan) are missing because LEDs which should light them are &amp;ldquo;broken&amp;rdquo; but rest of the strip work and colours stay at their position exactly as defined in source code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I cheated a little in this experiment. It actually does not work reliably because I am controlling these LEDs by 3.3V microcontroller. And actually, these LEDs require at least 4.2V to operate. I actually power them from 5V rail of development kit which is fine, but control signal is only 3.3V which is slightly below threshold of digital logic in LEDs. Datasheet specify that your signal must be higher than 0.7 * VCC to be reliably classified as logical 1. In case of 5V supply 0.7 * 5 is 3.5V, so 3.3V is not enough. My favourite trick on this issue, is connecting my cheap Chinese logic analyser. It is connected to wires which go to left side on photo. Also works with scope probes from Multicomp Pro oscilloscopes. Not exactly sure how small additional capacitance or whatever make this working, but it typically works for me in these cases.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Propper solution is use voltage level shifter. Sponsored challengers received one. I have it as well in my drawer. I was lazy to use it and connect bunch of wires to it since I know this simpler cheat &lt;/span&gt;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/1f60a.svg" title="Blush"&gt;&amp;#x1f60a;&lt;/span&gt;&lt;span&gt; Another possible solution/workaround is to lower voltage supply. If you change 5V to let&amp;rsquo;s say 4.5V. VCC * 0,7 is now 3,15V and this is lower than 3.3V control signal. Another cheaty solution is to violate 4.2V minimum voltage and power them just by 3.3V. I tested it. They seem working well. Did not test running all possible codes and did not test it long time under various temperature conditions, but it may be easy workaround for development time.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So that&amp;rsquo;s it for today. Outcome is that my soldering was successful. The only two faults on board are intentionally missed LEDs and strip works even without them. Tomorrow I will look at the last type of LEDs which I did not test yet. And actually, they are the smallest one, so highest change of soldering issue. But let&amp;rsquo;s see. They also use different protocol, so I will need to rewrite testing firmware once more.&lt;/p&gt;
&lt;p&gt;Next forum post:&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56418/misaz-s-wl-icled-experiments-mysterious-end-frame"&gt;Misaz’s WL-ICLED experiments: Mysterious End Frame&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Sponsored Kit Received (#1)</title><link>https://community.element14.com/thread/56415?ContentTypeID=0</link><pubDate>Fri, 14 Nov 2025 09:38:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:0fe68a93-92fc-4611-be66-ed237642ee37</guid><dc:creator>ZephyrusBlaze</dc:creator><slash:comments>3</slash:comments><comments>https://community.element14.com/thread/56415?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56415/sponsored-kit-received-1/rss?ContentTypeId=0</wfw:commentRss><description>&lt;h1 id="mcetoc_1ja0r6r2a0"&gt;I got the Sponsored Kit&lt;/h1&gt;
&lt;p&gt;Hey everyone, just letting you know I received the Sponsored Kit. Super excited to start building with it &amp;mdash; thanks to the organizers and W&amp;uuml;rth Elektronik. I&amp;rsquo;ll be using this kit to make a 10x5 LED matrix and share the process as I go.&lt;/p&gt;
&lt;h2 id="mcetoc_1ja0r6r2b1"&gt;What&amp;rsquo;s inside the box&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s everything I found, with quantities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;W&amp;uuml;rth Elektronik 1315050930002&lt;/strong&gt;&lt;br /&gt; LED, AlInGaP / InGaN, RGB SMD, 120&amp;deg;, Round, R 13 mA / G 13 mA / B 13 mA &amp;mdash; Quantity: 25&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;W&amp;uuml;rth Elektronik 1313210530000&lt;/strong&gt;&lt;br /&gt; LED, AlInGaP / InGaN, RGB SMD, 120&amp;deg;, Dome, R 5.5 mA / G 5.5 mA / B 5.5 mA &amp;mdash; Quantity: 25&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;W&amp;uuml;rth Elektronik 1312020030000&lt;/strong&gt;&lt;br /&gt; LED, AlInGaP / InGaN, RGB SMD, 120&amp;deg;, Square, R 5.5 mA / G 5.5 mA / B 5.5 mA &amp;mdash; Quantity: 25&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;W&amp;uuml;rth Elektronik 1312121320437&lt;/strong&gt;&lt;br /&gt; LED, AlInGaP / InGaN, RGB SMD, 110&amp;deg;, Square, R 20 mA / G 20 mA / B 20 mA &amp;mdash; Quantity: 25&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;W&amp;uuml;rth Elektronik 1315050930246&lt;/strong&gt;&lt;br /&gt; LED, RGB SMD, 120&amp;deg;, Round, R 21 mA / G 21 mA / B 21 mA &amp;mdash; Quantity: 25&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;W&amp;uuml;rth Elektronik 1311610030140&lt;/strong&gt;&lt;br /&gt; LED, RGB SMD, 120&amp;deg;, Square, R 6 mA / G 6 mA / B 6 mA &amp;mdash; Quantity: 25&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;5050 LED breakout PCB&lt;/strong&gt;&lt;br /&gt; PCB is 0.8 mm / 0.03&amp;quot; thick, ~10 mm / 0.4&amp;quot; spacing between rows &amp;mdash; Quantity: 50&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multicomp Pro MCBB830K&lt;/strong&gt;&lt;br /&gt; Solderless breadboard, ABS, 1 mm, 105 mm x 183 mm &amp;mdash; Quantity: 2&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Texas Instruments TXS0108EPWR&lt;/strong&gt;&lt;br /&gt; Level translator, 8 channels, 1.65 V to 5.5 V &amp;mdash; Quantity: 1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Arduino Zero (ABX00003)&lt;/strong&gt;&lt;br /&gt; ATSAMD21G18, ARM Cortex M0+, 32 bit, 32 KB RAM, 256 KB Flash, 20 I/O pins &amp;mdash; Quantity: 1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Power Supply with Interchangeable Plugs (MP007771)&lt;/strong&gt;&lt;br /&gt; AC/DC power supply, 24 W, 9 V DC, 2.5 A &amp;mdash; Quantity: 1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251114_5F00_141351.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251114_5F00_141434.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251114_5F00_141251.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251114_5F00_141520.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251114_5F00_141627.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1ja0r6r2b2"&gt;My plan (short)&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ll solder the 5050 LEDs to the breakout PCBs, wire them into a 10 columns x 5 rows setup, and control columns as chains from the Arduino Zero. I&amp;rsquo;ll post step by step: soldering, wiring the chains, code, and troubleshooting notes. Expect pics and short updates as I make progress.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll start with the first solder session later this week and post the results.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AuraAlert - Part 4 - LED Control, Test PCB Design and Analysis</title><link>https://community.element14.com/thread/56411?ContentTypeID=0</link><pubDate>Thu, 13 Nov 2025 21:17:14 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f3323d5e-5e2d-449b-b663-f383784ede36</guid><dc:creator>arvindsa</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56411?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56411/auraalert---part-4---led-control-test-pcb-design-and-analysis/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p style="text-align:left;"&gt;This project is extremely complicated given the number of components and power systems and I have never designed a buck booster on a PCB myself. So It took some time to learn and get it done. Add to it, my work required me to travel quite a lot and so, i couldn&amp;#39;t post an update. But here I am.&lt;/p&gt;
&lt;h1 id="mcetoc_1j9va21sv1"&gt;LED Control using Micro-controller&lt;/h1&gt;
&lt;p&gt;I Immediately soldered the&amp;nbsp;&lt;span&gt;1315050930246&lt;/span&gt;&amp;nbsp;and&amp;nbsp;&lt;span&gt;1315050930002&lt;/span&gt;&amp;nbsp;on the Breakout board and wired it to my Nucleo Board. The Nucleo gave me 5V and I routed it&amp;#39;s 3.3V logic through the logic level converter from Adafruit which I already had, Guess which chip it used?&amp;nbsp;TXS0108EPWR. I really wanted to use the Fast-LED Library given the amount of effects i can easily do with it based upon its documentation, but behold my bad luck that STM32 code was failing and i had to resort to the Adafruit&amp;#39;s Dot-star for DATA + Clock Protocol and Neo-pixel for Single Wire Data protocol.&lt;/p&gt;
&lt;p style="text-align:center;"&gt;&lt;img alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251020_5F00_121755.jpg" /&gt;&lt;/p&gt;
&lt;p style="text-align:center;"&gt;&lt;a href="https://www.youtube.com/watch?v=xtqNuoCH-SQ"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align:left;"&gt;Things i noticed about the Wurth&amp;#39;s LED&amp;nbsp;&lt;span&gt;1315050930002 compared to WS2812B 5050. At the 5V Voltage, brightness is almost imperceptible but as the supply voltage does down, the Wurth&amp;#39;s LED gives better Light. Sadly i was not able to capture this on my phone because to try this out, i had to use my university Lab and also Wurth&amp;#39;s Plastic enclosure seems to be far more forgiving to my bad soldering skills. I have melted quite a couple of WS2812B 5050 in the past. Now, I have never used an Equivalent of the&amp;nbsp;1315050930246 so, no comments there. Also I noticed that Wurths&amp;#39; LED is Diffused. Something I overlooked in the Datasheet but it turned out to be a happy mistake because now i need not have a strong diffusion material in my project.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:left;"&gt;&lt;span&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763062604178v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I did the same using the ESP32 Dev Kit (not S3 version) and again, i was able to control it without much change.&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1j9vbn4q93"&gt;The PCB Design&lt;/h1&gt;
&lt;p&gt;In the Architecture, i mentioned that i plan to use an LiPo Battery which means the supply voltage is gonna vary between 3.4 and 4.2V, and yes, i have been able to make the LED work at lower voltages, but the brightness was not to my liking. A boost converter was needed.&amp;nbsp; After going through the videos&amp;nbsp;&lt;a href="https://www.youtube.com/watch?v=QnUhjnbZ0T8" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://www.youtube.com/watch?v=QnUhjnbZ0T8&lt;/a&gt;&amp;nbsp;by GreatScott and Phil&amp;#39;s Lab&amp;#39;s&amp;nbsp;&lt;a href="https://www.youtube.com/watch?v=qd7qcZnV70o" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Boost Converter Design &amp;amp; Sizing - Phil&amp;#39;s Lab #113&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;a href="https://www.youtube.com/watch?v=AmfLhT5SntE" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Switching Regulator PCB Design - Phil&amp;#39;s Lab #60&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://www.youtube.com/watch?v=1g-D8T65SJU" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Boost Converter PCB Design - Phil&amp;#39;s Lab #106&lt;/a&gt;&amp;nbsp;i chose the components for the power supply-&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TPS6123 - 5V boost converter to ensure that LED receives 5V always for consistent illumination&amp;nbsp;&lt;/li&gt;
&lt;li&gt;AP61300Z6 - 3.3V Buck converter for the Logic level.&lt;/li&gt;
&lt;li&gt;AP2112K-3.3 - Backup 3.3V&lt;/li&gt;
&lt;li&gt;MCP73831 For battery charging along with FET based power path (A stable circuit Ive been using for an year now)&lt;/li&gt;
&lt;li&gt;Dual Mosfet based Batter&amp;#39;s Voltage measurement system&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;FUSB303BTMX for USB-PD&lt;/li&gt;
&lt;li&gt;TPS25200 EFuse&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also added an ESP32-S3 and STM21L031,&amp;nbsp;ICS-43434,&amp;nbsp;TXS0108EPWR, NRF24L0. While I was learning the buck boost converter, i also came across&amp;nbsp;&lt;a href="https://www.youtube.com/watch?v=yxU_Kw2de08&amp;amp;t=1885s" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Phil&amp;#39;s Lab - ESP32 + PCB Antenna Hardware Design Tutorial - Phil&amp;#39;s Lab #90&lt;/a&gt;&amp;nbsp;and so went ahead and added in a circuit for NRF24&amp;#39;s chip with a PCB Antenna.&amp;nbsp; I am using a Dual MOSFET design, so that i can read the ADC value only on demand and rest of the the time, the Battery is cut-off from the resistor bridge thus avoiding the slow current leakage which will reduce battery life. I thought hard to see if a Couloub based Battery Guage is worth is e.g.&amp;nbsp;bq27441 as seen in Sparkfun baby sitter. But the cost is too high and we do not need very accurate measurements.&amp;nbsp; The component is placed on the PCB such that each subsystem is visually different&lt;br /&gt;&lt;br /&gt;Average Boost Converter has an efficiency between 80-90% based on load and many other factors. Assuming 80% efficiency the input current needed for the Boost to 5V =&amp;nbsp;I_in = (V_out * I_out) / (V_in * 0.8).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Now, in the last post i mentioned i needed 250mA for the LEDs. That was for one channel, for all three channels it is 750mA which requires an input current of 1.38A, So input to the Add in ESP32-S3 which needs 500mA for itself as per their documentation and another 100mA for all others, it adds up-to almost 2A peak usage. Therefore, a 15W USB-PD Chip was needed. Note that for hand-held device, it is not needed as it does not have ESP32 and the LED power usage is lower, and most of the time it is supplied from the battery&lt;br /&gt;&lt;br /&gt;And for the safety of any computer into which the device may be plugged into, i added an EFuse which will trip off at 2A&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:720px;max-width:860px;"  src="https://community.element14.com/resized-image/__size/1720x1440/__key/communityserver-discussions-components-files/446/pastedimage1763064429736v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For the PCB Antenna, I had to calculate the micro-strip width to ensure that I get 50Ohm Impedance for a two layer board, KiCad&amp;#39;s Calculator told be that&amp;nbsp; i had to use a 2.8mm wide track. I was sure i made some mistake in the input, Kicad&amp;#39;s micro-strip calculator had many options, But it turned out to be correct no matter what. The thickness of the dielectric layer played a major role,. and i have to use a 4 Layer board for a practical track width, but i decided to go ahead anyway and take a risk. So at the end of the last passive i drew a track of 2.8mm width to the feed of the antenna. I did add an backup NRF module just in case.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763065002894v3.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;After couple of hours of routing, i sent it to the FAB and within a week i received the boards.&lt;/p&gt;
&lt;h1 id="mcetoc_1j9ve0q5f8"&gt;The PCB Testing&lt;/h1&gt;
&lt;p&gt;I had 5&amp;nbsp; boards manufactured. To test the circuit in isolated manner, I decided to populate 3 boards each with different systems&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j9vf1ecb9"&gt;Board 1: USB PD, Battery Charger and EFuse.&lt;/h2&gt;
&lt;p&gt;In this i only populated the USB, Battery Charger and eFuse. I shorted the wires to see if the eFuse will work and yes it turned off the power supply, no harm done. Note that this TPS25200 can be programmed to trip at any particular current value upto 3A by setting the appropriate value of resistor. I first programmed it to trip at 500mA, i connected it to my previous prototype of the hex device which uses WS2812B and monitored the current using Nordic Power Profile Kit V2, and on cue it turned off at around 540mA. For exact 500mA trip, i did not have the right value of Resistor. Next i tried with 2A, and again it worked correctly at around 2A.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:1050px;"  src="https://community.element14.com/resized-image/__size/2100x720/__key/communityserver-discussions-components-files/446/20251114_5F00_022638.jpg" /&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1j9vfb1dtb"&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:359px;max-width:1280px;"  src="https://community.element14.com/resized-image/__size/2560x718/__key/communityserver-discussions-components-files/446/20251030_5F00_212623.jpg" /&gt;&lt;/h1&gt;
&lt;p&gt;Then i added in the ESP32-S3, Microphone and Tested the I2S Interface and a sample Edge Impulse code for keyword spotting and it turned out well.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Disaster Struck.&amp;nbsp;&lt;/strong&gt;I turned off my oscilloscope which i used to check the ripples in the 5V VBUS and came after lunch and when i turned it on, i see lines on the screen. And over the next few days, the oscilloscope went dead. Now gotta use my university equipment.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:960px;"  src="https://community.element14.com/resized-image/__size/1920x720/__key/communityserver-discussions-components-files/446/20251114_5F00_021546.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j9vgh6g7d"&gt;&lt;strong&gt;Board 2: Buck Converter and Boost Converter&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;Installing both the boost converter and Buck converter, i hooked it up to a load tester to see how it performs. The ripple was around 320mV peak to peak, which is quite terrible. I tried to replicate the suggested layout in the datasheet, but After scanning through the datasheet i realized i made some mistakes. Oh well, except for a ominous hum at low load, it was fine. I put the boost converter to the board 1 and ran the LED using the esp32, no problem at all. but the 3.3V buck converter was out of the question. Decided to use the LDO in the future for this project. The 5V boost converter is enabled only on demand via micro-controller. The Green Jumper is to tie the enable it by tying it to 3V&lt;br /&gt;&lt;br /&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251114_5F00_022615.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251105_5F00_122931.jpg" /&gt;&lt;/p&gt;
&lt;p style="text-align:center;"&gt;Here is the Waveform for the 5V showing 320mV peak to peak ripple.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763089830264v4.jpeg"  /&gt;&lt;/p&gt;
&lt;p style="text-align:center;"&gt;And below is the actual ripple caused by the boost converter.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763089966877v5.jpeg"  /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The mistakes i made in the boost converter was&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Poured ground under switching element, it makes ground noisy for sure and theory says it increases EMI&lt;/li&gt;
&lt;li&gt;The Datasheet said i should have only polygon in top layer for switched node, input and output while having ground for input and output. But i put pour on top and bottom and connected them by via. Apparently doing that on switched node makes things worse.&lt;/li&gt;
&lt;li&gt;I should be connecting AGND, PGND to the regular ground via a star point. I did not&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here is the recommended layout for TPS6123&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/pastedimage1763091167587v6.png"  /&gt;&lt;/p&gt;
&lt;p&gt;and the one i did. (Red is top layer, Blue is bottom layer)&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:320px;max-width:1460px;"  src="https://community.element14.com/resized-image/__size/2920x640/__key/communityserver-discussions-components-files/446/04_2D00_04_2D00_mistakeinboost.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j9vggvjhc"&gt;Board 3: STM32 and LED&lt;/h2&gt;
&lt;p&gt;This board will be Powered by USB-C with 5.1K resistor which can give me minimum 500mA, i Soldered on STM32, Logic Level converter and LED&amp;#39;s and ran it. All well.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="display:block;margin-left:auto;margin-right:auto;max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/20251114_5F00_022655.jpg" /&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1j9vgi02fe"&gt;Observations&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;The Buck converter is extremely noisy and i do not have the skillet nor time to fix it.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The Boost converter gives an hum during low load. Not gonna see this during actual usage as LED will pull enough current.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The Level converter and the on demand 5V does destroy the level converter chip. The datasheet says the Chip has to be enabled via OE pin only after the higher voltage input has been stabilized. So i had to do a patch work on the Board one. It seems if i don&amp;#39;t adhere to this rule, the chip does get destroyed.&lt;/li&gt;
&lt;li&gt;The Wurth LED does respond to 3.3V Logic too with 5V Supply. Obviously it works does not mean it will work reliably. Stick to the&amp;nbsp;Digital input voltage - high-level&amp;nbsp; value in the datasheet for reliable communication&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="mcetoc_1j9vh37h7f"&gt;Changes to be Made&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Sacrifice efficiency for clean and stable 3.3V by using an LDO&lt;/li&gt;
&lt;li&gt;LED changes based on some further design thinking. Small change in Industrial design also&lt;/li&gt;
&lt;li&gt;Improve the layout of the 5V boost converter by adding an Electrolytic capacitor and fix the layout issue (Put Ground plane under the switching element where i was sup)&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="mcetoc_1j9vh660dg"&gt;Newer Power Budget for LEDs&lt;/h1&gt;
&lt;table border="1" data-sheets-root="1" data-sheets-baot="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&lt;strong&gt;Device&lt;/strong&gt;&lt;/td&gt;
&lt;td width="200"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td width="86"&gt;&lt;strong&gt;Qty&lt;/strong&gt;&lt;/td&gt;
&lt;td width="117"&gt;&lt;strong&gt;Current per LED Color&lt;/strong&gt;&lt;/td&gt;
&lt;td width="81"&gt;&lt;strong&gt;Total Current&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;Nano&lt;/td&gt;
&lt;td&gt;1312121320437&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;180.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;1313210530000&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;5.5&lt;/td&gt;
&lt;td&gt;198.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width="200"&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;378.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;Hex&lt;/td&gt;
&lt;td&gt;1315050930002&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;273.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width="200"&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;273.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;Halo&lt;/td&gt;
&lt;td&gt;1311610030140&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;216.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;1315050930002&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;39.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="153"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width="200"&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;255.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Now off to the Final PCB Design ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Misaz’s WL-ICLED experiments: It’s soldering time</title><link>https://community.element14.com/thread/56403?ContentTypeID=0</link><pubDate>Wed, 12 Nov 2025 22:30:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:854c5775-6a76-4e31-88e6-227b52b59686</guid><dc:creator>misaz</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/56403?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56403/misaz-s-wl-icled-experiments-it-s-soldering-time/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello. I welcome you to my second forum post as part of &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/" data-icid="DCHmain-feature-widget" data-e14adj="t"&gt;Light Up Your Life Challenge!&lt;/a&gt;. In this forum post I will share my experience with PCB design and soldering LEDs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For testing PCBs, I designed 3 PCBs. One for each type of LED I will play with. PCB for 1315050930002 (which is classic one; compatible with WS2812Bs) I actually made few years back, originally intended for WS2812B LEDs. So, at this step I tested compatibility for first time &amp;ndash; 1315050930002 matches PCB layout exactly. Remaining two PCBs for 1312121320437 (6-pin LEDs with 48-bit single wire protocol) and 1311610030140 (6-pin LEDs with two wire SPI-like protocol) designed from scratch. I focused common best practices. I dedicated 1 layer for GND plane and VCC wire I made stronger. Signal wires are thin. Here are PCBs as I designed and route them.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:360px;max-width:640px;" alt="Kicad PCBs screenshot" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/01_5F00_kicad_5F00_pcbs.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For making it simple I will refer LEDs as largest (W&amp;uuml;rth number 1315050930002), medium (1312121320437) and small (1311610030140) in this forum post. Sizes proportionally apply to PCB sizes in Kicad screenshot above.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Tracing wires was quite easy. All LEDs are designed in a way that it is possible to route signals reasonably well even on 2-layer PCBs. DOUT signals of LED connect to DIN signals of LED without need to cross anything. This apply even to medium sized which has BI PIN which is basically signal from second previous LED. It is used as a fallback for case when previous LED broke. In that case it does not receive signal from previous, but from second previous and continue operate. Technically you do not need it and you can just ground that pin (this is actual case of first LED in chain). I routed it and PCB look nicely even when it is routed. I added 100nF capacitor to every LED, except for smallest. In case of smallest, I added one cap for 2 LEDs to make PCB compact. At soldering time, I actually, replaced exactly one 100nF cap per board by 1uF. In case of my older PCB for classic LEDs (largest), I routed VCC as stripe on back side. On newer two PCBs I routed in on top section in between two columns of LEDs.&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1j9t2psir0"&gt;&lt;span&gt;Soldering&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;For soldering, I used solder past and hot air approach. I applied solder paste manually (without stencil) inaccurately like this:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="solder paste application" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/02_2D00_solder_2D00_paste.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Placed components onto it like on following picture. I do not like that pin 1 marker is hardly visible on W&amp;uuml;rth LEDs. WS2812 has bigger marker. On W&amp;uuml;rth LED it is barely visible and I had to use magnifier glass. But on other hands W&amp;uuml;rth mention how is chip placed inside package, so it can be aligned just by observing internals of LED without checking corners. This I used for triple checking. At that point it looked like this:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;max-width:252px;" alt="component placement" src="https://community.element14.com/resized-image/__size/504x720/__key/communityserver-discussions-components-files/446/03_2D00_component_2D00_placement.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;And then I heated it by hot air. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Actually, the biggest mistake was to use more than 2-year-old solder paste. It did not go well. Most of flux dried out. I had really hard time. Components did not fit at right position. I had to manually align them when heating. Because layer of solder paste was highly non-uniform, some joins were very fat, some were unconnected, some were shorted. It did not auto balance like I have seen in my previous hot air attemps. In case of classic LEDs which are quite large, I manually fixed all these by solder pen. In case of small and medium I tried to push them to the PCB. This pushed lot of amount solder from bottom of chips, but in case of medium sized it shorted lot of pins of LEDs. It was visible because these LEDs have visible pins from sides. Interestingly, the easiest were the smallest one. I pushed them, this eliminated over-solder from bottom of LED and additional solder remained as solder balls on side of chip. these I removed by pen solder then. The hardest was the middle-sized one. I had to desolder them all, remove all solder paste from both PCB and LEDs and choose alternative strategy. Alternative strategy was that I applied some amount of tin to pads by pen (but not placed LEDs with solder pen). Then heated again by hot air and placed LEDs one by one into tin applied by solder pen previously. It was still quite hard because amount of tin which I applied by pen soldering was quite low, so I had hart time to place LED and push it to the tin. Most of the time they flown away because of &amp;ldquo;wind&amp;rdquo; from hot air solder.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Luckily the hardest LED is the only LED which has BI pin which allow operation of chain even one LED is broken. Missing LED can be considered as &amp;ldquo;broken&amp;rdquo; because it behaves in the same way (well actually there are other modes of failure like short circuit, but for simplicity let&amp;rsquo;s consider missing led equivalent to broken LED). As you can see on the photo above, I intentionally missed one when playing components. Let&amp;rsquo;s call it &lt;em&gt;sophisticated faulty LED simulator&lt;/em&gt;. But later when soldering I broken one more, so I ended up with only 4 LEDs. Main requirement is that there are no two faulty LEDs consecutively. When I was reworking this PCB, I moved the LED to the corner and missed LEDs are actually middle one:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;max-width:251px;" alt="finished PCB with midle sized LEDs" src="https://community.element14.com/resized-image/__size/502x720/__key/communityserver-discussions-components-files/446/04_2D00_final_2D00_missing_2D00_leds.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Schematically that PCB looks like&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;width:auto;" alt="block diagram of PCB with missing LEDs" src="https://community.element14.com/resized-image/__size/0x720/__key/communityserver-discussions-components-files/446/05_2D00_final_2D00_missing_2D00_leds_2D00_diagram.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Finally, it looks like:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;width:auto;" alt="all 3 assembled PCBs" src="https://community.element14.com/resized-image/__size/0x720/__key/communityserver-discussions-components-files/446/06_2D00_final_2D00_all.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I already test classic (largest) ones because I recently did &lt;a href="https://community.element14.com/challenges-projects/halloween/a/projects/PR125/ghost-projector" data-e14adj="t"&gt;Halloween Project14&lt;/a&gt;, so I have firmware capable of generating signal right at hand. It works!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img loading="lazy" style="max-height:360px;max-width:481px;" alt="First LEDs tested" src="https://community.element14.com/resized-image/__size/962x720/__key/communityserver-discussions-components-files/446/07_2D00_test_2D00_classic.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Remaining I tested only by multimeter. I tested that there are no shorts between pins and that ESD diodes between VCC, GND and signal pins are detectable. They are. Still there may be some bad joints on data signals between LEDs. It would be better to place some test point on these signals, but I did not get it at PCB design time.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;For testing others, I need to modify firmware. In next forum post I want to spend some time and play with middle sized LED and test that BI pin feature actually works. In other words, I will test my &lt;em&gt;sophisticated faulty LED simulator&lt;/em&gt;. And finally, one lesson: If your only solder paste is several years old and dry, buy new with LEDs.&lt;/p&gt;
&lt;p&gt;Next forum post:&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56416/misaz-s-wl-icled-experiments-testing-bi-pin"&gt;Misaz’s WL-ICLED experiments: Testing BI pin&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Misaz’s WL-ICLED experiments: Introduction</title><link>https://community.element14.com/thread/56389?ContentTypeID=0</link><pubDate>Wed, 12 Nov 2025 00:56:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f8daddb3-8572-42a3-9999-75bd88dbd9b8</guid><dc:creator>misaz</dc:creator><slash:comments>4</slash:comments><comments>https://community.element14.com/thread/56389?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56389/misaz-s-wl-icled-experiments-introduction/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello everyone. I welcome you to my first forum post as part of my participation in &lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/" data-icid="DCHmain-feature-widget" data-e14adj="t"&gt;Light Up Your Life Challenge!&lt;/a&gt;. In this post I will describe my plans and status.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I posted application to this design challenge but my application was not one of the best. So, I was not selected as sponsored participant who received nice kit containing 150 WL-ICLEDs from W&amp;uuml;rth Elektronik. Even I was not selected, I decided to buy few LEDs on my own expense and play with them. I am joining this design challenge as self-sponsored.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My biggest issue as far was to acquire PCBs because they stuck for about three weeks longer than usual in customs and postal offices. They arrived yesterday, so I am starting about week before deadline but I was conservative at scheduling time. I did not plan any ultra complex project, so week for playing with fantastic W&amp;uuml;rth LEDs should be fine.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My project which I proposed in application was a tool for diagnostics of LED strip. Unlike others, I do not plan investigate their optical properties thoroughly because I do not own suitable equipment and I also do not plan any fancy blinky project (at least for now). Rather I want to play mostly about LEDs. I want to focus on LEDs interacting. Kit contains six different types of LEDs, but some of they have common interfacing. Technically, there are 3 different interfaces used:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;24-bit single wire Interface. It is compatible with WS2812&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;48-bit single wire Interface. Has similar timing. But more data are transferred and allows configure both current limitation as well as PWM drive.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;32-bit two wire Interface (not I2C). it can be driven by MOSI and SCLK pins of SPI peripherals (MISO and CS unused). Protocol Transfer 24-bit of collor data for PWM control and 8-bit control byte which can set even current limiting.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Since I am self-sponsored, I did not buy all six kinds of LEDs. Instead, I bought 3 types of LEDs which each type support different interface. Here is sneak peek:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:360px;max-width:480px;" alt="Unsoldered LEDs and evaluation PCBs" src="https://community.element14.com/resized-image/__size/960x720/__key/communityserver-discussions-components-files/446/0184.image1.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I want to do following experiments around LED interfacing:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Test BI pin which allows continuing operation if one LED on chain is broken&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Test possibility to combine 24-bit and 48-bit on single LED chain&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Automatically count LEDs on LED strip of unknown LED count&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;These experiments I want to conclude before starting working on my main project: diagnostic tool which will identify LED strip length, hopefully will support even chains combined from 24-bit and 48-bit LEDs and will be capable to characterize every LED on bus, identify possible faulty LEDs and locate them.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So that&amp;rsquo;s all for introduction. Stay tuned for next forum posts and final project post. They should all get published this week. I already soldered LEDs to my PCBs. I will post forum and share my thoughts about it later today or tomorrow.&lt;/p&gt;
&lt;p&gt;Next forum post:&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56403/misaz-s-wl-icled-experiments-it-s-soldering-time"&gt;Misaz’s WL-ICLED experiments: It’s soldering time&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RGBMATRIX enabling BLE to change light color and adding effects - Blog-5</title><link>https://community.element14.com/thread/56385?ContentTypeID=0</link><pubDate>Mon, 10 Nov 2025 09:55:46 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:67bd2cc0-0f6f-402d-933c-ba809635e98b</guid><dc:creator>embeddedguy</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56385?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56385/rgbmatrix-enabling-ble-to-change-light-color-and-adding-effects---blog-5/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div class="table-of-contents"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1j9m6j0ob0" data-e14adj="t"&gt;Using Micropython BLE(Bluetooth) module&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1j9mlbl2q2" data-e14adj="t"&gt;Using NVS to store color values&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1j9mkmpgg1" data-e14adj="t"&gt;Adding Effects to the LEDs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;This is blog-5 of Light Up your life challenge. In this blog post, I am going to cover the progress that I have made so far. In the previous blogs I have discussed LED parameters, PCB schematic creation in KiCad and then testing the final PCB that I received from NextPCB. So far everything worked fine as expected and that is good news (relief) for me.&lt;/span&gt;&lt;/p&gt;
&lt;div class="message__5126c cozyMessage__5126c wrapper_c19a55 cozy_c19a55 zalgo_c19a55" data-list-item-id="chat-messages___chat-messages-1427990122170814484-1435244338526556171"&gt;
&lt;div class="contents_c19a55"&gt;
&lt;div id="message-content-1435244338526556171" class="markup__75297 messageContent_c19a55"&gt;&lt;span&gt;Post-4 &lt;/span&gt;&lt;a class="anchor_edefb8 anchorUnderlineOnHover_edefb8" title="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56299/rgb-matrix-testing-wireless-communication---blog-4" href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56299/rgb-matrix-testing-wireless-communication---blog-4" target="_blank" data-e14adj="t"&gt;&lt;span&gt;https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56299/rgb-matrix-testing-wireless-communication---blog-4&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class="markup__75297 messageContent_c19a55"&gt;&lt;span&gt;Post-3 &lt;/span&gt;&lt;a class="anchor_edefb8 anchorUnderlineOnHover_edefb8" title="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56232/rgb-matrix-testing-the-new-pcb" href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56232/rgb-matrix-testing-the-new-pcb" target="_blank" data-e14adj="t"&gt;&lt;span&gt;https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56232/rgb-matrix-testing-the-new-pcb&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="markup__75297 messageContent_c19a55"&gt;&lt;span&gt;Post-2 &lt;/span&gt;&lt;a class="anchor_edefb8 anchorUnderlineOnHover_edefb8" title="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56186/design-idea" href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56186/design-idea" target="_blank" data-e14adj="t"&gt;&lt;span&gt;https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56186/design-idea&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="buttonContainer_c19a55"&gt;
&lt;div class="buttons__5126c container__040f0"&gt;
&lt;div class="buttonsInner__5126c popover_f84418 wrapper_f7ecac"&gt;
&lt;div class="hoverBarButton_f84418 button_f7ecac"&gt;
&lt;div class="icon_f84418 buttonContent_f84418"&gt;
&lt;div class="emoji emoji__040f0" data-type="emoji"&gt;&lt;span&gt;Post-1 &lt;/span&gt;&lt;a id="i1" class="anchor_edefb8 anchorUnderlineOnHover_edefb8" title="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56140/planning-for-the-light-up-your-life-kit" href="https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56140/planning-for-the-light-up-your-life-kit" target="_blank" data-e14adj="t"&gt;&lt;span&gt;https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56140/planning-for-the-light-up-your-life-kit&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="text-xs/normal_cf4812 emojiTooltipText__040f0" data-text-variant="text-xs/normal"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In the last blog post, I have just started to create something interesting. I started to use wireless communication such as the ESP-NOW protocol to change the color and control the LEDs. That worked as expected but needed some more secure and finer control. I will continue to work on ESP-NOW but before that I have BLE functionality enabled on this device.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;With ESP-NOW, I was using switches for analog input to the ESP32 chip and based on the analog values the ADC value will detect a button press. This is fine. But there are some issues that needs to be covered. They are following.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;First, ADCs can suffer from noise. That means that there can be a wrong Analog value that can be detected by the chip. To reduce that there are some methods suggested by Espressif to put some 1nF capacitors at the input pin. So that the pin value does not accidentally change to 0.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;But there are other wireless technologies such as Bluetooth that can be more effective in such cases. For example, BLE can operate using Android applications and follows a standard procedure to connect, disconnect, write values for characteristics, etc. This will reduce the need for separate remote devices to control the LED lights but will need complex Android BLE application programming knowledge.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;One more protocol that I have seen in some smart home products is using IR LEDs to transmit data. This can be something like &lt;a href="https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/rmt.html" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;ESP RMT&lt;/a&gt; protocol that transmits IR pulses using remote. This will work only when transmitter and receiver devices are in line of sight for not more than 30 meters or similar. The advantage is that it is easy to control the lights using tiny remote and no need to manage BLE connections. Also like ESP-NOW there is not a chance of accidently sending a wrong value if keyboard is not working as expected.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j9m6j0ob0"&gt;&lt;span style="font-weight:400;"&gt;Using Micropython BLE(Bluetooth) module&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;BLE protocol defines GATT service and GATT characteristics. These characteristic values can be read or write. There are other functions of these characteristics as well such as notify and indicate. But for read and write one can change the individual color value. i.e. between 0-255. There are many other possibilities such as fine control of strip and adding effects etc. But for now let&amp;#39;s consider a simple application to change the color of the LEDs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;For this part, I am using the official Bluetooth module of Micropython. This module provides the required functionality for Bluetooth to work.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="python"&gt;import time
import bluetooth
from bluetooth import BLE
import asyncio
import ubinascii
import neopixel
import machine
from micropython import const
import esp32&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;One need to register the event IDs for the callback functions. The following code snipet shows some of the common IDs such as connect, disconnect and characteristic read/write.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;_IRQ_CENTRAL_CONNECT = const(1)
_IRQ_CENTRAL_DISCONNECT = const(2)
_IRQ_GATTS_WRITE = const(3)
_IRQ_GATTS_READ_REQUEST = const(4)

_IRQ_GATTC_READ_RESULT = const(15)
_IRQ_GATTC_READ_DONE = const(16)
_IRQ_GATTC_WRITE_DONE = const(17)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;After this it is required to create a Bluetooth object and define connect, disconnect and IRQ callback functions. Remember not to forget some of these functions as they are mandatory to be defined for proper Bluetooth functionality.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;class RGBMATRIX():
    def __init__(self, name):
        self.name = name
        self.BLE = bluetooth.BLE()
        self.BLE.active(True)
        self.connection = set()
        self.register_services()
        self.BLE.irq(self.ble_irq)
        self.advertise()
        
        
    def register_services(self):
        RGB_UUID = bluetooth.UUID(&amp;#39;7bf20ec6-e66f-4a61-9aa4-8fa20097a0c4&amp;#39;)
        
        RED_UUID = (bluetooth.UUID(&amp;#39;7bf20ec6-e66f-4a61-9aa4-8fa20097a0c5&amp;#39;), bluetooth.FLAG_READ | bluetooth.FLAG_WRITE,)
        BLUE_UUID = (bluetooth.UUID(&amp;#39;7bf20ec6-e66f-4a61-9aa4-8fa20097a0c6&amp;#39;), bluetooth.FLAG_READ | bluetooth.FLAG_WRITE,)
        GREEN_UUID = (bluetooth.UUID(&amp;#39;7bf20ec6-e66f-4a61-9aa4-8fa20097a0c7&amp;#39;), bluetooth.FLAG_READ | bluetooth.FLAG_WRITE,)

        rgb_service = (RGB_UUID, (RED_UUID, BLUE_UUID, GREEN_UUID,),)
        services = (rgb_service,)
        ( (self.red, self.green, self.blue,), ) = self.BLE.gatts_register_services(services)
        
    def advertise(self):
        
        name = bytes(self.name, &amp;#39;UTF-8&amp;#39;)
        advdata = bytearray(b&amp;#39;\x02\x01\x02&amp;#39;) + bytearray((len(name) + 1, 0x09)) +  name        
        self.BLE.gap_advertise(100, advdata) 
         #get MAC address
        mac = self.BLE.config(&amp;#39;mac&amp;#39;)[1]
        print(&amp;quot;device MAC address is: &amp;quot;+ubinascii.hexlify(mac).decode())
        
    def ble_irq(self, event, data):
        
        if event == _IRQ_CENTRAL_CONNECT:
            conn_handle, addr_type, addr = data
            self.connection.add(conn_handle)
            print(&amp;#39;Central connected&amp;#39;)
            
        elif event == _IRQ_CENTRAL_DISCONNECT:
            conn_handle, addr_type, addr = data
            self.connection.remove(conn_handle)
            self.advertise()
            print(&amp;#39;Central disconnected.&amp;#39;)
            
        elif event == _IRQ_GATTS_WRITE:
            conn_handle, attrb_handle = data
            #print(&amp;#39;Gatts write&amp;#39;)
            self.val_red = self.BLE.gatts_read(self.red)
            self.val_blue = self.BLE.gatts_read(self.blue)
            self.val_green = self.BLE.gatts_read(self.green)            
            self.set_led_strip(self.val_red, self.val_blue, self.val_green)
            
        elif event == _IRQ_GATTS_READ_REQUEST:
            conn_handle, attrb_handle = data
            #print(&amp;#39;read request&amp;#39;)
        &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Next it is required to define some Neopixel objects on different pins for different types of LEDs.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;ledcorner = machine.Pin(12)
ledfive = machine.Pin(45)
ledseven = machine.Pin(47)

neopixelcorner = neopixel.NeoPixel(ledcorner, 9)
neopixelfive = neopixel.NeoPixel(ledfive, 5)
neopixelseven = neopixel.NeoPixel(ledseven, 7)

def set_led_strip(self, red, blue, green):
        
        for i in range(9):
            neopixelcorner[i] = (int.from_bytes(red), int.from_bytes(blue), int.from_bytes(green))
    
        for i in range(5):
            neopixelfive[i] = (int.from_bytes(red), int.from_bytes(blue), int.from_bytes(green))
            
        for i in range(7):
            neopixelseven[i] = (int.from_bytes(red), int.from_bytes(blue), int.from_bytes(green))
            
        neopixelcorner.write()
        neopixelfive.write()
        neopixelseven.write()
        
        nvs.set_i32(&amp;quot;red&amp;quot; , int.from_bytes(red))
        nvs.set_i32(&amp;quot;blue&amp;quot; , int.from_bytes(blue))
        nvs.set_i32(&amp;quot;green&amp;quot; , int.from_bytes(green))&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Now we are good to go. Only the final thing is to define the main() function, create object and run it continuously.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;def main():
    BLE = RGBMATRIX(&amp;quot;ESP32S3&amp;quot;)
    #BLE.set_color(255)
    
if __name__ == &amp;quot;__main__&amp;quot;:
    main()&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;One done just run the code. You will see that the device named ESP32S3 will appear on your BLE scanner lists. Now one can connect to the device and write the characteristics value for RED, GREEN and BLUE colors. The following video shows the colors in action with BLE application for Windows. One can use any BLE application such as nRF connect on mobile phones.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/2262.final_5F00_ele14.mp4"&gt;community.element14.com/.../2262.final_5F00_ele14.mp4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j9mlbl2q2"&gt;Using NVS to store color values&lt;/h3&gt;
&lt;p&gt;One most important thing to me is to store color values. I do not prefer that when there is power cut or user turns off the main switch and starts the LED light, there is either no color or there is specific prefixed color like white. I think that the LEDs should have the same color that was set previously. And for this reason, I am using NVS (non-volatile storage) to store color key-value pairs. In the begging the storage will be initialized once and values stored will be the color values for the LEDs.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This feature is useful in case where there are frequent power cuts and user do not need to set colors each time power is back or any situation similar to that.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;nvs = esp32.NVS(&amp;quot;RGBMAT&amp;quot;)

try:
    status = nvs.get_i32(&amp;quot;Lighton&amp;quot;)
except OSError:
    print(&amp;#39;Blob is not set, setting it now..&amp;#39;)
    nvs.set_i32(&amp;quot;Lighton&amp;quot;, 1)
    nvs.set_i32(&amp;quot;red&amp;quot; , 255)
    nvs.set_i32(&amp;quot;blue&amp;quot; , 0)
    nvs.set_i32(&amp;quot;green&amp;quot; , 0)
    nvs.commit()&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In the __init__ function one can insert the following code. This will set the values of each color to previously set values.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;self.redl = nvs.get_i32(&amp;quot;red&amp;quot;)
        self.bluel = nvs.get_i32(&amp;quot;blue&amp;quot;)
        self.greenl = nvs.get_i32(&amp;quot;green&amp;quot;)
        self.set_led_strip(self.redl.to_bytes(1), self.bluel.to_bytes(1), self.greenl.to_bytes(1))        &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The update the LED colors as there is BLE Write operation to the characteristic.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;elif event == _IRQ_GATTS_WRITE:
            conn_handle, attrb_handle = data
            print(&amp;#39;Gatts write&amp;#39;)
            self.val_red = self.BLE.gatts_read(self.red)
            self.val_blue = self.BLE.gatts_read(self.blue)
            self.val_green = self.BLE.gatts_read(self.green)            
            self.set_led_strip(self.val_red, self.val_blue, self.val_green)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In the set_led_strip() store the values&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt; def set_led_strip(self, red, blue, green):
        
        for i in range(9):
            neopixelcorner[i] = (int.from_bytes(red), int.from_bytes(blue), int.from_bytes(green))
    
        for i in range(5):
            neopixelfive[i] = (int.from_bytes(red), int.from_bytes(blue), int.from_bytes(green))
            
        for i in range(7):
            neopixelseven[i] = (int.from_bytes(red), int.from_bytes(blue), int.from_bytes(green))
            
        neopixelcorner.write()
        neopixelfive.write()
        neopixelseven.write()
        
        nvs.set_i32(&amp;quot;red&amp;quot; , int.from_bytes(red))
        nvs.set_i32(&amp;quot;blue&amp;quot; , int.from_bytes(blue))
        nvs.set_i32(&amp;quot;green&amp;quot; , int.from_bytes(green))     &lt;/pre&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j9mkmpgg1"&gt;Adding Effects to the LEDs&lt;/h2&gt;
&lt;p&gt;Effects are ways to make LEDs blink more decorative and catchier. Hence, there are some standard effects such as Rainbow, chasing effect, fading effect, etc.&lt;/p&gt;
&lt;p&gt;Out of these I was able to create Rainbow effect on these LEDs. Basically, one can take inspiration from Internet for different effects that LEDs can create. Here I have created a Rainbow effect using a Wheel() function that creates R, G, B values for the each color and updates these colors on the strip. Using some for() loop and doing the mathamatics of colors one can generate different effects that look eye catchy.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Following video shows the Rainbow effect on the LEDs.&lt;/p&gt;
&lt;p&gt;(note: I still need to work on one of the SPI LEDs to create this effect but other SPI and normal LEDs work fine.)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/4807.rainboweff.mp4"&gt;community.element14.com/.../4807.rainboweff.mp4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;import neopixel
import machine
import time
import esp32
from machine import PWM, Pin

class LIGHT_EFFECTS(object):
    
    def __init__(self, interface = 2, miso = 38, mosi = 14, sck=10, num_led = 7, firstbit=0):
        
        self.spi_num = interface
        self.sck_pin = Pin(sck)
        self.miso_pin = Pin(miso)
        self.mosi_pin = Pin(mosi)
        self.first_bit = firstbit
        self.leds = num_led
        self.spi = machine.SPI(self.spi_num, baudrate=8000000, polarity = 0, phase = 0, sck = self.sck_pin, mosi = self.mosi_pin, miso = self.miso_pin, firstbit=self.first_bit)
        self.start_frame = bytes([0x00, 0x00, 0x00, 0x00])
        
    def send_start(self):
        self.spi.write(self.start_frame)
    
    def wheel(self, pos):
        if(pos) &amp;lt; 85:
            return (pos * 3, 255 - pos * 3, 0)
        elif pos &amp;lt; 170:
            pos -= 85
            return (255 - pos * 3, 0, pos * 3)
        else:
            pos -= 170
            return (0, pos * 3, 255 - pos * 3)
        
    def rainbow_cycle(self, wait, numled, pin_num):
        neopixel_id = neopixel.NeoPixel(machine.Pin(pin_num), numled)
        for j in range(255):
            for i in range(numled):
                pixel_index = (i * 256 // numled) + j
                neopixel_id[i] = self.wheel(pixel_index &amp;amp; 255)
                neopixel_id.write()
                time.sleep(wait)
                
    def rainbow_cycle_spi(self, wait, numled, pin_num):
        frame = []
        
        self.spi = machine.SPI(self.spi_num, baudrate=8000000, polarity = 0, phase = 0, sck = self.sck_pin, mosi = self.mosi_pin, miso = self.miso_pin, firstbit=self.first_bit)

        #b, g, r = self.get_pixel(0x00, 0x00, 0xff)
        for j in range(255):            
            for i in range(self.leds):                
                pixel_index = (i * 256 // numled) + j
                r, g, b = self.wheel(pixel_index &amp;amp; 255)
                frame.append(0xFC)
                frame.append(b)
                frame.append(g)
                frame.append(r)
            self.spi.write(self.start_frame)
            self.spi.write(bytearray(frame))
            self.spi.write(&amp;#39;b\x07&amp;#39;)
            time.sleep(wait)
            frame = []
            
            
    def wheel2(self, pos):
        
        if(pos) &amp;lt; 1365:
            return (pos * 3, 4096 - pos * 3 , 0)
        
        elif pos &amp;lt; 2730:
            pos -= 85
            return (4096 - pos * 3 , 0, pos * 3)
        
        else:
            pos -= 2730 
            return (0, pos * 3, 4096 - pos * 3 )
            
    def rainbow_cycle_spi2(self, wait, numled):
        
        frame = []
        self.spi = machine.SPI(self.spi_num, baudrate=8000000, polarity = 0, phase = 0, sck = 40, mosi = 13, miso = 38, firstbit=0)
        
        for i in range(numled):
            for k in range(48):
                if((color &amp;gt;&amp;gt; i) &amp;amp; 0x1):
                    frame.append(0xFC)
                else:
                    frame.append(0xC0)
                    
            send = bytearray(frame)
            self.spi.write(send)
            time.sleep(wait)
            frame = []
        
                
eff  = LIGHT_EFFECTS()

while True:
    eff.rainbow_cycle(0.0000001, 9, 12)
    eff.rainbow_cycle(0.00001, 7, 47)
    eff.rainbow_cycle(0.000001, 5, 45)
    eff.rainbow_cycle_spi(0.01, 5, 45)
    #eff.rainbow_cycle_spi2(0.001, 3)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Smart car chamber #5 Solder Method for WL-ICLEDs</title><link>https://community.element14.com/thread/56375?ContentTypeID=0</link><pubDate>Sat, 08 Nov 2025 14:02:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fc71f0a5-4b9b-4222-b111-0f60de3476c5</guid><dc:creator>fyaocn</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/56375?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/challenges-projects/design-challenges/light-up-your-life/f/forum/56375/smart-car-chamber-5-solder-method-for-wl-icleds/rss?ContentTypeId=0</wfw:commentRss><description>&lt;h3 id="mcetoc_1j9hnh7lb0"&gt;1 Solder method for WL-ICLED&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Just briefing the solder method for WL-ICLED with the 4-pin production,&amp;nbsp;&amp;nbsp;1312020030000, 1313210530000, 1315050930002, since there are&amp;nbsp; still some problems driving 6-pin.&lt;/span&gt;&lt;span&gt;But the principle are the same.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The soldering methods include using a soldering iron, hot air gun, and soldering station.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hnh7lb1" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;1.1 Characteristics of the LEDs&lt;/h3&gt;
&lt;ul class="auto-hide-last-sibling-br"&gt;
&lt;li&gt;&lt;strong&gt;Package Type&lt;/strong&gt;: All are 4-Pin SMDs &amp;ndash; 1313210530000 (Side View SMD), 1312020030000 and 1315050930002 (PLCC4 package). They feature standard pin pitch (typically 2.0-2.5mm, no ultra-fine pitch) and a small number of pins, resulting in moderate soldering difficulty.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Key Sensitivity&lt;/strong&gt;: LED chips are heat-sensitive (maximum tolerance: &amp;le;260℃ for &amp;le;10 seconds). Pins are prone to oxidation; cold solder joints and bridging must be avoided.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j9hnh7lb2" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;1.2 Pre-Soldering Preparation&lt;/h3&gt;
&lt;ul class="auto-hide-last-sibling-br"&gt;
&lt;li&gt;&lt;strong&gt;PCB Preprocessing&lt;/strong&gt;: Clean pads with anhydrous ethanol to remove oil and oxide layers. The new PCB is OK, but check first.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Solder Selection&lt;/strong&gt;: Use lead-free solder wire (0.3-0.5mm diameter) with no-clean flux (reduces soldering temperature and prevents oxidation). Or use solder paste with appropriate character, most of which start from 183 &lt;span&gt;℃&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Calibration&lt;/strong&gt;: Calibrate the soldering iron/soldering station to 280-320℃; match the hot air gun&amp;rsquo;s temperature and airflow (to avoid blowing off components). Use solder plate the temperature setting shall be low enough. In this case, 220&amp;nbsp;&lt;span&gt;℃ for solder plate and 280℃ for solder iron&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j9hnh7lc3"&gt;2&amp;nbsp;Solder&amp;nbsp;iron used for&amp;nbsp;1315050930002&lt;/h3&gt;
&lt;h3 id="mcetoc_1j9hnh7lc4" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;2.1 Soldering Iron Method (Manual Point-to-Point Soldering)&lt;/h3&gt;
&lt;h4 class="header-iWP5WJ auto-hide-last-sibling-br"&gt;Soldering Steps&lt;/h4&gt;
&lt;ol class="auto-hide-last-sibling-br"&gt;
&lt;li&gt;&lt;strong&gt;Component Positioning&lt;/strong&gt;: Place the WL-ICLED SMD accurately on the PCB pads, ensuring all 4 pins align with the pads (note the pin orientation of the Side View product 1313210530000 to avoid reverse mounting).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Temporary Fixing&lt;/strong&gt;: Hold the component with tweezers, dip the soldering iron in a small amount of solder, and solder one pin to temporarily secure the component. Check for misalignment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full Soldering&lt;/strong&gt;: Solder the remaining 3 pins sequentially. Touch both the pin and pad with the iron tip, feed solder wire after 1-2 seconds, and remove the solder wire first, then the iron once the solder uniformly wets the pin-pad junction (forming a smooth solder joint).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cleaning &amp;amp; Trimming&lt;/strong&gt;: Use desoldering braid to remove excess solder (preventing bridging) and wipe residual flux with anhydrous ethanol.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Like this, this is photo for capacitor, same to the&amp;nbsp;1315050930002.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1991662383.jpg" /&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hnh7lc4" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;2.2 Short circuit and bug detection&lt;/h3&gt;
&lt;p&gt;I am too quick in put everything in place. But&amp;nbsp; it frustrated me with the five WL-ICLED black out. It is liable to overtemperature and break the LED with solder iron. I have to remove them all to check one by one.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1446188508.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Before I start to remove them I chech with multimeter, I found out that the Vcc and GND is short-circuited. I guess there may be the short circuit but capacitor. I remove all capacitors and check one by one. Capacitor can withstand high temperature, so it is easy to do it even prolong the heating time.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1528751169.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Yes, it works. The solding for LED is OK, save lots of time for me.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/651806353.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;This video shows one bug from software, there are two LED skipped. Only three ones blinks. I shall explain later in next post. That is ineresting foundout. Anyway, solder is Good.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/VID20251107103355.mp4"&gt;community.element14.com/.../VID20251107103355.mp4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The solder iron is quick and easy to use. Even for smaller parts, that is OK. But temperature control need skill and experience.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Advantages&lt;/th&gt;
&lt;th&gt;Disadvantages&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Low tool cost (affordable soldering irons under $20), low entry barrier &amp;ndash; ideal for small-batch production or repairs.
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
2. Localized heating minimizes thermal shock to the LED chip (chip temperature &amp;le;200℃, reducing damage risk).
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
3. Easy solder volume control reduces bridging; high soldering precision (simpler for 4-pin components).
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
4. No complex equipment debugging &amp;ndash; suitable for on-site quick soldering.&lt;/td&gt;
&lt;td&gt;1. Low efficiency (30-60 seconds per component) &amp;ndash; unsuitable for mass production.
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
2. Skill-dependent; beginners may experience cold solder joints (insufficient heating) or dry joints (poor pad wetting).
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
3. The Side View product 1313210530000 may have obscured pins due to packaging, requiring angle adjustments for visibility.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I prefer to solder iron in most cases.&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hnh7lc5"&gt;3 Solder plate for &lt;span&gt;&amp;nbsp;1312020030000, 1313210530000&lt;/span&gt;&lt;/h3&gt;
&lt;h3 id="mcetoc_1j9hosu0q9" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;3.1 Solder plate -Soldering Station Method (Temperature-Controlled Platform + Auxiliary Tools &amp;ndash; Nearly Professional-Grade Soldering)&lt;/h3&gt;
&lt;p&gt;It is not difficult to buy one solder plate and solder paste. This is mini-version of solder station, in fact it is just one normal solder plate.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/2029581129.jpg" /&gt;&lt;/p&gt;
&lt;h4 class="header-iWP5WJ auto-hide-last-sibling-br"&gt;Steps&lt;/h4&gt;
&lt;ol class="auto-hide-last-sibling-br"&gt;
&lt;li&gt;&lt;strong&gt;PCB Fixing&lt;/strong&gt;: Secure the PCB on the temperature-controlled soldering station with clamps (to prevent movement during heating).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Preheating&lt;/strong&gt;: Set the soldering station to 220-250℃ to preheat the pad area (ensures uniform heating and reduces temperature differences during soldering).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Solder Paste Application&lt;/strong&gt;: Apply a small amount of lead-free solder paste (preferrable Sn-Ag-Cu, particle size 20-45&amp;mu;m) to the pads using a stencil or dispenser.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Component Mounting&lt;/strong&gt;: Place the WL-ICLED SMD accurately on the solder paste with tweezers or a pick-and-place machine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heating &amp;amp; Soldering&lt;/strong&gt;: Raise the station temperature to 280-300℃, hold for 5-8 seconds, and cool to room temperature once the paste melts and wets the pins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inspection &amp;amp; Trimming&lt;/strong&gt;: Inspect solder quality with a magnifying glass (focus on bridging/dry joints) and touch up with a soldering iron if needed.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Since this is small PCB and mini solder plate is enough. Normally steel mesh for LED can be ordered with PCB at the same time. So as to apply the solder paster one time only and evenly without any problems.&lt;/p&gt;
&lt;p&gt;In fact, I just dip the solder paste with hand. This lead to low quality in soldering by unevenly distributed solder paster.&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hp3a09b" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;3.2 For&amp;nbsp;1312020030000&lt;/h3&gt;
&lt;p&gt;Prepare the PCB and apply solder paste, put first capacitor in place.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/404628854.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Position all the&amp;nbsp;1313210530000 leds,&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/896309590.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;no need to worry about the precise position. If the paste applied evenly, the melted paste can pull the led in right position in the end.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/798403075.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;It is preferrable to finish one LED first to confirm the polarization&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1778977942.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;as the video shows,&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/VID20251107112948.mp4"&gt;community.element14.com/.../VID20251107112948.mp4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then put all others in same manner. But things is not always go easy , the middle one(the 3nd ) led is not blinking .&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/VID20251107123511.mp4"&gt;community.element14.com/.../VID20251107123511.mp4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After visual inspection, I find out that there paste is not evenly applied on all four-pin. So, it is pull off original position and off-load one of the pin.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I use simple solution to fix it. Put it on solder plate and heating again and take off the solder plate and cooling the PCB. AND, press the LED in right position&amp;nbsp; on PCB with a tweezer until it cool down.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hp3a09b" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;3.3 For&amp;nbsp;1313210530000&lt;/h3&gt;
&lt;p&gt;This is smallest PCB of all six LEDs, and it is side view LED.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/_5563B783_.PNG" /&gt;&lt;/p&gt;
&lt;p&gt;I have made a mistake in PCB design. I select wrong model and the arrangement of PIN pad is different. the PIN&amp;nbsp; pad 2 and 3 shall be in opposition side.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once I appliy solder paste bit by bit and finish routine solder process, the LED is always black.&lt;/p&gt;
&lt;p&gt;What a mistake. I do not have enough time to revise the design and order new PCB again.&lt;/p&gt;
&lt;p&gt;I have to use one silly step again. apply minimum solder paste and solder&amp;nbsp;1313210530000 led one by one. As described above, repositoin the LED with tweezer during cooling down.&lt;/p&gt;
&lt;p&gt;And finally, all positioned.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/1457209662.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;And luckly, all work fine.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/446/VID20251107134051.mp4"&gt;community.element14.com/.../VID20251107134051.mp4&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hp3a09b" class="header-iWP5WJ auto-hide-last-sibling-br"&gt;3.4 A little summary on to and pro&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Advantages&lt;/th&gt;
&lt;th&gt;Disadvantages&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Precise temperature control (&amp;plusmn;5℃ error) minimizes thermal shock to the LED chip &amp;ndash; highest soldering yield (&amp;ge;99%).
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
2. Extremely high efficiency; supports simultaneous soldering of multiple components (e.g., arrays of WL-ICLEDs) &amp;ndash; ideal for mass production.
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
3. Stable soldering quality; eliminates human error for uniform, durable solder joints with strong long-term reliability.
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
4. Compatible with all three products (Side View 1313210530000 and PLCC4 packages) &amp;ndash; no visibility or heating blind spots.&lt;/td&gt;
&lt;td&gt;1. High equipment cost ($200-$1000 for professional stations) &amp;ndash; significant initial investment.
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
2. Requires supporting consumables (solder paste, stencils, clamps) and complex workflows (preheating, temperature control, cooling).
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
3. Low cost-effectiveness for small-batch production or repairs (time-consuming setup/debugging).&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j9hnh7lc6"&gt;4&amp;nbsp;Solder method&amp;nbsp;of&amp;nbsp;&lt;span&gt;hot air gun&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;This is the most popular choice for all. And high efficiency for refurbishment and repair in all situation.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Here is routine for hot air gun heating,&lt;/span&gt;&lt;/p&gt;
&lt;h4 class="header-iWP5WJ auto-hide-last-sibling-br"&gt;Soldering Steps&lt;/h4&gt;
&lt;ol class="auto-hide-last-sibling-br"&gt;
&lt;li&gt;&lt;strong&gt;Flux Application&lt;/strong&gt;: Apply a thin layer of flux evenly on the PCB pads (enhances solder fluidity and prevents oxidation).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Component Positioning&lt;/strong&gt;: Place the WL-ICLED SMD accurately on the pads and hold it with tweezers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hot Air Heating&lt;/strong&gt;: Equip the hot air gun with a dedicated SMD nozzle (5-8mm diameter, matching the 4-pin package). Set the temperature to 300-330℃ and airflow to appropriete levels (tavoid blowing off the component). Hold the nozzle 3-5mm above the component at a 45&amp;deg; angle and heat in a circular motion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Touch-Up &amp;amp; Trimming&lt;/strong&gt;: Once the pre-applied solder/paste melts and wets the pins, continue heating for 1-2 seconds, then remove the gun. After cooling to room temperature, check for bridging and clean excess solder with desoldering braid.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;While I skip this choice , since&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Advantages&lt;/th&gt;
&lt;th&gt;Disadvantages&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Uniform heating solders all&amp;nbsp; pins simultaneously &amp;ndash; high efficiency&amp;nbsp; suitable for medium-batch production.
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
2. Lower skill requirement than a soldering iron.&lt;/td&gt;
&lt;td&gt;1. Tool cost something and requires dedicated nozzles.
&lt;div class="container-Uxvbjy md-box-line-break wrapper-GYqxgQ undefined"&gt;&lt;/div&gt;
2. Improper temperature/airflow control may damage the LED chip&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hnh7lc7"&gt;5 Comparation of Solder method&lt;/h3&gt;
&lt;p&gt;Simple suggesion below&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Soldering Method&lt;/th&gt;
&lt;th&gt;Core Advantages&lt;/th&gt;
&lt;th&gt;Applicable Scenarios&lt;/th&gt;
&lt;th&gt;Not Recommended For&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Iron&lt;/td&gt;
&lt;td&gt;Low cost, simple operation, minimal thermal shock&lt;/td&gt;
&lt;td&gt;Small-batch production, repairs, DIY&lt;/td&gt;
&lt;td&gt;Mass production, Side View packages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hot Air Gun&lt;/td&gt;
&lt;td&gt;High efficiency, uniform heating, compatible with Side View packages&lt;/td&gt;
&lt;td&gt;Medium-batch production, repairing soldering defects&lt;/td&gt;
&lt;td&gt;PCBs with nearby thermosensitive components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Station&lt;/td&gt;
&lt;td&gt;Stable quality, high yield, suitable for mass production(Steel mesh needed)&lt;/td&gt;
&lt;td&gt;Mass production, high-reliability requirements&lt;/td&gt;
&lt;td&gt;Small-batch production, repairs, DIY&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j9hnh7lc8"&gt;6 Some Hints&lt;/h3&gt;
&lt;p&gt;6.1 Visual inspection is important&lt;/p&gt;
&lt;p&gt;Prepare on mini magnifier with near-view illumination. This is view of&lt;span&gt;1313210530000, the IC-chip and RGB leds is easily read out.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/446/3326.PNG" /&gt;&lt;/p&gt;
&lt;p&gt;6.2 Software matters, demo code shall be used during solder process.&lt;/p&gt;
&lt;p&gt;The clock sequence may affect the one-wire WL-ICLED protocol. The 6-pins WL-ICLED equipped with clock pin, it would be more stable.&lt;/p&gt;
&lt;p&gt;6.3 Placement of&amp;nbsp; Capacitor can be re-designed in small PCB. In some PCB, not all capacitor is soldered on. But the LED blink GOOD. In one hand, the WL-ICLED is robust in harsh state. On the other hand, not all capacitor is mandatory.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>