<?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/"><channel><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684</link><pubDate>Fri, 17 Oct 2025 08:08:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>e14sbhargav</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Current Revision posted to Documents by e14sbhargav on 10/17/2025 8:08:27 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/9jpjoT2KtNE"&gt;https://youtu.be/9jpjoT2KtNE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/5707.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/8103.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a class="ui-contentpeek internal-link" href="/challenges-projects/element14-presents/m/files/150550" data-contentid="cfdefd43ee8543a0ba62f968e1f4de0a" data-contenttypeid="08ca0da0e0174a809832476c74d4f174" data-e14adj="t"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a12e8" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_BUY_KIT" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Kit&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9217b" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;amp;nsku=73AJ0329&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3b323" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;amp;nsku=26Y8459&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-073f2" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;amp;nsku=48AC8060&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-aab55" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;amp;nsku=43AC9928&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6dc01" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;amp;nsku=03P2462~3&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8558" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;amp;nsku=61M2834~2&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4256c" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;amp;nsku=05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project, friday_release&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/16</link><pubDate>Thu, 02 Oct 2025 10:25:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 16 posted to Documents by cstanton on 10/2/2025 10:25:27 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/9jpjoT2KtNE"&gt;https://youtu.be/9jpjoT2KtNE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a class="ui-contentpeek internal-link" href="/challenges-projects/element14-presents/m/files/150550" data-contentid="cfdefd43ee8543a0ba62f968e1f4de0a" data-contenttypeid="08ca0da0e0174a809832476c74d4f174" data-e14adj="t"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a12e8" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_BUY_KIT" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Kit&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9217b" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;amp;nsku=73AJ0329&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3b323" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;amp;nsku=26Y8459&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-073f2" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;amp;nsku=48AC8060&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-aab55" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;amp;nsku=43AC9928&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6dc01" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;amp;nsku=03P2462~3&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8558" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;amp;nsku=61M2834~2&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4256c" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;amp;nsku=05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/17</link><pubDate>Thu, 02 Oct 2025 10:25:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 17 posted to Documents by cstanton on 10/2/2025 10:25:27 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/9jpjoT2KtNE"&gt;https://youtu.be/9jpjoT2KtNE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/5707.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/8103.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a class="ui-contentpeek internal-link" href="/challenges-projects/element14-presents/m/files/150550" data-contentid="cfdefd43ee8543a0ba62f968e1f4de0a" data-contenttypeid="08ca0da0e0174a809832476c74d4f174" data-e14adj="t"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a12e8" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_BUY_KIT" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Kit&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9217b" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;amp;nsku=73AJ0329&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3b323" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;amp;nsku=26Y8459&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-073f2" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;amp;nsku=48AC8060&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-aab55" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;amp;nsku=43AC9928&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6dc01" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;amp;nsku=03P2462~3&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8558" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;amp;nsku=61M2834~2&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4256c" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;amp;nsku=05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/12</link><pubDate>Thu, 25 Sep 2025 12:15:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 12 posted to Documents by cstanton on 9/25/2025 12:15:00 PM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;












        &lt;div style="width:640px;height:360px;" class="se-vm-wrapper fragment-b3ddff4f373f41a3befafb182a78f9e91248304399_media se-video-view se-video-frame-container hidden"&gt;
            
    
    



&lt;div class="se-video-viewer-flex-space-between se-video-viewer-controls hidden"&gt;
    &lt;div&gt;
        &lt;span class="se-media-rating-control"&gt;&lt;/span&gt;
	&lt;/div&gt;
	
		&lt;div class="navigation-list" data-direction="vertical"&gt;
        Share
    &lt;/div&gt;
    &lt;/div&gt;


&lt;div class="se-video-modal-curtain se-modal-enabled hidden"&gt;&lt;/div&gt;

&lt;div class="se-video-modal se-modal-enabled hidden"&gt;
        &lt;div class="modal-title"&gt;
        &lt;div class="modal-close-wrapper"&gt;
            &lt;div class="se-video-modal-close modal-close"&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div&gt;Share media&lt;/div&gt;
    &lt;/div&gt;

    
        &lt;div class="se-video-viewer-flex-space-between" style="margin:20px 0 10px 0;"&gt;
        
            
        
    
        &lt;div class="navigation-list" data-direction="vertical"&gt;
            COPY
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



    &lt;/div&gt;


    &lt;div class="se-vm-wrapper fragment-b3ddff4f373f41a3befafb182a78f9e91248304399_media se-video-editor hidden"&gt;
        


&lt;div class="se-video-modal-curtain hidden"&gt;&lt;/div&gt;

&lt;div class="se-video-modal"&gt;
        &lt;div class="modal-title hidden"&gt;
        &lt;div class="modal-close-wrapper"&gt;
            &lt;div class="se-video-modal-close modal-close"&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div&gt;Edit media&lt;/div&gt;
    &lt;/div&gt;
    
    
        &lt;div&gt;
                &lt;div class="se-video-flex-row-center se-video-editor-dimensions hidden" style="margin-bottom:20px;"&gt;
            Dimensions
            
                        
            
            &lt;span style="margin:0 5px;"&gt;x&lt;/span&gt;
            
                        
            
                        
                Small
                Medium
                Large
                Custom
            
        &lt;/div&gt;
        
        
                Subject &lt;b&gt;(required)&lt;/b&gt;
        
        
                Brief Description
        
        
                Tags (separated by comma)
        
        
                Video visibility in search results
        
            Visible
            Hidden
        
        
                &lt;div class=""&gt;
            Parent content
            &lt;div class="se-video-flex-row" style="margin-bottom:15px;"&gt;
                
                                    Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684
                                
                
                
                    
                
            &lt;/div&gt;
        &lt;/div&gt;
        
                Poster
        
        
        &lt;div class="se-video-flex-row" style="margin-bottom:10px;"&gt;
            Upload
            Preview
        &lt;/div&gt;
        
                &lt;div style="height:100px;"&gt;
            &lt;div class="se-video-editor-og-image-wrapper hidden"&gt;
                
            &lt;/div&gt; 
        &lt;/div&gt;
        
                
                &lt;div style="margin-top:20px;"&gt;
            &lt;div class="se-editor-submit-button mce-widget mce-btn mce-primary mce-first mce-btn-has-text"&gt;
                
                    &lt;span class="mce-txt"&gt;Ok&lt;/span&gt;
                
            &lt;/div&gt;
            
            &lt;div class="se-editor-cancel-button mce-widget mce-btn mce-last mce-btn-has-text"&gt;
                
                    &lt;span class="mce-txt"&gt;Cancel&lt;/span&gt;
                
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




    &lt;/div&gt;


	

	

	

	

   
&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150550" data-contentid="cfdefd43ee8543a0ba62f968e1f4de0a" data-contenttypeid="08ca0da0e0174a809832476c74d4f174" class="ui-contentpeek internal-link" data-e14adj="t"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a12e8" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9217b" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;amp;nsku=73AJ0329&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3b323" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;amp;nsku=26Y8459&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-073f2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;amp;nsku=48AC8060&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-aab55" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;amp;nsku=43AC9928&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6dc01" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;amp;nsku=03P2462~3&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8558" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;amp;nsku=61M2834~2&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4256c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;amp;nsku=05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN" class="e14-embedded e14_shopping-cart-far e14-button" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/13</link><pubDate>Thu, 25 Sep 2025 11:18:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 13 posted to Documents by cstanton on 9/25/2025 11:18:49 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/QXSir2LBVU8"&gt;https://youtu.be/QXSir2LBVU8&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a class="ui-contentpeek internal-link" href="/challenges-projects/element14-presents/m/files/150550" data-contentid="cfdefd43ee8543a0ba62f968e1f4de0a" data-contenttypeid="08ca0da0e0174a809832476c74d4f174" data-e14adj="t"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a12e8" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_BUY_KIT" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Kit&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9217b" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;amp;nsku=73AJ0329&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3b323" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;amp;nsku=26Y8459&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-073f2" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;amp;nsku=48AC8060&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-aab55" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;amp;nsku=43AC9928&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6dc01" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;amp;nsku=03P2462~3&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8558" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;amp;nsku=61M2834~2&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4256c" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;amp;nsku=05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/14</link><pubDate>Thu, 25 Sep 2025 11:18:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>e14sbhargav</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 14 posted to Documents by e14sbhargav on 9/25/2025 11:18:49 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/QXSir2LBVU8"&gt;https://youtu.be/QXSir2LBVU8&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/5707.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/8103.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a class="ui-contentpeek internal-link" href="/challenges-projects/element14-presents/m/files/150550" data-contentid="cfdefd43ee8543a0ba62f968e1f4de0a" data-contenttypeid="08ca0da0e0174a809832476c74d4f174" data-e14adj="t"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a12e8" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_BUY_KIT" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Kit&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9217b" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;amp;nsku=73AJ0329&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3b323" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;amp;nsku=26Y8459&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-073f2" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;amp;nsku=48AC8060&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-aab55" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;amp;nsku=43AC9928&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6dc01" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;amp;nsku=03P2462~3&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8558" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;amp;nsku=61M2834~2&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4256c" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;amp;nsku=05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/15</link><pubDate>Thu, 25 Sep 2025 11:18:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 15 posted to Documents by cstanton on 9/25/2025 11:18:49 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/QXSir2LBVU8"&gt;https://youtu.be/QXSir2LBVU8&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" style="max-height:360px;max-width:640px;" alt="image" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a class="ui-contentpeek internal-link" href="/challenges-projects/element14-presents/m/files/150550" data-contentid="cfdefd43ee8543a0ba62f968e1f4de0a" data-contenttypeid="08ca0da0e0174a809832476c74d4f174" data-e14adj="t"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a12e8" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_BUY_KIT" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Kit&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9217b" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;amp;nsku=73AJ0329&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3b323" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;amp;nsku=26Y8459&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-073f2" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;amp;nsku=48AC8060&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-aab55" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;amp;nsku=43AC9928&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6dc01" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;amp;nsku=03P2462~3&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8558" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;amp;nsku=61M2834~2&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4256c" class="e14-embedded e14_shopping-cart-far e14-button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;amp;nsku=05H4989&amp;amp;COM=e14c-noscript&amp;amp;CMP=e14c-noscript&amp;amp;osetc=e14-noscript-tracking-loss" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" data-at-label="PRODUCT_POPUP_OPEN" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" target="_blank" data-e14adj="t"&gt;Buy Now&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/11</link><pubDate>Thu, 25 Sep 2025 11:15:33 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 11 posted to Documents by cstanton on 9/25/2025 11:15:33 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/QXSir2LBVU8"&gt;https://youtu.be/QXSir2LBVU8&lt;/a&gt;&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150550"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-24634" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('24634'));" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-03c92" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;nsku=73AJ0329&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('03c92'));" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-fcb68" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;nsku=26Y8459&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('fcb68'));" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5b426" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;nsku=48AC8060&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5b426'));" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2e110" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;nsku=43AC9928&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2e110'));" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-32734" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;nsku=03P2462~3&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('32734'));" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7d976" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;nsku=61M2834~2&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7d976'));" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9f1f6" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;nsku=05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('9f1f6'));" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/10</link><pubDate>Thu, 25 Sep 2025 11:15:04 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 10 posted to Documents by cstanton on 9/25/2025 11:15:04 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/QXSir2LBVU8"&gt;https://youtu.be/QXSir2LBVU8&lt;/a&gt;&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150550"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-72d5e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('72d5e'));" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-db9fa" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;nsku=73AJ0329&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('db9fa'));" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-db5aa" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;nsku=26Y8459&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('db5aa'));" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d1946" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;nsku=48AC8060&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d1946'));" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-eddd6" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;nsku=43AC9928&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('eddd6'));" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-502b8" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;nsku=03P2462~3&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('502b8'));" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-64874" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;nsku=61M2834~2&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('64874'));" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a5442" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;nsku=05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a5442'));" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/9</link><pubDate>Thu, 25 Sep 2025 11:09:58 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 9 posted to Documents by cstanton on 9/25/2025 11:09:58 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p data-start="185" data-end="622"&gt;&lt;a href="https://www.youtube.com/watch?v=QXSir2LBVU8"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150550"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-d4539" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d4539'));" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a258f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;nsku=73AJ0329&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a258f'));" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4fe10" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;nsku=26Y8459&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('4fe10'));" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c2914" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;nsku=48AC8060&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c2914'));" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a137e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;nsku=43AC9928&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a137e'));" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-add54" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;nsku=03P2462~3&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('add54'));" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-dc5f5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;nsku=61M2834~2&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('dc5f5'));" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-03ed0" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;nsku=05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('03ed0'));" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/8</link><pubDate>Thu, 25 Sep 2025 11:09:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 8 posted to Documents by cstanton on 9/25/2025 11:09:27 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an 8x8 NeoPixel Matrix and an audio analyser, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/NatashaDzurny_5F00_VUmeter_5F00_microbit-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the audio analyser chip, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser. These values are passed to the micro:bit and then mapped to LED columns on the matrix, creating a bar-style visualisation.&lt;/p&gt;
&lt;p data-start="1098" data-end="1125"&gt;The pin connections were:&lt;/p&gt;
&lt;ul data-start="1126" data-end="1241"&gt;
&lt;li data-start="1126" data-end="1144"&gt;
&lt;p data-start="1128" data-end="1144"&gt;&lt;strong data-start="1128" data-end="1142"&gt;Reset &amp;rarr; P2&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1145" data-end="1164"&gt;
&lt;p data-start="1147" data-end="1164"&gt;&lt;strong data-start="1147" data-end="1162"&gt;Strobe &amp;rarr; P0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1165" data-end="1182"&gt;
&lt;p data-start="1167" data-end="1182"&gt;&lt;strong data-start="1167" data-end="1180"&gt;Data &amp;rarr; P1&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1183" data-end="1241"&gt;
&lt;p data-start="1185" data-end="1241"&gt;&lt;strong data-start="1185" data-end="1202"&gt;NeoPixel &amp;rarr; P8&lt;/strong&gt;&lt;span class="" data-state="closed"&gt;&lt;span class="relative inline-flex items-center"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong data-start="1185" data-end="1202"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s strobe, data, and reset pins to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Handling Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added sensitivity adjustment using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&amp;nbsp;Natasha initially considered using a potentiometer to adjust sensitivity, but found that MakeCode&amp;rsquo;s analogue read function introduced a 20ms delay, which was enough to make the animation appear choppy.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualiser as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage, it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&amp;nbsp;Inside the box, she needed to accommodate the audio analyser, the micro:bit, and connectors for both USB power and a 3.5mm audio cable. Since the micro:bit&amp;rsquo;s onboard buttons would be inaccessible once enclosed, she added two external push-buttons, mounted through drilled holes in the case. These extend sensitivity control to the outside of the enclosure.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping, keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the micro:bit edge connector&lt;strong data-start="4887" data-end="4923"&gt; &lt;/strong&gt;adapter. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&amp;nbsp;The soldering was messy and stressful, but functional. In hindsight, Natasha recommends that anyone replicating this project either buy a proper off-the-shelf breakout board or design a custom PCB, as the edge connector she used is really intended for PCB-mounted applications.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realised the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-2.jpeg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use. It demonstrates how the micro:bit can be paired with external hardware such as NeoPixels and audio analysers to create interactive displays without advanced coding.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition, making her LED bike project audio reactive. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/microBitVUMeter_5F00_NeoPixel8x8-_2D00_-3.jpeg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150550"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&amp;nbsp;(&lt;a href="https://web.archive.org/save/https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;web archive snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-3f6af" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('3f6af'));" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a0d75" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;nsku=73AJ0329&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a0d75'));" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f5abc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;nsku=26Y8459&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f5abc'));" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7f3de" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;nsku=48AC8060&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7f3de'));" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7c2e1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;nsku=43AC9928&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7c2e1'));" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6d18d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;nsku=03P2462~3&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6d18d'));" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6ffc3" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;nsku=61M2834~2&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6ffc3'));" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-72824" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;nsku=05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('72824'));" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/7</link><pubDate>Thu, 25 Sep 2025 10:58:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 7 posted to Documents by cstanton on 9/25/2025 10:58:18 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an &lt;strong data-start="762" data-end="785"&gt;8x8 NeoPixel Matrix&lt;/strong&gt; and an &lt;strong data-start="793" data-end="811"&gt;audio analyser&lt;/strong&gt;, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the &lt;strong data-start="1261" data-end="1284"&gt;audio analyzer chip&lt;/strong&gt;, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser.&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s &lt;strong data-start="1653" data-end="1685"&gt;strobe, data, and reset pins&lt;/strong&gt; to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added &lt;strong data-start="2824" data-end="2850"&gt;sensitivity adjustment&lt;/strong&gt; using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualizer as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage&amp;mdash;it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping&amp;mdash;keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the &lt;strong data-start="4887" data-end="4923"&gt;micro:bit edge connector adapter&lt;/strong&gt;. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realized the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4718.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition&amp;mdash;making her &lt;strong data-start="7447" data-end="7482"&gt;LED bike project audio reactive&lt;/strong&gt;. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links and Code Files&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150550"&gt;Episode 684 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;a title="micro:bit scratch code" href="https://makecode.microbit.org/_39g0hYHxw62k" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;micro:bit scratch code&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j608bdh00"&gt;Related Content&lt;/h2&gt;
&lt;p&gt;-&amp;nbsp;&lt;a href="/learn/learning-center/stem-academy/microbit/microbit-tutorial-videos/b/blog" data-e14adj="t"&gt;micro:bit project blogs&lt;/a&gt;&amp;nbsp;(LED Bike Project)&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://www.youtube.com/@TechnoChic" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;More from TechnoChic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-9bf0c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('9bf0c'));" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-89901" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;nsku=73AJ0329&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('89901'));" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8f0ee" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;nsku=26Y8459&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8f0ee'));" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7fa4d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;nsku=48AC8060&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7fa4d'));" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a8778" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;nsku=43AC9928&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a8778'));" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8be0c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;nsku=03P2462~3&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8be0c'));" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-17959" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;nsku=61M2834~2&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('17959'));" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-34bbb" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;nsku=05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('34bbb'));" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/6</link><pubDate>Thu, 25 Sep 2025 10:33:19 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 6 posted to Documents by cstanton on 9/25/2025 10:33:19 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an &lt;strong data-start="762" data-end="785"&gt;8x8 NeoPixel Matrix&lt;/strong&gt; and an &lt;strong data-start="793" data-end="811"&gt;audio analyser&lt;/strong&gt;, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the &lt;strong data-start="1261" data-end="1284"&gt;audio analyzer chip&lt;/strong&gt;, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser.&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s &lt;strong data-start="1653" data-end="1685"&gt;strobe, data, and reset pins&lt;/strong&gt; to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added &lt;strong data-start="2824" data-end="2850"&gt;sensitivity adjustment&lt;/strong&gt; using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualizer as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage&amp;mdash;it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping&amp;mdash;keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the &lt;strong data-start="4887" data-end="4923"&gt;micro:bit edge connector adapter&lt;/strong&gt;. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realized the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4718.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition&amp;mdash;making her &lt;strong data-start="7447" data-end="7482"&gt;LED bike project audio reactive&lt;/strong&gt;. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-0ec29" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0ec29'));" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1dc24" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;nsku=73AJ0329&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1dc24'));" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e1b89" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;nsku=26Y8459&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e1b89'));" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f7f73" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;nsku=48AC8060&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f7f73'));" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-eefac" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;nsku=43AC9928&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('eefac'));" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7309a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;nsku=03P2462~3&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7309a'));" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e263e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;nsku=61M2834~2&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e263e'));" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-bcb20" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;nsku=05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('bcb20'));" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/5</link><pubDate>Thu, 25 Sep 2025 10:32:39 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 5 posted to Documents by cstanton on 9/25/2025 10:32:39 AM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an &lt;strong data-start="762" data-end="785"&gt;8x8 NeoPixel Matrix&lt;/strong&gt; and an &lt;strong data-start="793" data-end="811"&gt;audio analyser&lt;/strong&gt;, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the &lt;strong data-start="1261" data-end="1284"&gt;audio analyzer chip&lt;/strong&gt;, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser.&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s &lt;strong data-start="1653" data-end="1685"&gt;strobe, data, and reset pins&lt;/strong&gt; to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added &lt;strong data-start="2824" data-end="2850"&gt;sensitivity adjustment&lt;/strong&gt; using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualizer as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage&amp;mdash;it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping&amp;mdash;keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the &lt;strong data-start="4887" data-end="4923"&gt;micro:bit edge connector adapter&lt;/strong&gt;. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realized the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4718.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition&amp;mdash;making her &lt;strong data-start="7447" data-end="7482"&gt;LED bike project audio reactive&lt;/strong&gt;. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smna0"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-6a863" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058&amp;nsku=73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6a863'));" data-farnell="3847341,2816234,2563845,2807770,1634631~3,1357127~2,1341058" data-newark="73AJ0329,26Y8459,48AC8060,43AC9928,03P2462~3,61M2834~2,05H4989" data-comoverride="" data-cmpoverride="" data-cpc=",,,,undefined~3,undefined~2," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SBC, BBC MICRO:BIT SINGLE, V2.21, nRF52833&lt;/td&gt;
&lt;td&gt;BBC MICRO:BIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1da78" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3847341&amp;nsku=73AJ0329&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1da78'));" data-farnell="3847341" data-newark="73AJ0329" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RGB LED Pixel Matrix, NeoPixel NeoMatrix, 8x8, 64 LED&amp;#39;s&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ac84a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2816234&amp;nsku=26Y8459&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ac84a'));" data-farnell="2816234" data-newark="26Y8459" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2X40 RIGHT ANGLE EDGE CONNECTOR FOR MICRO:BIT&lt;/td&gt;
&lt;td&gt;ADAFRUIT&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2df20" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2563845&amp;nsku=48AC8060&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2df20'));" data-farnell="2563845" data-newark="48AC8060" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AUDIO CABLE, 3.5MM PLUG, 0.2M, BLACK&lt;/td&gt;
&lt;td&gt;ROLINE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3219c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2807770&amp;nsku=43AC9928&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('3219c'));" data-farnell="2807770" data-newark="43AC9928" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pushbutton Switch, Non-Latching, 12.2 mm, SPST-NO, Off-(On), Round, White&lt;/td&gt;
&lt;td&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f474c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1634631~3&amp;nsku=03P2462~3&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f474c'));" data-farnell="1634631~3" data-newark="03P2462~3" data-comoverride="" data-cmpoverride="" data-cpc="undefined~3" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotary Potentiometer, Cermet, 10 kohm, 1 Turns, Linear, 1 W, &amp;plusmn; 10%, P16 Series&lt;/td&gt;
&lt;td&gt;VISHAY&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5b3ab" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1357127~2&amp;nsku=61M2834~2&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5b3ab'));" data-farnell="1357127~2" data-newark="61M2834~2" data-comoverride="" data-cmpoverride="" data-cpc="undefined~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soldering Fume Extractor with Filter Fume Extractor, Benchtop, ESD, 12 VDC&lt;/td&gt;
&lt;td&gt;EDSYN&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-33f48" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1341058&amp;nsku=05H4989&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('33f48'));" data-farnell="1341058" data-newark="05H4989" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j606smnb1"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSGEQ7 Seven Band Spectrum Analyzer Breakout Board ( https://amzn.to/4f28d21 )&lt;/td&gt;
&lt;td&gt;Neem Tech&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BCW Hockey Puck Display Case Cube Holder 6-Pack, Crystal Clear, Stackable ( https://amzn.to/3IELqgc )&lt;/td&gt;
&lt;td&gt;BCW&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ELEGOO 32 Pcs Double Sided PCB Board Prototype Kit for DIY Soldering with 5 Sizes Compatible with Arduino Kits ( https://amzn.to/4kDg7zT )&lt;/td&gt;
&lt;td&gt;ELEGOO&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UGlu Dash Sheets, 1/2 in. x 5/8 in. dashes (https://amzn.to/4lQLXu7)&lt;/td&gt;
&lt;td&gt;UGlu&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Black Standoffs&lt;/td&gt;
&lt;td&gt;Ghlmetf&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sparkfun micro:bit breakout&lt;/td&gt;
&lt;td&gt;Sparkfun&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j606smnb2"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/4</link><pubDate>Wed, 24 Sep 2025 14:20:40 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 4 posted to Documents by cstanton on 9/24/2025 2:20:40 PM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s0" data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/h2&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u18b9s1" data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h2&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an &lt;strong data-start="762" data-end="785"&gt;8x8 NeoPixel Matrix&lt;/strong&gt; and an &lt;strong data-start="793" data-end="811"&gt;audio analyser&lt;/strong&gt;, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u18b9s2"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5707.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s3"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the &lt;strong data-start="1261" data-end="1284"&gt;audio analyzer chip&lt;/strong&gt;, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser.&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s &lt;strong data-start="1653" data-end="1685"&gt;strobe, data, and reset pins&lt;/strong&gt; to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u19qjo9" data-start="2563" data-end="2591"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4212.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s4" data-start="2563" data-end="2591"&gt;Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added &lt;strong data-start="2824" data-end="2850"&gt;sensitivity adjustment&lt;/strong&gt; using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualizer as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1j5u1avfqa" data-start="3551" data-end="3592"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/5873.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s5" data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage&amp;mdash;it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping&amp;mdash;keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1bk5nb" data-start="4803" data-end="4834"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8015.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s6" data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the &lt;strong data-start="4887" data-end="4923"&gt;micro:bit edge connector adapter&lt;/strong&gt;. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1c4g1c" data-start="5947" data-end="5971"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/0676.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s7" data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realized the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1csend" data-start="6766" data-end="6801"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/4718.jpg" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1j5u18b9s8" data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition&amp;mdash;making her &lt;strong data-start="7447" data-end="7482"&gt;LED bike project audio reactive&lt;/strong&gt;. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;p data-start="7653" data-end="7836"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/8103.jpg" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j5u1gfh5e"&gt;Supporting Links&lt;/h2&gt;
&lt;p&gt;- &lt;a href="/learn/learning-center/stem-academy/microbit/" data-e14adj="t"&gt;micro:bit on the element14 Community&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://referral.element14.com/OrderCodeView?url=%2Fbbc-microbit&amp;amp;COM=e14c-cmty-e14presents-684&amp;amp;CMP=e14c-cmty-e14presents-684&amp;amp;osetc=e14c-cmty-e14presents-684" target="_blank" data-e14adj="t"&gt;micro:bit on the online stores&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/3</link><pubDate>Wed, 24 Sep 2025 14:14:34 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 3 posted to Documents by cstanton on 9/24/2025 2:14:34 PM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h1 data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h1&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an &lt;strong data-start="762" data-end="785"&gt;8x8 NeoPixel Matrix&lt;/strong&gt; and an &lt;strong data-start="793" data-end="811"&gt;audio analyser&lt;/strong&gt;, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-start="1198" data-end="1226"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the &lt;strong data-start="1261" data-end="1284"&gt;audio analyzer chip&lt;/strong&gt;, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser.&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s &lt;strong data-start="1653" data-end="1685"&gt;strobe, data, and reset pins&lt;/strong&gt; to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 data-start="2563" data-end="2591"&gt;Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added &lt;strong data-start="2824" data-end="2850"&gt;sensitivity adjustment&lt;/strong&gt; using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualizer as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage&amp;mdash;it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping&amp;mdash;keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the &lt;strong data-start="4887" data-end="4923"&gt;micro:bit edge connector adapter&lt;/strong&gt;. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&lt;/p&gt;
&lt;h2 data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realized the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition&amp;mdash;making her &lt;strong data-start="7447" data-end="7482"&gt;LED bike project audio reactive&lt;/strong&gt;. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: diy audio reactive leds, microbit neopixel guide, diy electronics project microbit, microbit led project, led matrix microbit build, neopixel matrix tutorial, led music visualiser, audio analyser microbit, microbit spectrum analyser, neopixel audio display, element14 presents project, desk toy led visualiser, microbit audio visualisation, microbit coding with makecode, audio visualiser project&lt;/div&gt;
</description></item><item><title>Building an Audio Reactive LED Matrix with a Micro:bit and NeoPixels -- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/2</link><pubDate>Wed, 24 Sep 2025 14:13:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 2 posted to Documents by cstanton on 9/24/2025 2:13:10 PM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h1 data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h1&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an &lt;strong data-start="762" data-end="785"&gt;8x8 NeoPixel Matrix&lt;/strong&gt; and an &lt;strong data-start="793" data-end="811"&gt;audio analyser&lt;/strong&gt;, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-start="1198" data-end="1226"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the &lt;strong data-start="1261" data-end="1284"&gt;audio analyzer chip&lt;/strong&gt;, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser.&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s &lt;strong data-start="1653" data-end="1685"&gt;strobe, data, and reset pins&lt;/strong&gt; to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 data-start="2563" data-end="2591"&gt;Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added &lt;strong data-start="2824" data-end="2850"&gt;sensitivity adjustment&lt;/strong&gt; using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualizer as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage&amp;mdash;it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping&amp;mdash;keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the &lt;strong data-start="4887" data-end="4923"&gt;micro:bit edge connector adapter&lt;/strong&gt;. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&lt;/p&gt;
&lt;h2 data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realized the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition&amp;mdash;making her &lt;strong data-start="7447" data-end="7482"&gt;LED bike project audio reactive&lt;/strong&gt;. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>-- Episode 684</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684/revision/1</link><pubDate>Wed, 24 Sep 2025 14:12:32 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e04c3832-2b6e-43d9-9a2d-774e4e947ce4</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684#comments</comments><description>Revision 1 posted to Documents by cstanton on 9/24/2025 2:12:32 PM&lt;br /&gt;
&lt;p data-start="185" data-end="622"&gt;Join Natasha as she builds a custom LED matrix display from scratch, exploring the challenges of driving a large number of LEDs efficiently while keeping the design compact. She explains how she designed the PCB, tackled power distribution, and optimised the code to manage brightness and animations. Along the way, Natasha shares the lessons learned from debugging circuit issues, handling component tolerances, and ensuring the final project was both functional and visually impressive.&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;Watch&amp;nbsp;the Project Build&lt;/p&gt;
&lt;p data-start="185" data-end="622"&gt;&amp;lt;video embed&amp;gt;&lt;/p&gt;
&lt;h1 data-start="373" data-end="431"&gt;Building an Audio Reactive LED Matrix with a Micro:bit&lt;/h1&gt;
&lt;p data-start="433" data-end="935"&gt;Natasha&amp;rsquo;s latest project brings together LEDs, audio analysis, and a micro:bit to create a compact music visualiser for her desk. The goal wasn&amp;rsquo;t just to build something visually pleasing, but also to test audio-reactive animations before applying them to her larger LED bike project. By prototyping with an &lt;strong data-start="762" data-end="785"&gt;8x8 NeoPixel Matrix&lt;/strong&gt; and an &lt;strong data-start="793" data-end="811"&gt;audio analyser&lt;/strong&gt;, she could explore the process of mapping sound frequencies into light patterns in a controlled, small-scale environment.&lt;/p&gt;
&lt;blockquote data-start="937" data-end="1191"&gt;
&lt;p data-start="939" data-end="1191"&gt;&amp;ldquo;Before I go disconnecting wires and changing things on the main project, I wanted to create something small that I could keep on my desk while I&amp;rsquo;m experimenting with creating these audio reactive LED animations.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-start="1198" data-end="1226"&gt;Turning Audio into Data&lt;/h2&gt;
&lt;p data-start="1228" data-end="1619"&gt;At the heart of the build is the &lt;strong data-start="1261" data-end="1284"&gt;audio analyzer chip&lt;/strong&gt;, which outputs values corresponding to different frequency bands. Unlike a raw microphone input, which only gives overall loudness, the analyser breaks the signal down into seven discrete ranges, from low bass through higher treble. This allows each column of the LED matrix to represent a band, creating a spectrum-style visualiser.&lt;/p&gt;
&lt;p data-start="1621" data-end="1941"&gt;Natasha wired up the analyser&amp;#39;s &lt;strong data-start="1653" data-end="1685"&gt;strobe, data, and reset pins&lt;/strong&gt; to the micro:bit. The reset clears the analyser before each new cycle, and the strobe triggers a new frequency sample. The micro:bit then reads the data line one band at a time. These values are stored in an array that links directly to the LED columns.&lt;/p&gt;
&lt;blockquote data-start="1943" data-end="2212"&gt;
&lt;p data-start="1945" data-end="2212"&gt;&amp;ldquo;There are three important pins on the audio analyser, a strobe pin, a data pin and a reset pin&amp;hellip; and then I created a frequency array that was filled with the frequencies that the audio analyser will break the signal down into.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="2214" data-end="2556"&gt;From there, she mapped the raw values to an LED range. Instead of scaling exactly from 0&amp;ndash;8 LEDs (the height of the matrix), Natasha chose to shift the range slightly to leave some blank space at the bottom. This design choice made the animations more visually appealing by preventing the matrix from always being fully saturated with light.&lt;/p&gt;
&lt;h2 data-start="2563" data-end="2591"&gt;Sensitivity and Control&lt;/h2&gt;
&lt;p data-start="2593" data-end="3011"&gt;A common issue with audio-reactive projects is that different environments produce very different signal levels. A setup that looks great with loud music may show almost no response with quieter audio. To solve this, Natasha added &lt;strong data-start="2824" data-end="2850"&gt;sensitivity adjustment&lt;/strong&gt; using the A and B buttons on the micro:bit. These buttons adjust the mapping scale so the animation looks consistent without needing to change speaker volume.&lt;/p&gt;
&lt;p data-start="3013" data-end="3295"&gt;This kind of control is particularly useful when using the visualizer as a desk gadget. For example, when testing with her own voice through a microphone, the signal strength was much lower than music playback. By dialling up the sensitivity, she could still get smooth animations.&lt;/p&gt;
&lt;blockquote data-start="3297" data-end="3544"&gt;
&lt;p data-start="3299" data-end="3544"&gt;&amp;ldquo;If you are listening to quiet music, you don&amp;rsquo;t have to turn it up to get a really nice animation. You can actually just make it more sensitive or reduce the range that the audio is being displayed across.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-start="3551" data-end="3592"&gt;Fitting Hardware into a Compact Case&lt;/h2&gt;
&lt;p data-start="3594" data-end="3937"&gt;With the breadboard version working, Natasha turned to the mechanical side of the build: fitting all the parts into a small acrylic enclosure. She found a puck holder that fit the LED matrix perfectly, and planned to mount all other components inside the box. This quickly became a puzzle of component placement, cable routing, and mounting.&lt;/p&gt;
&lt;p data-start="3939" data-end="4208"&gt;She marked drilling points on the clear acrylic using a Sharpie and her cutting mat grid. Being able to see through the box was an advantage&amp;mdash;it made alignment much easier. The holes weren&amp;rsquo;t perfect, but they provided enough access for buttons, connectors, and wiring.&lt;/p&gt;
&lt;blockquote data-start="4210" data-end="4451"&gt;
&lt;p data-start="4212" data-end="4451"&gt;&amp;ldquo;Figuring out how to fit all of these components inside this acrylic box was a challenge. It took me a while to put all of the pieces in a configuration that it would work but I eventually got there.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="4453" data-end="4796"&gt;The decision to use connectors for the LED matrix and buttons was deliberate. By doing so, Natasha ensured that the matrix could be removed and re-used in future projects, and the buttons could be replaced if needed. This kind of foresight is important in prototyping&amp;mdash;keeping modules interchangeable helps when the design inevitably evolves.&lt;/p&gt;
&lt;h2 data-start="4803" data-end="4834"&gt;The Edge Connector Problem&lt;/h2&gt;
&lt;p data-start="4836" data-end="5095"&gt;One of the biggest technical hurdles came from the &lt;strong data-start="4887" data-end="4923"&gt;micro:bit edge connector adapter&lt;/strong&gt;. Natasha planned to solder the pins onto perfboard, but discovered too late that the connector&amp;rsquo;s pins were staggered and didn&amp;rsquo;t align with standard 0.1&amp;rdquo; perfboard holes.&lt;/p&gt;
&lt;p data-start="5097" data-end="5489"&gt;To work around this, she cut down the adapter, leaving only the front row of pins usable. This gave her access to about half the I/O lines she needed, but it made soldering extremely difficult. Without a proper breakout or custom PCB, she was forced to manually solder wires to tiny, closely-spaced pins&amp;mdash;a process she describes as one of the hardest soldering sessions she&amp;rsquo;s ever attempted.&lt;/p&gt;
&lt;blockquote data-start="5491" data-end="5674"&gt;
&lt;p data-start="5493" data-end="5674"&gt;&amp;ldquo;This was probably one of the hardest soldering sessions I have ever had in my life. I do not recommend that you do this&amp;hellip; Don&amp;rsquo;t DIY this way.&amp;rdquo; -&amp;nbsp;&lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="5676" data-end="5940"&gt;For others attempting a similar project, Natasha strongly advises buying a pre-made micro:bit breakout board, or designing a PCB specifically for the project. Her experience shows how much unnecessary complexity can come from forcing incompatible parts together.&lt;/p&gt;
&lt;h2 data-start="5947" data-end="5971"&gt;Debugging the Build&lt;/h2&gt;
&lt;p data-start="5973" data-end="6357"&gt;After the painful soldering process, powering up the device for the first time was nerve-wracking. At first, the LEDs didn&amp;rsquo;t react, confirming Natasha&amp;rsquo;s fear that her soldering might have failed. She retraced her wiring, checked the buttons, and confirmed the micro:bit was functioning. Finally, she realized the actual problem was much simpler: the audio cable wasn&amp;rsquo;t fully seated.&lt;/p&gt;
&lt;p data-start="6359" data-end="6499"&gt;This moment highlights a common lesson in debugging electronics&amp;mdash;start with the simplest possible issues before assuming a complex failure.&lt;/p&gt;
&lt;blockquote data-start="6501" data-end="6614"&gt;
&lt;p data-start="6503" data-end="6614"&gt;&amp;ldquo;That&amp;rsquo;s troubleshooting for you. Sometimes it is just the simple thing.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="6616" data-end="6759"&gt;Once the cable was reconnected, the display worked perfectly, reacting not only to music but also to her own voice through a microphone feed.&lt;/p&gt;
&lt;h2 data-start="6766" data-end="6801"&gt;Lessons Learned and Next Steps&lt;/h2&gt;
&lt;p data-start="6803" data-end="7070"&gt;The finished project works as a fun desktop accessory, producing smooth, adjustable animations from both music and live voice input. The sensitivity controls make it versatile in different environments, and the modular design with connectors leaves room for re-use.&lt;/p&gt;
&lt;p data-start="7072" data-end="7363"&gt;For Natasha, the key takeaway is that while DIY solutions can sometimes get a project across the finish line, it&amp;rsquo;s often worth investing in proper breakout boards or designing a PCB to save hours of frustration. The soldering difficulty alone would justify that change in a future version.&lt;/p&gt;
&lt;p data-start="7365" data-end="7649"&gt;This smaller-scale project also sets the stage for her larger ambition&amp;mdash;making her &lt;strong data-start="7447" data-end="7482"&gt;LED bike project audio reactive&lt;/strong&gt;. With the fundamental code, sensitivity handling, and data mapping solved, she can now scale the concept up to a more complex installation with multiple LED arrays.&lt;/p&gt;
&lt;blockquote data-start="7651" data-end="7836"&gt;
&lt;p data-start="7653" data-end="7836"&gt;&amp;ldquo;Next steps are creating more animations with my new desk toy. And then eventually integrating what I learned here into my larger bike project.&amp;rdquo; - &lt;em&gt;Natasha&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>