Marc's Public Blog - Electronics Hacking


vvv Click on the categories below to see other topic specific pages vvv



Table of Content for electronics:

More pages: July 2026 May 2026 December 2025 October 2025 July 2025 March 2025 January 2025 November 2024 September 2023 August 2023 June 2023 May 2023 April 2023 January 2023 November 2022 January 2022 May 2020 January 2020 December 2019 April 2019 January 2019 June 2018 May 2018 June 2017 April 2017 May 2016 February 2016 November 2015 October 2015 August 2011 July 2011 May 2011 June 2010





π 2026-07-17 01:01 in Computers, Electronics
I am moving my main server to this small N35 Stonebridge server. It does include 4 NVME slots thanks to a daugtherboard that plugs into this port:


The daughter board looks like this:


and the back looks like this, input for 12V power from the motherboard and Vret to make 3.3V
and the back looks like this, input for 12V power from the motherboard and Vret to make 3.3V

Then, because I was reckless, I swapped M2 cards while the PC was powered, thinking they were hot swappable like Sata, but they sure are not. Eventually I caused a partial failure of the board. Gemini helped me debug the linux errors from the cards plugged in itand confirmed my guess that the voltage regulator on the board was now partially damaged and gave power, but not enough to be reliable under load.
A new daughterboard is only $20, but that's 2 week shipping from China while my new server would be down. So, it actually knew the daughterboard, it knew where to buy it from and the shipping delay, and it also knew how it was made before I gave it my picture. It confirmed that the best course of action would be to desolder the 100 component that was an inductor, and I could just unsolder it and connect a new 3.3V source to it.

After helping me find a new 5A Vreg on amazon, it looked at the picture of the board, and it confirmed the top pad, is the one feeding 3.3V to the rest of the board. It suggested I use flux to help unsolder the SMD component after I declined the suggestion to use a hot air gun that would be too likely to remove other components, some of which had to be useful:

yes, it looked ugly, but the inductor was removed safely, I then cleaned the flux
yes, it looked ugly, but the inductor was removed safely, I then cleaned the flux

Then I happened to have the right female connector in my collection of cables and plugs (happy it does come handy at least a few times), and soldered in the new Vreg:


I had to move it on the other side so it would fit with the case closed
I had to move it on the other side so it would fit with the case closed

And there you go, I literally fixed the daughterboard and the PC works again! Yeah! I honestly was impressed by Gemini's knowledge of existing boards and its ability to read pictures I sent it, identify the components and confirm test points and how to verify I was adding the new power source in the correct place.


Back to work!
Back to work!

π 2026-07-01 01:01 in Electronics
They just passed a law earlier in 2026, and I found out the hard way. It boils down to:
  • you can still have 2 powerbanks, of any size below 100Wh, but only 2
  • so the tiniest little phone booster I have in my pocket (I travel with 4), counts as 1
  • I was going to an off the grid festival and had 4 real size powerbanks (90Wh+), so after trying to take off from Wroclaw in Poland, they told me to get rid of 2
  • This didn't count the extra 6 smaller 60Wh powerbanks I had to power my LED outfit. Those were not allowed at all either, because too many
  • Now, what is a phone but a powerbank with a screen? These are thankfully allowed
  • What is a laptop but a powerbank with a screen and keyboard? Those are fine too
  • And you can have 20 raw lithium batteries. The ones that are not safe, the ones that will catch fire if you pierce them, and the same one that can cause a fire if you short them, which is easy to do on some.
  • So these batteries that do not look great (and they are not), the ones that I worked hard to migrate away from, are the ones I'm literally supposed to go back to now that powerbanks are disallowed (yes, you can see my outfit uses 3, which is already too many)

    so these batteries that do not look great (and they are not), are legal, but powerbanks are not.
    so these batteries that do not look great (and they are not), are legal, but powerbanks are not.

    So you're going to tell me, why don't you put those unsafe looking batteries in an enclosure? Great question, when I did that airport security wanted me to open the enclosure to see the battery inside and its readings. How about you make it professional and write the battery reading on the other side, and then add a plug to connect your things to it? Well, that's exactly what a powerbank is and those are not allowed anymore (past 2, which is a useless number for me).

    See the problem? I need exactly 5 powerbanks to run my LED outfit, LED backpack, and spare charger for phone and camera. This is with no spares, often I need a 6th for a long night. This does not count powerbanks for my laptop if I end up in a plane without working power. Now you see how it's easy to get to 10 or more and why the new '2 max' really f'ing sucks.

    So what are the other options?

  • find a way to rent powerbanks every EU country you land at, not sure if that's possible outside of abusing amazon prime (not nice to them)
  • just buy and mail powerbanks from amazon and throw them away, hundreds of dollars at a time, each time you fly in EU and get unlucky
  • I can also have 15 toys or laptops that have non removable lithium batteries in them. Maybe I just need to buy powerbanks with a video game screen on top, tape up the USB port at security, and say it's a video game, not a powerbank.
  • since I'm allowed to have 20 lithium batteries, I can go back to making my own powerbank in 2 pieces so they only find the battery and not the powerbank side when they search me. Basically this:


  • Does it surprise you that airport folks said those batteries looked like shit? Of course they did, and that's why I worked hard to replace them with powerbanks that looked a lot better.

    Seriously, fuck, this sucks, now I need to replace 10 powerbanks that were not cheap and carry less safe ones because of this idiocy. Welcome back to the past, self made crap that will not look better or be safer, but somehow is legal

    π 2026-05-23 01:01 in Arduino, Clubbing, Electronics, Festivals
    Over 10 years of this silly shirt with a few LEDs thing that got slighly out of hand :)


    History of the LED outfit:

  • Version 3: LED Pants and Shirt Programmed With Arduino on ESP8266
  • Version 4: EDM Festival and Burning Man LED Pants and Shirt v4 on ESP32 with RGBPanels and SmartMatrix::GFX
  • Version 5: LED Pants and Shirt v5 on ESP32 and Raspberry Pi with P2 RGBPanels and Wifi
  • Version 5.5: Party LED Outfit Flexible P15 LED Strings, LED Fanny Pack, Rez Inspired LED Goggles, LED Laces and LED Shoes
  • Version 6: Party LED Outfit Self Contained Power System on LED Panels
  • Version 7: Party LED Outfit USB Powerbanks Powered Flexible LED Panels, LED Hat, and LED Shoelaces
  • And for shits and giggles, I wrote this full article on the why and evolution of my LED outfit
  • So, why a version 8? Well, the flexible panels in v7 were nice and light, but the flexible part made them break repeatedly. The chip solder points in the back would eventually fail, causing different kinds of failures on the panels, and I had to replace them in the field (even carry spares with me). This was not a long term solution, never mind that my spares were running out and it was probably impossible to buy matching panels today.


    When I said things broke, I often had to repair the outfit while at festivals. Initially repairing panels was a lot of work, and required a soldering iron. Version 7 was designed to allow easier panel replacement with just a screwdriver, but I still needed to prepare the spare panels at home (soldering them before they were needed), and I broke almost 10 in 1.5 years. This was not sustainable:






    Another issue was that I would lose pixels as they would eventually fall off on the other side, and the plastic cutting board I used as a diffuser and protection layeer, helped, but was not sufficient. My favorite vendor, Hongren Su from Azerone, had a new GOB coating to protect the pixels and and even make them water proof, but he didn't have anymore legacy style panels, just new PWM panels which were not supported by the rpi-rgbpanels library that I use. Those new panels are better in theory since they self refresh at 2khz or so, but they all need a separate incompatible driver, which is a huge pain in the ass. By sheer luck, Kingdoc9 on github had the same problem and somehow managed to use a coding AI to make a driver for a few chips. Total hero!

    At the same time, adafruit made an active-3 low profile board which is not ideal since it covers the CPU, hinders cooling and points the connectors up, but it's better than the electrodragon low profile passive 3 board:



    And still at the same time (talk about me being lucky), Hongren Su from Azerone, nicely offered to make a custom metal frame for me, with 5 degree bend, which solved both the problem of panels breaking due to repeated flexing, but also significantly simplified mounting of new panels as I only had to slap them on and the magnets did the rest (and boy those magnets are strong):

    new versus old, piece of wood used to stir paint, and 3mm screws with limited reach
    new versus old, piece of wood used to stir paint, and 3mm screws with limited reach

    trying both boards
    trying both boards

    Now another vexing failure point I had, was the ribbon cables from front panels to rear ones. I used a trick to only drive the front panels with a Raspberry Pi and had ribbon cables to pick up the signal coming out of the front panels, and feeding it to the rear panels. This was a great idea, it ran the rear panels for free, I didn't have to have a 2nd rPi in the rear and saved on power.
    But, as there is always a but, wearing the panels, put stress on the ribbon cables and they would eventually break. I did put straps that would get the stress and in theory prevent those failures, but they still happened, worse by then it was the HUB75 plug on the panels that would fail. That was very annoying as it caused my rear panels to have display bugs after the plugs were losing pins and there was nothing I could do short of replacing the entire panel:

    note the straps to protect the HUB75 cables
    note the straps to protect the HUB75 cables

    this was supposed remove stress from the HUB75 plugs, but didn't do well enough
    this was supposed remove stress from the HUB75 plugs, but didn't do well enough

    there are the HUB75 plugs that would fail
    there are the HUB75 plugs that would fail

    with the new setup, 2 computers (really 4 with the ESP32s), no more ribbon cables front to back
    with the new setup, 2 computers (really 4 with the ESP32s), no more ribbon cables front to back

    One other build optimization is I did what I should have done a long time ago, which was to use the fat power cables to send power around. Those cables even have ends that plug directly into my 20V-5V DC-DC converter. Why did I not do that earlier and insisted on using JST 2 pin cables everywhere (which I had to solder on each new panel). As an added bonus, those big power cables are thick enough that a single one going across to the back (the only connection between the 2), is enough. In the process I also removed 2 straps between the mid and top panels, as they were unsightly and now unnecessary:


    So the new build runs both screens independently:


    while both sides are setup to display the same thing, they render independently. This is not a problem of course
    while both sides are setup to display the same thing, they render independently. This is not a problem of course

    Now, I had to write a fair amount of ESP32 code (I used gemini for help), so that the 2 chips would coordinate, the front one would be master (selected by switch) and the rear would listen for a broadcast, become slave, and send its IP to the master. The master would then send a UDP command to the slave to update the pattern every time the master changed. End result:

    This is how it works with remote control:

    Same communcation panel to panel;

    People sometimes ask me if I can "just add" a graphics on the fly. In real life I have to use gimp to shrink the graphic to 128x192 or close to it and convert to gif, it takes a little while:


    The new driver is not as fast as the old driver in pushing data to the panels (yet), so I had issues with tearing in some animations as the panel refresh was happening half way through a slower frame push to the panels. I had to fix this by implementing double buffering, and you see the before vs after (left panel vs right panel):

    Now, the only problem I have left is increasing the panel refresh from the Pi3as, so that they hopefully allow the panels to refresh faster and not show these half refresh screens. Never a dull moment :)

    0.004s
    0.004s

    0.002s
    0.002s

    0.001s
    0.001s

    0.001s
    0.001s

    π 2025-12-22 01:01 in Electronics
    I had a perfectly good netgear switch where the small fan was slowly failing and making lots of noise. No problem, I have boxes a fans, one of them will fit with a bit of help :)
    Except as I change the fan, the switch does not turn on anymore, and my multimeter shows the built in power supply chose that exact time to fail. No more 5V power coming out = no more happy switch:

    this will more or less fit :)
    this will more or less fit :)


    nothing really looked wrong, but the power supply was dead
    nothing really looked wrong, but the power supply was dead

    So I ripped out the power supply, connected a 2.5mm jack female, and now any external 5V power supply will do the job:


    new fan spinning on happy switch
    new fan spinning on happy switch

    back online
    back online

    π 2025-12-20 01:01 in Clubbing, Electronics
    Lots of lovely kandi is lit up those $1 ferry lights that take 2 CR2032 3V batteries which are difficult to replace (small screws) and non rechargeable. After being donated a beautiful DS kandi, I managed to break off the battery holder part by mistake, so I quickly adjusted it to use a JST 2 pin plug that is standard for all my builds. From there, I was able to plug it directly in a 3.8V lipo but those lipos output lots of amps with no internal resistance, so the lights were super bright and the big lipo was not going to last more than few hours.

    The solution was to find the right dimming/blinking controller, which was quite hard to locate (didn't want to build my own). Uper right is most of the ones I found, they were too big, did dimming but not blinking, also they were USB based, so I have to solder JST connectors. Lower right is a better version, still USB only, although at least it had flashing. And then I finally found the right ones, bare wires, easier to just solder in my JST connectors, and they support flashing and blinking:


    π 2025-10-31 01:01 in Arduino, Electronics
    I had a great time in 2024 for my last and first Supercon, so it was fun to go back this year:

    new board this year, radio communicator
    new board this year, radio communicator



    People working hard:


    and fun stuff
    and fun stuff


    Met someone who made LED shoes, which predictably broke because they can't take the flexing:


    I came decked out:




    Random slides and talks:








    SAOs are still fun things to play:





    Evening parties:







    A fun workshop was a 64x64 matrix connected to an ESP32 S3 with adafruit shield, I actually ended up spending more time on that because blinky :):




    a new badge :)
    a new badge :)

    Good times, looking forward to next year

    See more images for Pasadena Hackaday Supercon 2025

    More pages: July 2026 May 2026 December 2025 October 2025 July 2025 March 2025 January 2025 November 2024 September 2023 August 2023 June 2023 May 2023 April 2023 January 2023 November 2022 January 2022 May 2020 January 2020 December 2019 April 2019 January 2019 June 2018 May 2018 June 2017 April 2017 May 2016 February 2016 November 2015 October 2015 August 2011 July 2011 May 2011 June 2010

    Contact Email