<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="/static/rss.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  <id>40</id>
  <title>Hackaday</title>
  <updated>2026-05-29T19:32:37+00:00</updated>
  <author>
    <name>Unknown</name>
  </author>
  <link href="https://hackaday.com" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Fresh hacks every day</subtitle>
  <entry>
    <id>https://hackaday.com/?p=1115587&amp;preview=true&amp;preview_id=1115587</id>
    <title>Hackaday Podcast Episode 371: Space Computers, Spy Phones, and So Long CHU</title>
    <updated>2026-05-29T17:00:48+00:00</updated>
    <author>
      <name>Tom Nardi</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2016/05/microphone.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Elliot Williams is out where the deer and the antelope play for the next week, so it&amp;#8217;s up to Tom Nardi and Al Williams to wrangle this episode of the Hackaday Podcast. They&amp;#8217;ll start off by reading some listener messages before talking about the slow extinction of time broadcasts, Linux on cheap smartphones, microcontroller VPNs, and the computers of Spacelab.&lt;/p&gt;
&lt;p&gt;You&amp;#8217;ll also hear about using a video game&amp;#8217;s &amp;#8220;Photo Mode&amp;#8221; to capture 3D imagery, strange red lights in deep space, and ASCII fish that you don&amp;#8217;t need to feed. The episode wraps up with a discussion of WWII spy tech and the revelation that modern smartphones and powerful magnets don&amp;#8217;t always mix.&lt;/p&gt;
&lt;p&gt;Check out the links if you want to follow along, and as always, tell us what you think about this episode in the comments!&lt;/p&gt;
&lt;div style="margin: auto;"&gt;&lt;span class="mce_SELRES_start" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;"&gt;﻿&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Direct download in &lt;a href="https://traffic.libsyn.com/forcedn/hackaday/ep371.mp3" target="_blank"&gt;DRM-free MP3&lt;/a&gt;.&lt;/p&gt;
&lt;div class="widget_text widget_custom_html amr_widget" id="sidebar-mobile-1"&gt;&lt;span style="display: none;"&gt;Where to Follow Hackaday Podcast&lt;/span&gt;&lt;div class="textwidget custom-html-widget"&gt;&lt;h3&gt;Places to follow Hackaday podcasts:&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href="https://itunes.apple.com/us/podcast/hackaday-podcast/id1447409683" target="_blank"&gt;iTunes&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://open.spotify.com/show/3NRV0mhZa8xeRT0EyLPaIp" target="_blank"&gt;Spotify&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://www.stitcher.com/podcast/hackaday-podcast" target="_blank"&gt;Stitcher&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://hackaday.libsyn.com/rss" target="_blank"&gt;RSS&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PL_tws4AXg7avHK_ATXLG2sy-AtkgXmfB7" target="_blank"&gt;YouTube&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://hackaday.libsyn.com/"&gt;Check
		out our Libsyn landing page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;span id="more-1115587"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Episode 371 Show Notes:&lt;/h2&gt;
&lt;h4&gt;Mailbag:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2025/07/30/linux-fu-the-cheap-macropad-conundrum/"&gt;Linux Fu: The Cheap Macropad Conundrum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/islcom/peismo" target="_blank"&gt;GitHub &amp;#8211; islcom/peismo: A simple seismograph for Raspberry Pi · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Interesting Hacks of the Week:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/27/so-long-chu-and-thanks-for-all-the-time-signals/"&gt;So Long, CHU, And Thanks For All The Time Signals&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2018/08/20/what-will-you-do-if-wwvb-goes-silent/"&gt;What Will You Do If WWVB Goes Silent?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2023/12/13/radio-station-wwv-all-time-all-the-time/"&gt;Radio Station WWV: All Time, All The Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/chu-broadcast-codes" target="_blank"&gt;CHU broadcast codes &amp;#8211; National Research Council Canada&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/a-zinc-air-battery-you-can-make-yourself/"&gt;A Zinc Air Battery You Can Make Yourself&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2021/04/08/electric-vehicle-1900s-style-new-leases-on-old-tech/"&gt;Electric Vehicle 1900’s Style: New Leases On Old Tech&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/linux-on-android-provides-inexpensive-powerful-computing/"&gt;Linux On Android Provides Inexpensive, Powerful Computing&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2015/09/10/want-a-low-cost-arm-platform-grab-a-prepaid-android-phone/"&gt;Want A Low-cost ARM Platform? Grab A Prepaid Android Phone!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2020/10/07/linux-fu-the-linux-android-convergence/"&gt;Linux Fu: The Linux Android Convergence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2024/06/18/lindroid-promises-true-linux-on-android/"&gt;Lindroid Promises True Linux On Android&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/25/z386-an-open-source-80386-built-around-original-microcode/"&gt;Z386: An Open-Source 80386 Built Around Original Microcode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/18/running-a-vpn-gateway-on-an-esp32/"&gt;Running A VPN Gateway On An ESP32&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/24/spacelabs-mitra-125-ms/"&gt;Spacelab’s Mitra 125 MS&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2024/04/22/slicing-and-dicing-the-bits-cpu-design-the-old-fashioned-way/"&gt;Slicing and Dicing the Bits: CPU Design the Old Fashioned Way&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Quick Hacks:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Tom&amp;#8217;s Picks:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/17/extract-3d-video-game-content-by-firing-up-photo-mode/"&gt;Extract 3D Video Game Content By Firing Up Photo Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/20/decaydock-keeps-track-of-spoilage/"&gt;DecayDock Keeps Track Of Spoilage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/24/adorable-ascii-aquarium-lives-on-your-desk/"&gt;Adorable ASCII Aquarium Lives On Your Desk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Al&amp;#8217;s Picks:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/figuring-out-what-james-webbs-mysterious-little-red-dots-are/"&gt;Figuring Out What James Webb’s Mysterious Little Red Dots Are&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/power-from-gravity/"&gt;Power From Gravity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/23/building-an-analog-meter-watch/"&gt;Building An Analog Meter Watch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Can&amp;#8217;t-Miss Articles:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/21/magnets-are-bad-for-hardware-again/"&gt;Magnets Are Bad For Hardware Again&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/20/spy-tech-a-quiet-radio-for-spies/"&gt;Spy Tech: A Quiet Radio For Spies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>
    <link href="https://hackaday.com/2026/05/29/hackaday-podcast-episode-371-space-computers-spy-phones-and-so-long-chu/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2016/05/microphone.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Elliot Williams is out where the deer and the antelope play for the next week, so it&amp;#8217;s up to Tom Nardi and Al Williams to wrangle this episode of the Hackaday Podcast. They&amp;#8217;ll start off by reading some listener messages before talking about the slow extinction of time broadcasts, Linux on cheap smartphones, microcontroller VPNs, and the computers of Spacelab.&lt;/p&gt;
&lt;p&gt;You&amp;#8217;ll also hear about using a video game&amp;#8217;s &amp;#8220;Photo Mode&amp;#8221; to capture 3D imagery, strange red lights in deep space, and ASCII fish that you don&amp;#8217;t need to feed. The episode wraps up with a discussion of WWII spy tech and the revelation that modern smartphones and powerful magnets don&amp;#8217;t always mix.&lt;/p&gt;
&lt;p&gt;Check out the links if you want to follow along, and as always, tell us what you think about this episode in the comments!&lt;/p&gt;
&lt;div style="margin: auto;"&gt;&lt;span class="mce_SELRES_start" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;"&gt;﻿&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Direct download in &lt;a href="https://traffic.libsyn.com/forcedn/hackaday/ep371.mp3" target="_blank"&gt;DRM-free MP3&lt;/a&gt;.&lt;/p&gt;
&lt;div class="widget_text widget_custom_html amr_widget" id="sidebar-mobile-1"&gt;&lt;span style="display: none;"&gt;Where to Follow Hackaday Podcast&lt;/span&gt;&lt;div class="textwidget custom-html-widget"&gt;&lt;h3&gt;Places to follow Hackaday podcasts:&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href="https://itunes.apple.com/us/podcast/hackaday-podcast/id1447409683" target="_blank"&gt;iTunes&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://open.spotify.com/show/3NRV0mhZa8xeRT0EyLPaIp" target="_blank"&gt;Spotify&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://www.stitcher.com/podcast/hackaday-podcast" target="_blank"&gt;Stitcher&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://hackaday.libsyn.com/rss" target="_blank"&gt;RSS&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PL_tws4AXg7avHK_ATXLG2sy-AtkgXmfB7" target="_blank"&gt;YouTube&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://hackaday.libsyn.com/"&gt;Check
		out our Libsyn landing page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;span id="more-1115587"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Episode 371 Show Notes:&lt;/h2&gt;
&lt;h4&gt;Mailbag:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2025/07/30/linux-fu-the-cheap-macropad-conundrum/"&gt;Linux Fu: The Cheap Macropad Conundrum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/islcom/peismo" target="_blank"&gt;GitHub &amp;#8211; islcom/peismo: A simple seismograph for Raspberry Pi · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Interesting Hacks of the Week:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/27/so-long-chu-and-thanks-for-all-the-time-signals/"&gt;So Long, CHU, And Thanks For All The Time Signals&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2018/08/20/what-will-you-do-if-wwvb-goes-silent/"&gt;What Will You Do If WWVB Goes Silent?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2023/12/13/radio-station-wwv-all-time-all-the-time/"&gt;Radio Station WWV: All Time, All The Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/chu-broadcast-codes" target="_blank"&gt;CHU broadcast codes &amp;#8211; National Research Council Canada&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/a-zinc-air-battery-you-can-make-yourself/"&gt;A Zinc Air Battery You Can Make Yourself&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2021/04/08/electric-vehicle-1900s-style-new-leases-on-old-tech/"&gt;Electric Vehicle 1900’s Style: New Leases On Old Tech&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/linux-on-android-provides-inexpensive-powerful-computing/"&gt;Linux On Android Provides Inexpensive, Powerful Computing&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2015/09/10/want-a-low-cost-arm-platform-grab-a-prepaid-android-phone/"&gt;Want A Low-cost ARM Platform? Grab A Prepaid Android Phone!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2020/10/07/linux-fu-the-linux-android-convergence/"&gt;Linux Fu: The Linux Android Convergence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2024/06/18/lindroid-promises-true-linux-on-android/"&gt;Lindroid Promises True Linux On Android&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/25/z386-an-open-source-80386-built-around-original-microcode/"&gt;Z386: An Open-Source 80386 Built Around Original Microcode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/18/running-a-vpn-gateway-on-an-esp32/"&gt;Running A VPN Gateway On An ESP32&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/24/spacelabs-mitra-125-ms/"&gt;Spacelab’s Mitra 125 MS&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2024/04/22/slicing-and-dicing-the-bits-cpu-design-the-old-fashioned-way/"&gt;Slicing and Dicing the Bits: CPU Design the Old Fashioned Way&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Quick Hacks:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Tom&amp;#8217;s Picks:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/17/extract-3d-video-game-content-by-firing-up-photo-mode/"&gt;Extract 3D Video Game Content By Firing Up Photo Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/20/decaydock-keeps-track-of-spoilage/"&gt;DecayDock Keeps Track Of Spoilage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/24/adorable-ascii-aquarium-lives-on-your-desk/"&gt;Adorable ASCII Aquarium Lives On Your Desk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Al&amp;#8217;s Picks:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/figuring-out-what-james-webbs-mysterious-little-red-dots-are/"&gt;Figuring Out What James Webb’s Mysterious Little Red Dots Are&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/26/power-from-gravity/"&gt;Power From Gravity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/23/building-an-analog-meter-watch/"&gt;Building An Analog Meter Watch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Can&amp;#8217;t-Miss Articles:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/21/magnets-are-bad-for-hardware-again/"&gt;Magnets Are Bad For Hardware Again&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2026/05/20/spy-tech-a-quiet-radio-for-spies/"&gt;Spy Tech: A Quiet Radio For Spies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</summary>
    <published>2026-05-29T17:00:48+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115388</id>
    <title>A Fume-Control Cabinet for Resin 3D Printing</title>
    <updated>2026-05-29T15:30:14+00:00</updated>
    <author>
      <name>Aaron Beckendorf</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="A person is standing in front of an acrylic enclosure, lowering a door on the enclosure. The enclosure contains the space between two sets of cabinets, and has three doors on the front. Inside the enclosure is an air filter and a washing station." class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/resin_printer_enclosure.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;
&lt;p class="wp-block-paragraph"&gt;For a certain kind of intricate, highly-detailed manufacturing, there’s really no substitute for a resin 3D printer, and it’s therefore unfortunate that they require so many poisonous chemicals. The resin itself usually contains irritating acrylates and methacrylates, it can emit a wide spectrum of volatile organic compounds (VOCs) during printing, and even the isopropyl alcohol used in cleaning is moderately toxic. [Allie Katz] accordingly built this &lt;a href="https://www.youtube.com/watch?v=XaNxWOZJLws" target="_blank"&gt;fume-control enclosure&lt;/a&gt; for resin printing and other ventilation-critical processes.&lt;/p&gt;
&lt;p&gt;The biggest constraint was space: [Allie]’s workspace had a fairly limited volume available, and the enclosure needed to hold an SLA printer, an isopropyl alcohol washing station, a UV curing chamber, and miscellaneous supplies. Most of the enclosure was made out of IKEA cabinets, using some large cabinets at the base to hold the printer and curing station, a countertop over these to hold the washing station, and more cabinets above to hold supplies. An MDF backing panel and acrylic side panels enclose the workspace between the cabinets. There was no safe way to exhaust fumes, so the enclosure recycles its air: a fan pulls air in through an activated-carbon filter mounted above the work area and into the plenum behind the chamber, from which it passes through the printer’s cabinet back into the workspace enclosure. Panel filters surround the carbon filter to catch particulate matter.&lt;/p&gt;
&lt;p&gt;The enclosure uses four ESP32-based boards for automation: one uses a touchscreen to display data, and three are paired with BME680 sensors, primarily to report VOC concentrations. One, which also has a particulate matter sensor, senses air quality in the main chamber and plenum, one monitors air quality in the rest of the shop, and the third detects clogging from within the filter enclosure. The first real test of the chamber was to 3D print and paint some handles for the cabinets. It worked as expected, detecting the increased VOCs and ramping up the fan to keep them in check.&lt;/p&gt;
&lt;p&gt;We’ve seen a ventilated printer enclosure before, that time &lt;a href="https://hackaday.com/2017/10/09/this-3d-printer-enclosure-takes-ventilation-seriously/"&gt;for an FDM printer&lt;/a&gt;. Although their hazards are less blatant, they too can produce &lt;a href="https://hackaday.com/2026/05/20/investigating-the-health-impacts-of-ufps-and-vocs-from-fdm-printers/"&gt;dangerous fumes&lt;/a&gt;, which could possibly &lt;a href="https://hackaday.com/2024/10/14/new-study-looks-at-the-potential-carcinogenicity-of-3d-printing/"&gt;be carcinogenic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks to [Keith Olson] for the tip!&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/29/a-fume-control-cabinet-for-resin-3d-printing/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="A person is standing in front of an acrylic enclosure, lowering a door on the enclosure. The enclosure contains the space between two sets of cabinets, and has three doors on the front. Inside the enclosure is an air filter and a washing station." class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/resin_printer_enclosure.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;
&lt;p class="wp-block-paragraph"&gt;For a certain kind of intricate, highly-detailed manufacturing, there’s really no substitute for a resin 3D printer, and it’s therefore unfortunate that they require so many poisonous chemicals. The resin itself usually contains irritating acrylates and methacrylates, it can emit a wide spectrum of volatile organic compounds (VOCs) during printing, and even the isopropyl alcohol used in cleaning is moderately toxic. [Allie Katz] accordingly built this &lt;a href="https://www.youtube.com/watch?v=XaNxWOZJLws" target="_blank"&gt;fume-control enclosure&lt;/a&gt; for resin printing and other ventilation-critical processes.&lt;/p&gt;
&lt;p&gt;The biggest constraint was space: [Allie]’s workspace had a fairly limited volume available, and the enclosure needed to hold an SLA printer, an isopropyl alcohol washing station, a UV curing chamber, and miscellaneous supplies. Most of the enclosure was made out of IKEA cabinets, using some large cabinets at the base to hold the printer and curing station, a countertop over these to hold the washing station, and more cabinets above to hold supplies. An MDF backing panel and acrylic side panels enclose the workspace between the cabinets. There was no safe way to exhaust fumes, so the enclosure recycles its air: a fan pulls air in through an activated-carbon filter mounted above the work area and into the plenum behind the chamber, from which it passes through the printer’s cabinet back into the workspace enclosure. Panel filters surround the carbon filter to catch particulate matter.&lt;/p&gt;
&lt;p&gt;The enclosure uses four ESP32-based boards for automation: one uses a touchscreen to display data, and three are paired with BME680 sensors, primarily to report VOC concentrations. One, which also has a particulate matter sensor, senses air quality in the main chamber and plenum, one monitors air quality in the rest of the shop, and the third detects clogging from within the filter enclosure. The first real test of the chamber was to 3D print and paint some handles for the cabinets. It worked as expected, detecting the increased VOCs and ramping up the fan to keep them in check.&lt;/p&gt;
&lt;p&gt;We’ve seen a ventilated printer enclosure before, that time &lt;a href="https://hackaday.com/2017/10/09/this-3d-printer-enclosure-takes-ventilation-seriously/"&gt;for an FDM printer&lt;/a&gt;. Although their hazards are less blatant, they too can produce &lt;a href="https://hackaday.com/2026/05/20/investigating-the-health-impacts-of-ufps-and-vocs-from-fdm-printers/"&gt;dangerous fumes&lt;/a&gt;, which could possibly &lt;a href="https://hackaday.com/2024/10/14/new-study-looks-at-the-potential-carcinogenicity-of-3d-printing/"&gt;be carcinogenic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks to [Keith Olson] for the tip!&lt;/p&gt;</summary>
    <published>2026-05-29T15:30:14+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115565</id>
    <title>This Week in Security: Ubiquiti Fixes, and FreeBSD Joins the Club you Don’t Want to Join</title>
    <updated>2026-05-29T14:00:19+00:00</updated>
    <author>
      <name>Mike Kershaw</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2016/01/darkarts.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://blog.toolslib.net/2026/05/22/ubiquiti-unifi-os-cve-2026-33000-bulletin-064/" target="_blank"&gt;Ubiquiti released a new security bulletin&lt;/a&gt; detailing fixes for six security issues, including one rated 9.1 (critical) and one scoring a perfect 10.0 on the CVE risk scale.&lt;/p&gt;
&lt;p&gt;The vulnerabilities range from path traversal revealing configuration files (escaping from the web server by requesting a path like &amp;#8220;../../../../../etc/passwd&amp;#8221; for instance), to command injection (running arbitrary shell commands on the system), and actually changing device configurations. Some of the reported vulnerabilities require an account on the management server, but some only require network access .&lt;/p&gt;
&lt;p&gt;Fortunately, all of the vulnerabilities require access to the network in the first place to exploit &amp;#8211; but this could include access to open guest networks as well as trusted users. If you run Ubiquti or UniFi equipment, chances are the automatic update function has already integrated the fixes, but make sure to check the advisory to see if you&amp;#8217;re impacted and update accordingly!&lt;/p&gt;
&lt;h2&gt;FreeBSD Root Exploit&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://fatgid.io" target="_blank"&gt;FatGid&lt;/a&gt; lets FreeBSD join the fun of kernel exploits to gain root.&lt;/p&gt;
&lt;p&gt;The FatGid vulnerability doesn&amp;#8217;t require any manipulation of disk cache; instead it is a direct kernel stack overflow in a system call. The kernel miscalculates the size of a variable as 8 bytes instead of 4, which when used later interacting with a user buffer allows the stack overflow.&lt;/p&gt;
&lt;p&gt;Like the recent spate of Linux local privilege escalation attacks, this requires the attacker to already have an account on the system or the ability to run arbitrary programs, but remember that any bug in network services which allows command execution gets you there, so if you run network exposed FreeBSD, it&amp;#8217;s time to update!&lt;/p&gt;
&lt;h2&gt;Kali365 Phishing-as-a-Service&lt;/h2&gt;
&lt;p&gt;Phishing-as-a-service platforms have been gaining traction, allowing criminals to automate targeting users with crafted lures. &lt;a href="https://www.bleepingcomputer.com/news/security/fbi-warns-of-kali365-phishing-service-targeting-microsoft-365-accounts/" target="_blank"&gt;The FBI has issued a warning&lt;/a&gt; about the Kali365 service in particular.&lt;/p&gt;
&lt;p&gt;Kali365 targets credentials for Microsoft 365 accounts by directing users to the official Microsoft portal for linking additional devices to the account, attaching an attacker device directly to the user identity. Alternatively, the framework steals credentials by directing the user through a hostile service which presents a false login page which captures browser sessions along with authentication cookies and tokens once the user answers the fake multi-factor login prompts.&lt;/p&gt;
&lt;p&gt;Automating the phishing process lowers the bar for the skill level needed to create authentic-looking lures and makes it simpler for criminal groups to attack large numbers of users; Phishing-as-a-service groups operate as companies offering customer support, tracking dashboards, and pre-made phishing templates.&lt;/p&gt;
&lt;h2&gt;Glassworm Botnet Takedown&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.crowdstrike.com/en-us/blog/inside-crowdstrike-takedown-of-a-developer-targeting-botnet/" target="_blank"&gt;CrowdStrike, Google, and the ShadowServer Foundation&lt;/a&gt; have done a coordinated takedown of the infrastructure used by the Glassworm supply-chain botnet.&lt;/p&gt;
&lt;p&gt;Glassworm has been mentioned previously; it is one of several major worms infecting the open source package supply chain repositories like NPM and PyPi or the Visual Studio extension repository. Once a victim installs a compromised package or extension, the Glassworm trojan steals any saved authentication tokens for package repositories, GitHub accounts, AI services, and any SSH keys found, and begins the stage two infection. Using the stolen credentials, the worm infects any GitHub workflows, packages, and extensions the user has access to, and installs a remote-access trojan which waits for further commands.&lt;/p&gt;
&lt;p&gt;Glassworm used a complex control server structure including blockchain memos, BitTorrent files, and public Google Calendar entries, but the coalition of companies was able to interrupt all control channels simultaneously. Hard-coded aspects of the worm will continue to function, but all behavior which requires downloading payloads from the control servers has been disrupted.&lt;/p&gt;
&lt;p&gt;This isn&amp;#8217;t the first time multiple Internet companies have coordinated to take down malware, but it&amp;#8217;s always good to see action against threats which have been decimating the package repository infrastructure lately.&lt;/p&gt;
&lt;h2&gt;TechCrunch Spyware Avoidance&lt;/h2&gt;
&lt;p&gt;On the positive side of things, &lt;a href="https://techcrunch.com/2026/05/23/you-dont-have-to-click-anything-to-get-hacked-anymore-heres-how-to-fight-back/" target="_blank"&gt;&lt;em&gt;TechCrunch&lt;/em&gt; has an article&lt;/a&gt; about modern features to protect users against spyware. If this isn&amp;#8217;t news to you, there&amp;#8217;s still almost certainly someone in your life who will benefit from a user-friendly write up of best practices!&lt;/p&gt;
&lt;p&gt;Both major commercial mobile platforms (iOS and Android) offer advanced protection features which are minimally invasive. For users who are likely to be higher targets of spyware like journalists, lawyers, and human rights activists, or simply those who are worried, these features offer real protection.&lt;/p&gt;
&lt;p&gt;The features explained in the article include Apple&amp;#8217;s Lockdown mode, Androids Advanced protection mode, and WhatsApp specific application settings, all of which work to reduce common attack surfaces for devices. The advanced security modes typically have minor impacts on performance and battery life due to disabling optimization features which introduce additional complexity and attack surfaces (such as just-in-time compilation of JavaScript code into native instructions.). When situations call for an abundance of caution, a few percent of battery life daily is a reasonable compromise.&lt;/p&gt;
&lt;p&gt;Go check out the full write up!&lt;/p&gt;
&lt;h2&gt;Microsoft Bans NightmareEclipse&lt;/h2&gt;
&lt;p&gt;An exploit researcher known only as &amp;#8220;NightmareEclipse&amp;#8221; has been featured here several times in the past months already. Showing intense frustration with their experience with the administrators of the Microsoft security bug bounty program, they have taken to releasing zero-day exploits against Windows, often coinciding with Patch Tuesday (clearly no accident; by releasing a new exploit on the same day as the Microsoft patch set, it&amp;#8217;s unlikely to be fixed before the next months Patch Tuesday at the earliest). Previous exploits released by NightmareEclipse include BlueSun and RedHammer (local user to Windows SYSTEM privilege escalation), UnDefend to disable Windows Defender, and YellowKey which unlocks BitLocker drives using a collection of nothing more than magically named files.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.tomshardware.com/tech-industry/cyber-security/microsofts-github-bans-security-researcher-who-posted-zero-day-windows-exploits-because-company-ruined-their-life-expert-claims-action-is-vindictive-and-promises-further-retaliation" target="_blank"&gt;&lt;em&gt;Toms Hardware&lt;/em&gt; reports&lt;/a&gt; that Microsoft has disabled the researchers GitHub accounts (GitHub being owned by Microsoft has long been a point of concern for security researchers who find vulnerabilities in Microsoft products), as well as the actual Microsoft account used by the researcher.&lt;/p&gt;
&lt;p&gt;While it&amp;#8217;s certainly within the terms of service of Microsoft and GitHub that accounts may be terminated, the optics are particularly poor in this case, given the confusion around the initial interactions which led the researchers original anger. NightmareEclipse has moved their example code repositories to GitLab in the mean time, and promises Microsoft that &amp;#8220;I will make sure your bones are shattered on July 14&amp;#8221;, implying there will be additional releases (on, you guessed it, what looks like another Patch Tuesday).&lt;/p&gt;
&lt;p&gt;Further clouding the issue, &lt;a href="https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure" target="_blank"&gt;an official Microsoft statement indicates&lt;/a&gt; they are attempting to bring criminal (not just civil) charges against researchers who do not cooperate with the Microsoft disclosure policies, a stance which will certainly in no way exacerbate the situation.&lt;/p&gt;
&lt;h2&gt;Fingerprinting Devices by SSD&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://arstechnica.com/security/2026/05/websites-have-a-new-way-to-spy-on-visitors-analyzing-their-ssd-activity" target="_blank"&gt;Dan Goodin at &lt;em&gt;Ars Technica&lt;/em&gt; highlights&lt;/a&gt; a new paper on fingerprinting users via SSD disk performance, using just standard JavaScript.&lt;/p&gt;
&lt;p&gt;The modern web is a hellscape of user tracking, and this attack, dubbed FROST, highlights another technique for identifying unique devices and user patterns based entirely on hardware behavior. By generating a large file using local browser storage via OPFS (origin private file system, an API for JavaScript to create raw files inside the browser storage area) and continually reading and writing data while monitoring the performance, a web page is able to monitor the disk access performance of the device.&lt;/p&gt;
&lt;p&gt;Using a neural network trained on timing data, researchers say they are able to determine what apps may be running on the computer alongside the browser &amp;#8211; and sometimes even what other websites are being viewed, based solely on the delays in disk IO caused by other applications and websites accessing the SSD. The paper will be presented in July, with researchers saying that the neural network can be trained to recognize &amp;#8220;any system which reliably generates SSD accesses&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Likely, browser developers can mitigate FROST by decreasing the performance of file operations in the OPFS API so that the performance data lacks the fidelity needed to derive user behavior.&lt;/p&gt;
&lt;p&gt;FROST is a &amp;#8220;side channel attack&amp;#8221;; by monitoring one set of characteristics, side channel attacks are able to infer other system behaviors. Side channel attacks can be incredibly subtle and difficult to predict: Another side channel attack method has been to use extremely fine-grained monitoring of the power consumption of a device to derive encryption keys, predicting the CPU instructions and values based on the amount of power used to set the internal registers.&lt;/p&gt;
&lt;h2&gt;Improving Memory Safety in C#&lt;/h2&gt;
&lt;p&gt;Programming languages have been moving towards stronger default memory models, making programs more secure by default by eliminating behaviors which are commonly exploitable. Using a memory-safe language does not prevent logic errors or other security issues, but can still help by eliminating common mistakes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/dotnet/improving-csharp-memory-safety/" target="_blank"&gt;Microsoft has posted an extensive article&lt;/a&gt; about new enhancements for C# in .NET 11. Borrowing in many ways (that&amp;#8217;s a programming joke) from the Rust memory model, C# 16 will add additional memory enforcement and object lifetime, detecting when memory is no longer available and preventing invalid memory accesses on expired objects, with the goal of eliminating use-after-free memory corruption and attacks.&lt;/p&gt;
&lt;p&gt;C# 16 will also increase the meaning of the &amp;#8220;unsafe&amp;#8221; keyword, a mechanism introduced in C# 1.0 and since heavily adopted by newer languages such as Rust and Swift. Code marked as unsafe in C# 16 is able to bypass the stricter memory model, but all code referencing it must also be marked as unsafe. Making unsafe code more difficult to use increases the overall friction of doing things the dangerous way, while clearly marking code which is higher risk.&lt;/p&gt;
&lt;p&gt;There are few magic bullets for secure programming, but reducing the ways a programmer can make simple mistakes can be a big win.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/29/this-week-in-security-ubiquiti-fixes-and-freebsd-joins-the-club-you-dont-want-to-join/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2016/01/darkarts.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://blog.toolslib.net/2026/05/22/ubiquiti-unifi-os-cve-2026-33000-bulletin-064/" target="_blank"&gt;Ubiquiti released a new security bulletin&lt;/a&gt; detailing fixes for six security issues, including one rated 9.1 (critical) and one scoring a perfect 10.0 on the CVE risk scale.&lt;/p&gt;
&lt;p&gt;The vulnerabilities range from path traversal revealing configuration files (escaping from the web server by requesting a path like &amp;#8220;../../../../../etc/passwd&amp;#8221; for instance), to command injection (running arbitrary shell commands on the system), and actually changing device configurations. Some of the reported vulnerabilities require an account on the management server, but some only require network access .&lt;/p&gt;
&lt;p&gt;Fortunately, all of the vulnerabilities require access to the network in the first place to exploit &amp;#8211; but this could include access to open guest networks as well as trusted users. If you run Ubiquti or UniFi equipment, chances are the automatic update function has already integrated the fixes, but make sure to check the advisory to see if you&amp;#8217;re impacted and update accordingly!&lt;/p&gt;
&lt;h2&gt;FreeBSD Root Exploit&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://fatgid.io" target="_blank"&gt;FatGid&lt;/a&gt; lets FreeBSD join the fun of kernel exploits to gain root.&lt;/p&gt;
&lt;p&gt;The FatGid vulnerability doesn&amp;#8217;t require any manipulation of disk cache; instead it is a direct kernel stack overflow in a system call. The kernel miscalculates the size of a variable as 8 bytes instead of 4, which when used later interacting with a user buffer allows the stack overflow.&lt;/p&gt;
&lt;p&gt;Like the recent spate of Linux local privilege escalation attacks, this requires the attacker to already have an account on the system or the ability to run arbitrary programs, but remember that any bug in network services which allows command execution gets you there, so if you run network exposed FreeBSD, it&amp;#8217;s time to update!&lt;/p&gt;
&lt;h2&gt;Kali365 Phishing-as-a-Service&lt;/h2&gt;
&lt;p&gt;Phishing-as-a-service platforms have been gaining traction, allowing criminals to automate targeting users with crafted lures. &lt;a href="https://www.bleepingcomputer.com/news/security/fbi-warns-of-kali365-phishing-service-targeting-microsoft-365-accounts/" target="_blank"&gt;The FBI has issued a warning&lt;/a&gt; about the Kali365 service in particular.&lt;/p&gt;
&lt;p&gt;Kali365 targets credentials for Microsoft 365 accounts by directing users to the official Microsoft portal for linking additional devices to the account, attaching an attacker device directly to the user identity. Alternatively, the framework steals credentials by directing the user through a hostile service which presents a false login page which captures browser sessions along with authentication cookies and tokens once the user answers the fake multi-factor login prompts.&lt;/p&gt;
&lt;p&gt;Automating the phishing process lowers the bar for the skill level needed to create authentic-looking lures and makes it simpler for criminal groups to attack large numbers of users; Phishing-as-a-service groups operate as companies offering customer support, tracking dashboards, and pre-made phishing templates.&lt;/p&gt;
&lt;h2&gt;Glassworm Botnet Takedown&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.crowdstrike.com/en-us/blog/inside-crowdstrike-takedown-of-a-developer-targeting-botnet/" target="_blank"&gt;CrowdStrike, Google, and the ShadowServer Foundation&lt;/a&gt; have done a coordinated takedown of the infrastructure used by the Glassworm supply-chain botnet.&lt;/p&gt;
&lt;p&gt;Glassworm has been mentioned previously; it is one of several major worms infecting the open source package supply chain repositories like NPM and PyPi or the Visual Studio extension repository. Once a victim installs a compromised package or extension, the Glassworm trojan steals any saved authentication tokens for package repositories, GitHub accounts, AI services, and any SSH keys found, and begins the stage two infection. Using the stolen credentials, the worm infects any GitHub workflows, packages, and extensions the user has access to, and installs a remote-access trojan which waits for further commands.&lt;/p&gt;
&lt;p&gt;Glassworm used a complex control server structure including blockchain memos, BitTorrent files, and public Google Calendar entries, but the coalition of companies was able to interrupt all control channels simultaneously. Hard-coded aspects of the worm will continue to function, but all behavior which requires downloading payloads from the control servers has been disrupted.&lt;/p&gt;
&lt;p&gt;This isn&amp;#8217;t the first time multiple Internet companies have coordinated to take down malware, but it&amp;#8217;s always good to see action against threats which have been decimating the package repository infrastructure lately.&lt;/p&gt;
&lt;h2&gt;TechCrunch Spyware Avoidance&lt;/h2&gt;
&lt;p&gt;On the positive side of things, &lt;a href="https://techcrunch.com/2026/05/23/you-dont-have-to-click-anything-to-get-hacked-anymore-heres-how-to-fight-back/" target="_blank"&gt;&lt;em&gt;TechCrunch&lt;/em&gt; has an article&lt;/a&gt; about modern features to protect users against spyware. If this isn&amp;#8217;t news to you, there&amp;#8217;s still almost certainly someone in your life who will benefit from a user-friendly write up of best practices!&lt;/p&gt;
&lt;p&gt;Both major commercial mobile platforms (iOS and Android) offer advanced protection features which are minimally invasive. For users who are likely to be higher targets of spyware like journalists, lawyers, and human rights activists, or simply those who are worried, these features offer real protection.&lt;/p&gt;
&lt;p&gt;The features explained in the article include Apple&amp;#8217;s Lockdown mode, Androids Advanced protection mode, and WhatsApp specific application settings, all of which work to reduce common attack surfaces for devices. The advanced security modes typically have minor impacts on performance and battery life due to disabling optimization features which introduce additional complexity and attack surfaces (such as just-in-time compilation of JavaScript code into native instructions.). When situations call for an abundance of caution, a few percent of battery life daily is a reasonable compromise.&lt;/p&gt;
&lt;p&gt;Go check out the full write up!&lt;/p&gt;
&lt;h2&gt;Microsoft Bans NightmareEclipse&lt;/h2&gt;
&lt;p&gt;An exploit researcher known only as &amp;#8220;NightmareEclipse&amp;#8221; has been featured here several times in the past months already. Showing intense frustration with their experience with the administrators of the Microsoft security bug bounty program, they have taken to releasing zero-day exploits against Windows, often coinciding with Patch Tuesday (clearly no accident; by releasing a new exploit on the same day as the Microsoft patch set, it&amp;#8217;s unlikely to be fixed before the next months Patch Tuesday at the earliest). Previous exploits released by NightmareEclipse include BlueSun and RedHammer (local user to Windows SYSTEM privilege escalation), UnDefend to disable Windows Defender, and YellowKey which unlocks BitLocker drives using a collection of nothing more than magically named files.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.tomshardware.com/tech-industry/cyber-security/microsofts-github-bans-security-researcher-who-posted-zero-day-windows-exploits-because-company-ruined-their-life-expert-claims-action-is-vindictive-and-promises-further-retaliation" target="_blank"&gt;&lt;em&gt;Toms Hardware&lt;/em&gt; reports&lt;/a&gt; that Microsoft has disabled the researchers GitHub accounts (GitHub being owned by Microsoft has long been a point of concern for security researchers who find vulnerabilities in Microsoft products), as well as the actual Microsoft account used by the researcher.&lt;/p&gt;
&lt;p&gt;While it&amp;#8217;s certainly within the terms of service of Microsoft and GitHub that accounts may be terminated, the optics are particularly poor in this case, given the confusion around the initial interactions which led the researchers original anger. NightmareEclipse has moved their example code repositories to GitLab in the mean time, and promises Microsoft that &amp;#8220;I will make sure your bones are shattered on July 14&amp;#8221;, implying there will be additional releases (on, you guessed it, what looks like another Patch Tuesday).&lt;/p&gt;
&lt;p&gt;Further clouding the issue, &lt;a href="https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure" target="_blank"&gt;an official Microsoft statement indicates&lt;/a&gt; they are attempting to bring criminal (not just civil) charges against researchers who do not cooperate with the Microsoft disclosure policies, a stance which will certainly in no way exacerbate the situation.&lt;/p&gt;
&lt;h2&gt;Fingerprinting Devices by SSD&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://arstechnica.com/security/2026/05/websites-have-a-new-way-to-spy-on-visitors-analyzing-their-ssd-activity" target="_blank"&gt;Dan Goodin at &lt;em&gt;Ars Technica&lt;/em&gt; highlights&lt;/a&gt; a new paper on fingerprinting users via SSD disk performance, using just standard JavaScript.&lt;/p&gt;
&lt;p&gt;The modern web is a hellscape of user tracking, and this attack, dubbed FROST, highlights another technique for identifying unique devices and user patterns based entirely on hardware behavior. By generating a large file using local browser storage via OPFS (origin private file system, an API for JavaScript to create raw files inside the browser storage area) and continually reading and writing data while monitoring the performance, a web page is able to monitor the disk access performance of the device.&lt;/p&gt;
&lt;p&gt;Using a neural network trained on timing data, researchers say they are able to determine what apps may be running on the computer alongside the browser &amp;#8211; and sometimes even what other websites are being viewed, based solely on the delays in disk IO caused by other applications and websites accessing the SSD. The paper will be presented in July, with researchers saying that the neural network can be trained to recognize &amp;#8220;any system which reliably generates SSD accesses&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Likely, browser developers can mitigate FROST by decreasing the performance of file operations in the OPFS API so that the performance data lacks the fidelity needed to derive user behavior.&lt;/p&gt;
&lt;p&gt;FROST is a &amp;#8220;side channel attack&amp;#8221;; by monitoring one set of characteristics, side channel attacks are able to infer other system behaviors. Side channel attacks can be incredibly subtle and difficult to predict: Another side channel attack method has been to use extremely fine-grained monitoring of the power consumption of a device to derive encryption keys, predicting the CPU instructions and values based on the amount of power used to set the internal registers.&lt;/p&gt;
&lt;h2&gt;Improving Memory Safety in C#&lt;/h2&gt;
&lt;p&gt;Programming languages have been moving towards stronger default memory models, making programs more secure by default by eliminating behaviors which are commonly exploitable. Using a memory-safe language does not prevent logic errors or other security issues, but can still help by eliminating common mistakes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/dotnet/improving-csharp-memory-safety/" target="_blank"&gt;Microsoft has posted an extensive article&lt;/a&gt; about new enhancements for C# in .NET 11. Borrowing in many ways (that&amp;#8217;s a programming joke) from the Rust memory model, C# 16 will add additional memory enforcement and object lifetime, detecting when memory is no longer available and preventing invalid memory accesses on expired objects, with the goal of eliminating use-after-free memory corruption and attacks.&lt;/p&gt;
&lt;p&gt;C# 16 will also increase the meaning of the &amp;#8220;unsafe&amp;#8221; keyword, a mechanism introduced in C# 1.0 and since heavily adopted by newer languages such as Rust and Swift. Code marked as unsafe in C# 16 is able to bypass the stricter memory model, but all code referencing it must also be marked as unsafe. Making unsafe code more difficult to use increases the overall friction of doing things the dangerous way, while clearly marking code which is higher risk.&lt;/p&gt;
&lt;p&gt;There are few magic bullets for secure programming, but reducing the ways a programmer can make simple mistakes can be a big win.&lt;/p&gt;</summary>
    <published>2026-05-29T14:00:19+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112566</id>
    <title>When is an Apple Laptop Not a Macbook? When it’s an Apple II</title>
    <updated>2026-05-29T11:00:57+00:00</updated>
    <author>
      <name>Tyler August</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="536" src="https://hackaday.com/wp-content/uploads/2026/05/BookII-screen-off.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Do you remember, some years ago, when that brand-new 8086-based laptop hit the shelves? Great for PC lovers, but not so fun for those on the fruitier side of the street. Well, the same Chinese firm that brought us the Book8086 are back, this time with an &amp;#8216;Apple&amp;#8217; Laptop that is decidedly &lt;em&gt;not &lt;/em&gt;a MacBook&amp;#8211; the Book II is a dual-processor &lt;a href="https://8086cpu.com/Z80/6502/110.html" target="_blank"&gt;Apple II clone in a laptop form factor&lt;/a&gt;.&lt;/p&gt;
&lt;figure class="wp-caption alignright" id="attachment_1115413" style="width: 250px;"&gt;&lt;a href="https://hackaday.com/wp-content/uploads/2026/05/BookII-mainboard.jpg"&gt;&lt;img alt="" class="size-thumbnail wp-image-1115413" height="151" src="https://hackaday.com/wp-content/uploads/2026/05/BookII-mainboard.jpg?w=250" width="250" /&gt;&lt;/a&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1115413"&gt;&amp;#8230; but just look at all those DIPs on the inside. Authentically retro!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Dual processor? On an Apple II? It wasn&amp;#8217;t that uncommon, back in the day &amp;#8212; that&amp;#8217;s what the Z80 softcard was, after all: a second processor that let you run CP/M and associated business applications, and this one has it built-in. It also has the 80-column video card, a second floppy controller, a printer interface, and a 16 kB ROM card for languages. That leaves two of the Apple&amp;#8217;s expansion slots available, one of which is broken out externally on the back of the laptop, along with the printer and floppy ports.&lt;/p&gt;
&lt;p&gt;Useful? Probably no more so than &lt;a href="https://hackaday.com/2024/02/22/the-book8088-gets-a-post-hype-review/"&gt;the NEC V20-based PC version&lt;/a&gt;. Still, those did find buyers and we have no doubt that this new laptop will, too. Especially since with the &lt;a href="https://hackaday.com/2026/03/25/you-can-now-run-ms-dos-applications-on-the-apple-iie/"&gt;right expansion card,&lt;/a&gt; you might get this machine running DOS as well. Of course if you don&amp;#8217;t feel like shelling out the quid or running an emulator, you can always roll your own &lt;a href="https://hackaday.com/2017/10/10/apple-ii-fpga/"&gt;Apple II on an FPGA.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to [Stephen Walters] for the tip! We usually steer clear of product announcements like this, but [Stephen] figured we&amp;#8217;d be interested in this one since we covered the &lt;a href="https://hackaday.com/2023/05/15/new-dos-pcs-in-2023/"&gt;then-new retro PC versions&lt;/a&gt; way back in 2023.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/29/when-is-an-apple-laptop-not-a-macbook-when-its-an-apple/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="536" src="https://hackaday.com/wp-content/uploads/2026/05/BookII-screen-off.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Do you remember, some years ago, when that brand-new 8086-based laptop hit the shelves? Great for PC lovers, but not so fun for those on the fruitier side of the street. Well, the same Chinese firm that brought us the Book8086 are back, this time with an &amp;#8216;Apple&amp;#8217; Laptop that is decidedly &lt;em&gt;not &lt;/em&gt;a MacBook&amp;#8211; the Book II is a dual-processor &lt;a href="https://8086cpu.com/Z80/6502/110.html" target="_blank"&gt;Apple II clone in a laptop form factor&lt;/a&gt;.&lt;/p&gt;
&lt;figure class="wp-caption alignright" id="attachment_1115413" style="width: 250px;"&gt;&lt;a href="https://hackaday.com/wp-content/uploads/2026/05/BookII-mainboard.jpg"&gt;&lt;img alt="" class="size-thumbnail wp-image-1115413" height="151" src="https://hackaday.com/wp-content/uploads/2026/05/BookII-mainboard.jpg?w=250" width="250" /&gt;&lt;/a&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1115413"&gt;&amp;#8230; but just look at all those DIPs on the inside. Authentically retro!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Dual processor? On an Apple II? It wasn&amp;#8217;t that uncommon, back in the day &amp;#8212; that&amp;#8217;s what the Z80 softcard was, after all: a second processor that let you run CP/M and associated business applications, and this one has it built-in. It also has the 80-column video card, a second floppy controller, a printer interface, and a 16 kB ROM card for languages. That leaves two of the Apple&amp;#8217;s expansion slots available, one of which is broken out externally on the back of the laptop, along with the printer and floppy ports.&lt;/p&gt;
&lt;p&gt;Useful? Probably no more so than &lt;a href="https://hackaday.com/2024/02/22/the-book8088-gets-a-post-hype-review/"&gt;the NEC V20-based PC version&lt;/a&gt;. Still, those did find buyers and we have no doubt that this new laptop will, too. Especially since with the &lt;a href="https://hackaday.com/2026/03/25/you-can-now-run-ms-dos-applications-on-the-apple-iie/"&gt;right expansion card,&lt;/a&gt; you might get this machine running DOS as well. Of course if you don&amp;#8217;t feel like shelling out the quid or running an emulator, you can always roll your own &lt;a href="https://hackaday.com/2017/10/10/apple-ii-fpga/"&gt;Apple II on an FPGA.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to [Stephen Walters] for the tip! We usually steer clear of product announcements like this, but [Stephen] figured we&amp;#8217;d be interested in this one since we covered the &lt;a href="https://hackaday.com/2023/05/15/new-dos-pcs-in-2023/"&gt;then-new retro PC versions&lt;/a&gt; way back in 2023.&lt;/p&gt;</summary>
    <published>2026-05-29T11:00:57+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112091</id>
    <title>Medication Reminder Uses Only One Button</title>
    <updated>2026-05-29T08:00:59+00:00</updated>
    <author>
      <name>Bryan Cockfield</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="449" src="https://hackaday.com/wp-content/uploads/2026/05/medminder-main.jpeg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;As anyone who takes medicines regularly will attest to, the days have a tendency to blur together, making it hard to remember if you did something like take that day&amp;#8217;s dose or not. There are plenty of products available to help keep track of medication reminders but many are overly complicated, &lt;a href="https://hackaday.io/project/205627-medminder" target="_blank"&gt;so [Jeroen] built this one which keeps simplicity and usability as its core design principle&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;[Jeroen] calls it the MedMinder, and it&amp;#8217;s a small, compact, rectangular device with a four-character display meant to sit on a countertop. When it&amp;#8217;s time to take a medicine, the display will show that medicine&amp;#8217;s four-letter code until the user pushes the single button under the display, signalling that they&amp;#8217;ve taken their dose. If many different medications have to be taken at the same time, it displays the first priority until the button is pushed, and then displays whichever one is next after that.&lt;/p&gt;
&lt;p&gt;Programming is a little less straightforward, as the medications need to be added to the source code and uploaded to the Arduino that sits at the center of this build, but with the source code available this isn&amp;#8217;t too difficult for someone with minimal experience with microcontrollers.&lt;/p&gt;
&lt;p&gt;In an idealized world, technology should make our lives simpler or easier, and this small device goes a long way towards helping with that goal. Especially for an important but mundane task that can be surprisingly easy to lose track of. Although we glossed over the accuracy of this device&amp;#8217;s clock in this article, &lt;a href="https://hackaday.com/2020/09/30/choosing-the-right-rtc-for-your-project/"&gt;we do have a comprehensive guide for selecting the right real-time clock for microcontrollers like this&lt;/a&gt;.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/29/medication-reminder-uses-only-one-button/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="449" src="https://hackaday.com/wp-content/uploads/2026/05/medminder-main.jpeg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;As anyone who takes medicines regularly will attest to, the days have a tendency to blur together, making it hard to remember if you did something like take that day&amp;#8217;s dose or not. There are plenty of products available to help keep track of medication reminders but many are overly complicated, &lt;a href="https://hackaday.io/project/205627-medminder" target="_blank"&gt;so [Jeroen] built this one which keeps simplicity and usability as its core design principle&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;[Jeroen] calls it the MedMinder, and it&amp;#8217;s a small, compact, rectangular device with a four-character display meant to sit on a countertop. When it&amp;#8217;s time to take a medicine, the display will show that medicine&amp;#8217;s four-letter code until the user pushes the single button under the display, signalling that they&amp;#8217;ve taken their dose. If many different medications have to be taken at the same time, it displays the first priority until the button is pushed, and then displays whichever one is next after that.&lt;/p&gt;
&lt;p&gt;Programming is a little less straightforward, as the medications need to be added to the source code and uploaded to the Arduino that sits at the center of this build, but with the source code available this isn&amp;#8217;t too difficult for someone with minimal experience with microcontrollers.&lt;/p&gt;
&lt;p&gt;In an idealized world, technology should make our lives simpler or easier, and this small device goes a long way towards helping with that goal. Especially for an important but mundane task that can be surprisingly easy to lose track of. Although we glossed over the accuracy of this device&amp;#8217;s clock in this article, &lt;a href="https://hackaday.com/2020/09/30/choosing-the-right-rtc-for-your-project/"&gt;we do have a comprehensive guide for selecting the right real-time clock for microcontrollers like this&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2026-05-29T08:00:59+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115497</id>
    <title>An Atic Atac Minimap For The ZX Spectrum</title>
    <updated>2026-05-29T05:00:26+00:00</updated>
    <author>
      <name>Jenny List</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/atic-map-featured.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;The use of modern microcontrollers as add-on peripherals for 1980s home computers has delivered significant benefits and capabilities unimaginable in the days when those machines were new. A great example come from [Happy Little Diodes], who&amp;#8217;s using a Pi Pico based peripheral for a Sinclair ZX Spectrum to provide something that looks far more modern, a hardware minimap for the iconic Spectrum game, &lt;em&gt;Atic Atac&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The ZX expansion port provides all the bus signals from the Z80 microprocessor, and the peripheral uses a latch to capture Spectrum memory writes. Because the game&amp;#8217;s operation is well known it can easily watch out for updates to the in-memory variable that contains the game room ID. It&amp;#8217;s then a case of drawing the map with the player centered on the room the are in, for a much more 21st century game interface component.&lt;/p&gt;
&lt;p&gt;Having been around when both the ZX and this game were new, we like this add-on, a lot. We can imagine it could relatively easily support other games, too.&lt;/p&gt;
&lt;p&gt;Haven&amp;#8217;t got a Spectrum? &lt;a href="https://hackaday.com/2024/10/17/building-a-zx-spectrum-using-only-new-parts/"&gt;Never fear, you can make yourself one&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115497"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/an-atic-atac-minimap-for-the-zx-spectrum/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/atic-map-featured.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;The use of modern microcontrollers as add-on peripherals for 1980s home computers has delivered significant benefits and capabilities unimaginable in the days when those machines were new. A great example come from [Happy Little Diodes], who&amp;#8217;s using a Pi Pico based peripheral for a Sinclair ZX Spectrum to provide something that looks far more modern, a hardware minimap for the iconic Spectrum game, &lt;em&gt;Atic Atac&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The ZX expansion port provides all the bus signals from the Z80 microprocessor, and the peripheral uses a latch to capture Spectrum memory writes. Because the game&amp;#8217;s operation is well known it can easily watch out for updates to the in-memory variable that contains the game room ID. It&amp;#8217;s then a case of drawing the map with the player centered on the room the are in, for a much more 21st century game interface component.&lt;/p&gt;
&lt;p&gt;Having been around when both the ZX and this game were new, we like this add-on, a lot. We can imagine it could relatively easily support other games, too.&lt;/p&gt;
&lt;p&gt;Haven&amp;#8217;t got a Spectrum? &lt;a href="https://hackaday.com/2024/10/17/building-a-zx-spectrum-using-only-new-parts/"&gt;Never fear, you can make yourself one&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115497"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-29T05:00:26+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112664</id>
    <title>How to Let Everyone Keep a Secret</title>
    <updated>2026-05-29T02:00:42+00:00</updated>
    <author>
      <name>Al Williams</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="357" src="https://hackaday.com/wp-content/uploads/2026/05/secret.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Someone calls you at work and says, &amp;#8220;Don&amp;#8217;t tell anyone, but&amp;#8230;&amp;#8221; If you are like most people, there are one or two people you will pass it along to with the same admonishment. In fact, they are probably repeating it from someone else, and you are on their list of two people. So for really big secrets, you need a way to spread the secret out so that no one has any real information about the secret, but a certain number of people together can decode it. As [neeaj] explains in a recent post about &lt;a href="https://ente.com/blog/how-shamirs-secret-sharing-works/" target="_blank"&gt;Shamir&amp;#8217;s Secret Sharing&lt;/a&gt;, [Adi Shamir] (the S in RSA encryption) devised a way to do this very well in 1979, and the core concept is very easy to understand.&lt;/p&gt;
&lt;p&gt;The explanation works with geometry. The equation for a line is y=mx+b, where m is the slope and b is the y-intercept (that is, where the line touches the y-axis when X is 0. An infinite number of lines cross the Y axis at, for example, 10. The line y=3x+10 does, and so does the line y=-1.41x+10. You can&amp;#8217;t guess the b value from just the slope, because any slope will satisfy the equation.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112664"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So suppose the secret number is 10. I can pick a random slope and generate points on it. Like the y-intercept, any number of equations might satisfy that point. Let&amp;#8217;s pick a random slope of 2 just to make the math easy. Our real equation is y=2x+10. Let&amp;#8217;s pick a random X of 100 and tell one person their part of the secret is (100,210). That matches our equation, of course, but it also matches y=4x-190 and y=x+110, along with an infinite number of other lines.&lt;/p&gt;
&lt;p&gt;To know the actual equation, you need at least two points. So let&amp;#8217;s pick x=25 and tell another person that their part of the secret is (25,60). Now, if those two people compare notes, you can find the secret number by solving the two equations:&lt;/p&gt;
&lt;p&gt;210=100m+b and 60=25m+b&lt;/p&gt;
&lt;p&gt;The second equation is the same as 240=100m+4b, and you can subtract the first one from that:&lt;/p&gt;
&lt;p&gt;30=3b&lt;br /&gt;
10=b&lt;/p&gt;
&lt;p&gt;You can hand out any number of points to any number of people. Any two of them can recover the secret number. If you need to require more people to unlock the secret, you just go up in order. A parabola equation, for example, requires three points. A cubic takes four, and so on.&lt;/p&gt;
&lt;p&gt;In reality, practical implementations take a polynomial, not a graph. But the elegant idea is the same. Not the first time we&amp;#8217;ve &lt;a href="https://hackaday.com/2026/02/10/rememory-is-the-amnesia-hedging-buddy-backup-you-didnt-know-you-needed/"&gt;heard of this algorithm&lt;/a&gt;. Reminds us of how a &lt;a href="https://hackaday.com/2018/06/01/linux-fu-counter-rotate-keys/"&gt;nuclear launch requires multiple keys&lt;/a&gt;.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/how-to-let-everyone-keep-a-secret/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="357" src="https://hackaday.com/wp-content/uploads/2026/05/secret.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Someone calls you at work and says, &amp;#8220;Don&amp;#8217;t tell anyone, but&amp;#8230;&amp;#8221; If you are like most people, there are one or two people you will pass it along to with the same admonishment. In fact, they are probably repeating it from someone else, and you are on their list of two people. So for really big secrets, you need a way to spread the secret out so that no one has any real information about the secret, but a certain number of people together can decode it. As [neeaj] explains in a recent post about &lt;a href="https://ente.com/blog/how-shamirs-secret-sharing-works/" target="_blank"&gt;Shamir&amp;#8217;s Secret Sharing&lt;/a&gt;, [Adi Shamir] (the S in RSA encryption) devised a way to do this very well in 1979, and the core concept is very easy to understand.&lt;/p&gt;
&lt;p&gt;The explanation works with geometry. The equation for a line is y=mx+b, where m is the slope and b is the y-intercept (that is, where the line touches the y-axis when X is 0. An infinite number of lines cross the Y axis at, for example, 10. The line y=3x+10 does, and so does the line y=-1.41x+10. You can&amp;#8217;t guess the b value from just the slope, because any slope will satisfy the equation.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112664"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So suppose the secret number is 10. I can pick a random slope and generate points on it. Like the y-intercept, any number of equations might satisfy that point. Let&amp;#8217;s pick a random slope of 2 just to make the math easy. Our real equation is y=2x+10. Let&amp;#8217;s pick a random X of 100 and tell one person their part of the secret is (100,210). That matches our equation, of course, but it also matches y=4x-190 and y=x+110, along with an infinite number of other lines.&lt;/p&gt;
&lt;p&gt;To know the actual equation, you need at least two points. So let&amp;#8217;s pick x=25 and tell another person that their part of the secret is (25,60). Now, if those two people compare notes, you can find the secret number by solving the two equations:&lt;/p&gt;
&lt;p&gt;210=100m+b and 60=25m+b&lt;/p&gt;
&lt;p&gt;The second equation is the same as 240=100m+4b, and you can subtract the first one from that:&lt;/p&gt;
&lt;p&gt;30=3b&lt;br /&gt;
10=b&lt;/p&gt;
&lt;p&gt;You can hand out any number of points to any number of people. Any two of them can recover the secret number. If you need to require more people to unlock the secret, you just go up in order. A parabola equation, for example, requires three points. A cubic takes four, and so on.&lt;/p&gt;
&lt;p&gt;In reality, practical implementations take a polynomial, not a graph. But the elegant idea is the same. Not the first time we&amp;#8217;ve &lt;a href="https://hackaday.com/2026/02/10/rememory-is-the-amnesia-hedging-buddy-backup-you-didnt-know-you-needed/"&gt;heard of this algorithm&lt;/a&gt;. Reminds us of how a &lt;a href="https://hackaday.com/2018/06/01/linux-fu-counter-rotate-keys/"&gt;nuclear launch requires multiple keys&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2026-05-29T02:00:42+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115368</id>
    <title>Recycling Two XBox One Consoles into a 10 GB USB Flash Drive</title>
    <updated>2026-05-28T23:00:31+00:00</updated>
    <author>
      <name>Maya Posch</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="512" src="https://hackaday.com/wp-content/uploads/2026/05/xbox_one_mainboard_emmc_chip_chase_fournier_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" class="size-medium wp-image-1115372 alignright" height="400" src="https://hackaday.com/wp-content/uploads/2026/05/xbox_one_recycled_emmc_chip_chase_fournier_youtube.jpg?w=400" width="400" /&gt;Amidst the ongoing RAM &amp;amp; storage apocalypses, Mad Max-esque scenes are unsurprisingly developing, with the &lt;a href="https://www.youtube.com/watch?v=hIaToo_x2Dk" target="_blank"&gt;eMMC recycling project&lt;/a&gt; by [Chase Fournier] from a pair of XBox One S (&amp;#8216;XBone&amp;#8217;) mainboards being just one more example. These mainboards come equipped with a 5 GB eMMC chip installed, alongside 8 GB of DDR3.&lt;/p&gt;
&lt;p&gt;Removing the eMMC chips isn&amp;#8217;t that complicated and after some reballing fun the chips were both installed on a carrier board with a &lt;a href="https://www.norelsys.com/en/product/NS1081.html" target="_blank"&gt;Norelsys NS1081&lt;/a&gt; controller IC. This provides a USB 3.0 interface and can connect to up to four SD or eMMC memories, with here just two channels used.&lt;/p&gt;
&lt;p&gt;Although the eMMC testing device didn&amp;#8217;t seem too happy with either chip, after mounting them on the PCB the controller could be programmed and saw both eMMC packages for a grand total of 10 GB storage.&lt;/p&gt;
&lt;p&gt;Sequential read performance in CrystalDiskMark was about 140 MB/s while write performance was about 64 MB/s, which is zippy enough for smaller files. Not that you can store more than 10 GB on this USB drive anyway.&lt;/p&gt;
&lt;p&gt;Turning the DDR3 ICs on the mainboard into proper DIMM or SODIMM sticks would also be an idea, as even such older memory tech keeps ramping up in demand. As for the XBone X variant with its 12 of GDDR5, that&amp;#8217;s probably a harder proposition to repurpose, but recycling old consoles suddenly has become a lot more exciting.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115368"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/recycling-two-xbox-one-consoles-into-a-10-gb-usb-flash-drive/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="512" src="https://hackaday.com/wp-content/uploads/2026/05/xbox_one_mainboard_emmc_chip_chase_fournier_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" class="size-medium wp-image-1115372 alignright" height="400" src="https://hackaday.com/wp-content/uploads/2026/05/xbox_one_recycled_emmc_chip_chase_fournier_youtube.jpg?w=400" width="400" /&gt;Amidst the ongoing RAM &amp;amp; storage apocalypses, Mad Max-esque scenes are unsurprisingly developing, with the &lt;a href="https://www.youtube.com/watch?v=hIaToo_x2Dk" target="_blank"&gt;eMMC recycling project&lt;/a&gt; by [Chase Fournier] from a pair of XBox One S (&amp;#8216;XBone&amp;#8217;) mainboards being just one more example. These mainboards come equipped with a 5 GB eMMC chip installed, alongside 8 GB of DDR3.&lt;/p&gt;
&lt;p&gt;Removing the eMMC chips isn&amp;#8217;t that complicated and after some reballing fun the chips were both installed on a carrier board with a &lt;a href="https://www.norelsys.com/en/product/NS1081.html" target="_blank"&gt;Norelsys NS1081&lt;/a&gt; controller IC. This provides a USB 3.0 interface and can connect to up to four SD or eMMC memories, with here just two channels used.&lt;/p&gt;
&lt;p&gt;Although the eMMC testing device didn&amp;#8217;t seem too happy with either chip, after mounting them on the PCB the controller could be programmed and saw both eMMC packages for a grand total of 10 GB storage.&lt;/p&gt;
&lt;p&gt;Sequential read performance in CrystalDiskMark was about 140 MB/s while write performance was about 64 MB/s, which is zippy enough for smaller files. Not that you can store more than 10 GB on this USB drive anyway.&lt;/p&gt;
&lt;p&gt;Turning the DDR3 ICs on the mainboard into proper DIMM or SODIMM sticks would also be an idea, as even such older memory tech keeps ramping up in demand. As for the XBone X variant with its 12 of GDDR5, that&amp;#8217;s probably a harder proposition to repurpose, but recycling old consoles suddenly has become a lot more exciting.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115368"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-28T23:00:31+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112716</id>
    <title>Camping on Unconventional Watercraft</title>
    <updated>2026-05-28T20:00:07+00:00</updated>
    <author>
      <name>Bryan Cockfield</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/jet-ski-camper-main.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;The fjords of Norway are world famous for their beauty, but even though the word itself is Norwegian, there are fjords all over the world in areas that used to be covered in glaciers. One of these areas is the Pacific Northwest of North America, we herit&amp;#8217;s actually possible to travel by boat from the Seattle area all the way into Alaska without going to the Pacific Ocean, and although plenty of people make this journey by boat, &lt;a href="https://www.youtube.com/watch?v=H-Y4VdeQsSQ" target="_blank"&gt;[Matt] is planning on doing this journey on a jet ski with a custom camper on the back&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Normally a jet ski wouldn&amp;#8217;t be the ideal platform for a multi-day on-boat adventure because of their size, but [Matt] found perhaps the largest jet ski ever made and he got a deal on it since it had previously been wrecked. Once he repaired the hull damage, he cut a sheet of plywood in half and put a hinge in the middle so it can unfold over the top of the jet ski but fold it away when he&amp;#8217;s traveling. With the basic concept in place he took it right out on the water to a campsite before finalizing the construction of the rest of the tent, including the installation of a door, a window, and some interior lighting.&lt;/p&gt;
&lt;p&gt;During that first night, a storm cropped up and pushed the craft out to shore while [Matt] was sleeping, so after realizing, waking up, and motoring back to shore, he made sure to tie the craft to a rock to avoid similar situations before going back to sleep. But besides some motion sickness which prevented him from cooking inside his camper, the rest of the adventure went off without a hitch. Before taking it on the &lt;a href="https://en.wikipedia.org/wiki/Inside_Passage" target="_blank"&gt;Inside Passage&lt;/a&gt; he has been thinking of a few improvements like outriggers to keep it from rocking while he sleeps. [Matt] is no stranger to unusual camper builds, though, &lt;a href="https://hackaday.com/2026/04/19/quirky-electric-car-rides-the-rails/"&gt;we recently featured his other camper which is an electric car converted to explore abandoned railroads&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112716"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/camping-on-unconventional-watercraft/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/jet-ski-camper-main.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;The fjords of Norway are world famous for their beauty, but even though the word itself is Norwegian, there are fjords all over the world in areas that used to be covered in glaciers. One of these areas is the Pacific Northwest of North America, we herit&amp;#8217;s actually possible to travel by boat from the Seattle area all the way into Alaska without going to the Pacific Ocean, and although plenty of people make this journey by boat, &lt;a href="https://www.youtube.com/watch?v=H-Y4VdeQsSQ" target="_blank"&gt;[Matt] is planning on doing this journey on a jet ski with a custom camper on the back&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Normally a jet ski wouldn&amp;#8217;t be the ideal platform for a multi-day on-boat adventure because of their size, but [Matt] found perhaps the largest jet ski ever made and he got a deal on it since it had previously been wrecked. Once he repaired the hull damage, he cut a sheet of plywood in half and put a hinge in the middle so it can unfold over the top of the jet ski but fold it away when he&amp;#8217;s traveling. With the basic concept in place he took it right out on the water to a campsite before finalizing the construction of the rest of the tent, including the installation of a door, a window, and some interior lighting.&lt;/p&gt;
&lt;p&gt;During that first night, a storm cropped up and pushed the craft out to shore while [Matt] was sleeping, so after realizing, waking up, and motoring back to shore, he made sure to tie the craft to a rock to avoid similar situations before going back to sleep. But besides some motion sickness which prevented him from cooking inside his camper, the rest of the adventure went off without a hitch. Before taking it on the &lt;a href="https://en.wikipedia.org/wiki/Inside_Passage" target="_blank"&gt;Inside Passage&lt;/a&gt; he has been thinking of a few improvements like outriggers to keep it from rocking while he sleeps. [Matt] is no stranger to unusual camper builds, though, &lt;a href="https://hackaday.com/2026/04/19/quirky-electric-car-rides-the-rails/"&gt;we recently featured his other camper which is an electric car converted to explore abandoned railroads&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112716"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-28T20:00:07+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112652</id>
    <title>Attack of the Atomic Oxygen</title>
    <updated>2026-05-28T18:30:21+00:00</updated>
    <author>
      <name>Al Williams</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="449" src="https://hackaday.com/wp-content/uploads/2026/05/iss.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;While designing anything for operation in space has its challenges, there is at least one thing that is more of a problem for objects in Earth orbit than for deep-space probes: atomic oxygen. We like oxygen because we need it to live, but it is also highly reactive as a single atom. Luckily, on Earth, most of what we breathe is O&lt;sub&gt;2&lt;/sub&gt;. [Space Daily] talks about the challenges of the International Space Station dealing with the &amp;#8220;space weather&amp;#8221; of &lt;a href="https://spacedaily.com/sd-the-international-space-station-is-rebuilt-molecule-by-molecule-every-few-months-because-atomic-oxygen-in-low-earth-orbit-slowly-eats-its-outer-surfaces-and-nasa-engineers-discovered-this-only-afte/" target="_blank"&gt;atomic oxygen in low Earth orbit&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Part of the problem is that even when we know better, we tend to think of the atmosphere coming to an abrupt end and space being a hard vacuum. But in reality, the atmosphere gradually dissipates, and at &amp;#8220;only&amp;#8221; 400 km above the Earth, the Space Station is really flying through a very thin atmosphere.&lt;/p&gt;
&lt;p&gt;To compound the problem, this is above the ozone layer, so the Sun&amp;#8217;s UV light rips O&lt;sub&gt;2&lt;/sub&gt; into single oxygen atoms. Over time, these free oxygen atoms can affect many parts of a spacecraft exposed to them. Engineers first noticed that materials recovered from spacecraft had more damage and changes to material properties on the pieces facing the direction of travel. NASA has spent years testing different materials by mounting trays of different material samples outside the ISS.&lt;/p&gt;
&lt;p&gt;Carbon-based polymers take a big hit from atomic oxygen exposure. Polymide film is frequently used, but it erodes with exposure. Carbon composites also lose mass. Other materials change in other ways. For example, an optical surface may roughen with exposure.&lt;/p&gt;
&lt;p&gt;The usual answer is to over-design for mission objectives or to cover certain polymers with coatings like silicon dioxide or aluminum oxide, which are not as reactive to free oxygen. For a long-duration mission like the ISS, you may have to pay special attention to the materials in use. &lt;a href="https://hackaday.com/2026/01/22/skimming-satellites-on-the-edge-of-the-atmosphere/"&gt;Very low satellites&lt;/a&gt; also need special care, as there is more oxygen in lower orbits.&lt;/p&gt;
&lt;p&gt;There are other effects, too, such as extreme thermal cycles, debris strikes, and other indignities that space-traveling materials must withstand. But in deep space, atomic oxygen is a rare issue. Until, at least, we go somewhere else that has a lot of oxygen.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/attack-of-the-atomic-oxygen/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="449" src="https://hackaday.com/wp-content/uploads/2026/05/iss.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;While designing anything for operation in space has its challenges, there is at least one thing that is more of a problem for objects in Earth orbit than for deep-space probes: atomic oxygen. We like oxygen because we need it to live, but it is also highly reactive as a single atom. Luckily, on Earth, most of what we breathe is O&lt;sub&gt;2&lt;/sub&gt;. [Space Daily] talks about the challenges of the International Space Station dealing with the &amp;#8220;space weather&amp;#8221; of &lt;a href="https://spacedaily.com/sd-the-international-space-station-is-rebuilt-molecule-by-molecule-every-few-months-because-atomic-oxygen-in-low-earth-orbit-slowly-eats-its-outer-surfaces-and-nasa-engineers-discovered-this-only-afte/" target="_blank"&gt;atomic oxygen in low Earth orbit&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Part of the problem is that even when we know better, we tend to think of the atmosphere coming to an abrupt end and space being a hard vacuum. But in reality, the atmosphere gradually dissipates, and at &amp;#8220;only&amp;#8221; 400 km above the Earth, the Space Station is really flying through a very thin atmosphere.&lt;/p&gt;
&lt;p&gt;To compound the problem, this is above the ozone layer, so the Sun&amp;#8217;s UV light rips O&lt;sub&gt;2&lt;/sub&gt; into single oxygen atoms. Over time, these free oxygen atoms can affect many parts of a spacecraft exposed to them. Engineers first noticed that materials recovered from spacecraft had more damage and changes to material properties on the pieces facing the direction of travel. NASA has spent years testing different materials by mounting trays of different material samples outside the ISS.&lt;/p&gt;
&lt;p&gt;Carbon-based polymers take a big hit from atomic oxygen exposure. Polymide film is frequently used, but it erodes with exposure. Carbon composites also lose mass. Other materials change in other ways. For example, an optical surface may roughen with exposure.&lt;/p&gt;
&lt;p&gt;The usual answer is to over-design for mission objectives or to cover certain polymers with coatings like silicon dioxide or aluminum oxide, which are not as reactive to free oxygen. For a long-duration mission like the ISS, you may have to pay special attention to the materials in use. &lt;a href="https://hackaday.com/2026/01/22/skimming-satellites-on-the-edge-of-the-atmosphere/"&gt;Very low satellites&lt;/a&gt; also need special care, as there is more oxygen in lower orbits.&lt;/p&gt;
&lt;p&gt;There are other effects, too, such as extreme thermal cycles, debris strikes, and other indignities that space-traveling materials must withstand. But in deep space, atomic oxygen is a rare issue. Until, at least, we go somewhere else that has a lot of oxygen.&lt;/p&gt;</summary>
    <published>2026-05-28T18:30:21+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115446</id>
    <title>The Frikkin Lasers Contest Starts Now</title>
    <updated>2026-05-28T17:00:04+00:00</updated>
    <author>
      <name>Elliot Williams</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2026/05/Lasers.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;We don’t need to tell you: lasers are awesome. Those tiny red beams aren&amp;#8217;t just for frustrating cats, but can do real work, be a source of infinite beauty, or constitute a science project in its own right &amp;#8212; and you can win a $150 DigiKey gift certificate &lt;a href="https://hackaday.io/contest/205780-frikkin-lasers-challenge" target="_blank"&gt;simply by writing your project up on Hackaday.io.&lt;/a&gt; The contest runs until July 23rd.&lt;/p&gt;
&lt;p&gt;Of course, red lasers are only the beginning. If you have enough energy to move electrons into higher orbitals, you can make nearly anything lase. RGB setups can be breathtaking. Powerful IR and UV lasers are real tools. And the DIY side of lasering combines physics and electronics, with a spicy side of danger that needs to be contained.&lt;/p&gt;
&lt;p&gt;We love laser builds of all sorts, and we’d like to see yours! &lt;a href="https://hackaday.io/project/add" target="_blank"&gt;Create a new Hackaday.io project&lt;/a&gt; that features what you’re working on, and we’ll pick our three favorites for a $150 gift certificate courtesy of this contest’s sponsor, DigiKey.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115446"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Honorable Mention Categories:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Lightshow:&lt;/b&gt; A laser on its own makes a beam, but there’s so much more to a laser show than just a dot on the wall. If you’ve &lt;a href="https://hackaday.com/2026/05/06/rgb-laser-projector-does-colorful-asteroids-and-much-more/"&gt;made your own projector&lt;/a&gt;, an RGB setup, or even something &lt;a href="https://hackaday.com/2023/05/12/laser-projector-built-from-an-old-hard-drive/"&gt;super simple with a spinning mirror&lt;/a&gt;, show it off here. We’re looking to see laser light beauty, and the machines that make it possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;DIY:&lt;/b&gt; This category is for the laser DIYers out there. If you made your own laser or laser support equipment, be it a &lt;a href="https://hackaday.com/2010/09/12/home-made-t-e-a-lasers/"&gt;TEA laser from scratch&lt;/a&gt;, or just a constant current driver to run a diode you salvaged from a projector, we want to see it. Have you resurrected an esoteric old device? Mixed up your own dyes? This category is all about the laser.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;With Remaining Eye:&lt;/b&gt; Lasers are not all fun and games; they can also do real work. If you’ve built a power laser project, or any functional device that relies on a laser to get the job done, it’s eligible here. &lt;a href="https://hackaday.com/2026/04/01/drawing-tablet-controls-laser-in-real-time/"&gt;Laser cutters&lt;/a&gt;, safety setups, &lt;a href="https://hackaday.com/2025/10/02/sending-toslink-wirelessly-with-lasers/"&gt;data transfer&lt;/a&gt; over the light beam?  &lt;a href="https://hackaday.com/2026/05/18/long-range-night-vision-with-an-infrared-laser/"&gt;Any laser project&lt;/a&gt; that’s not about just looking good fits in here.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you like to play with the coherent beams, &lt;a href="https://hackaday.io/contest/205780-frikkin-lasers-challenge" target="_blank"&gt;head on over to Hackaday.io&lt;/a&gt; and detail your project &amp;#8212; and don&amp;#8217;t forget to enter it into the contest via the pulldown menu on the left side. If you win, you&amp;#8217;ll have $150 to spend on more lasers. (We see you, with our remaining eye.)&lt;/p&gt;
&lt;div class="widget_text widget widget_custom_html amr_widget" id="sidebar-mobile-1"&gt;&lt;div class="textwidget custom-html-widget"&gt;&lt;div style="text-align: center; font-size: 24px; font-weight: 300; margin: 12px 0;"&gt; 
&lt;a href="https://hackaday.io/contest/" rel="noopener" target="_blank"&gt;&lt;img alt="2026 Hackaday Freaking Lasers Contest" src="https://hackaday.com/wp-content/uploads/2026/05/Lasers_728x90.jpg" style="width: auto; height: 99px;" /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content>
    <link href="https://hackaday.com/2026/05/28/the-frikkin-lasers-contest-starts-now/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2026/05/Lasers.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;We don’t need to tell you: lasers are awesome. Those tiny red beams aren&amp;#8217;t just for frustrating cats, but can do real work, be a source of infinite beauty, or constitute a science project in its own right &amp;#8212; and you can win a $150 DigiKey gift certificate &lt;a href="https://hackaday.io/contest/205780-frikkin-lasers-challenge" target="_blank"&gt;simply by writing your project up on Hackaday.io.&lt;/a&gt; The contest runs until July 23rd.&lt;/p&gt;
&lt;p&gt;Of course, red lasers are only the beginning. If you have enough energy to move electrons into higher orbitals, you can make nearly anything lase. RGB setups can be breathtaking. Powerful IR and UV lasers are real tools. And the DIY side of lasering combines physics and electronics, with a spicy side of danger that needs to be contained.&lt;/p&gt;
&lt;p&gt;We love laser builds of all sorts, and we’d like to see yours! &lt;a href="https://hackaday.io/project/add" target="_blank"&gt;Create a new Hackaday.io project&lt;/a&gt; that features what you’re working on, and we’ll pick our three favorites for a $150 gift certificate courtesy of this contest’s sponsor, DigiKey.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115446"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Honorable Mention Categories:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Lightshow:&lt;/b&gt; A laser on its own makes a beam, but there’s so much more to a laser show than just a dot on the wall. If you’ve &lt;a href="https://hackaday.com/2026/05/06/rgb-laser-projector-does-colorful-asteroids-and-much-more/"&gt;made your own projector&lt;/a&gt;, an RGB setup, or even something &lt;a href="https://hackaday.com/2023/05/12/laser-projector-built-from-an-old-hard-drive/"&gt;super simple with a spinning mirror&lt;/a&gt;, show it off here. We’re looking to see laser light beauty, and the machines that make it possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;DIY:&lt;/b&gt; This category is for the laser DIYers out there. If you made your own laser or laser support equipment, be it a &lt;a href="https://hackaday.com/2010/09/12/home-made-t-e-a-lasers/"&gt;TEA laser from scratch&lt;/a&gt;, or just a constant current driver to run a diode you salvaged from a projector, we want to see it. Have you resurrected an esoteric old device? Mixed up your own dyes? This category is all about the laser.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;With Remaining Eye:&lt;/b&gt; Lasers are not all fun and games; they can also do real work. If you’ve built a power laser project, or any functional device that relies on a laser to get the job done, it’s eligible here. &lt;a href="https://hackaday.com/2026/04/01/drawing-tablet-controls-laser-in-real-time/"&gt;Laser cutters&lt;/a&gt;, safety setups, &lt;a href="https://hackaday.com/2025/10/02/sending-toslink-wirelessly-with-lasers/"&gt;data transfer&lt;/a&gt; over the light beam?  &lt;a href="https://hackaday.com/2026/05/18/long-range-night-vision-with-an-infrared-laser/"&gt;Any laser project&lt;/a&gt; that’s not about just looking good fits in here.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you like to play with the coherent beams, &lt;a href="https://hackaday.io/contest/205780-frikkin-lasers-challenge" target="_blank"&gt;head on over to Hackaday.io&lt;/a&gt; and detail your project &amp;#8212; and don&amp;#8217;t forget to enter it into the contest via the pulldown menu on the left side. If you win, you&amp;#8217;ll have $150 to spend on more lasers. (We see you, with our remaining eye.)&lt;/p&gt;
&lt;div class="widget_text widget widget_custom_html amr_widget" id="sidebar-mobile-1"&gt;&lt;div class="textwidget custom-html-widget"&gt;&lt;div style="text-align: center; font-size: 24px; font-weight: 300; margin: 12px 0;"&gt; 
&lt;a href="https://hackaday.io/contest/" rel="noopener" target="_blank"&gt;&lt;img alt="2026 Hackaday Freaking Lasers Contest" src="https://hackaday.com/wp-content/uploads/2026/05/Lasers_728x90.jpg" style="width: auto; height: 99px;" /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</summary>
    <published>2026-05-28T17:00:04+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115341</id>
    <title>Bring Back Your Bose with an ESP32</title>
    <updated>2026-05-28T15:30:46+00:00</updated>
    <author>
      <name>Jenny List</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/bose-soundtouch-featured.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;It&amp;#8217;s become a familiar theme over the last couple of decades &amp;#8212; hardware is rendered useless when its manufacturer pulls the cloud service on which it depends. This is particularly annoying when the device is something which shouldn&amp;#8217;t &lt;em&gt;need&lt;/em&gt; a cloud service to run in the first place, and several manufacturers have found themselves in hot water because of this.&lt;/p&gt;
&lt;p&gt;Somewhere in between is the Bose SoundTouch speaker system, which includes a set of six internet radio preset buttons. In early May the service behind them was shuttered, and now here&amp;#8217;s [Tostmann] with &lt;a href="https://github.com/tostmann/SixBack" target="_blank"&gt;an ESP32 firmware to bring them back&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As you might imagine, it&amp;#8217;s a device that emulates just enough of the now-defunct Bose cloud service to keep the speaker happy, but it has a clever trick up its sleeve. Normally these hacks rely on DNS redirects at the router, but this one avoids that thanks to a diagnostic interface on the Bose unit that allows the rewriting of the server address. The ESP32 does this with its own address, and the speaker is none the wiser.&lt;/p&gt;
&lt;p&gt;We like this hack, because of its ingenuity, and because it saves yet another orphaned cloud product from becoming e-waste. &lt;a href="https://hackaday.com/2020/02/24/ethics-whiplash-as-sonos-tries-every-possible-wrong-way-to-handle-iot-right/"&gt;This isn&amp;#8217;t the first time we&amp;#8217;ve seen a manufacturer on the naughty step for these practices&lt;/a&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Header image: TAKA@P.P.R.S, &lt;a href="https://www.flickr.com/photos/takapprs_flickr/30446070750/in/album-72157675973040516/" target="_blank"&gt;CC BY-SA 2.0&lt;/a&gt;.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/bring-back-your-bose-with-an-esp32/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/bose-soundtouch-featured.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;It&amp;#8217;s become a familiar theme over the last couple of decades &amp;#8212; hardware is rendered useless when its manufacturer pulls the cloud service on which it depends. This is particularly annoying when the device is something which shouldn&amp;#8217;t &lt;em&gt;need&lt;/em&gt; a cloud service to run in the first place, and several manufacturers have found themselves in hot water because of this.&lt;/p&gt;
&lt;p&gt;Somewhere in between is the Bose SoundTouch speaker system, which includes a set of six internet radio preset buttons. In early May the service behind them was shuttered, and now here&amp;#8217;s [Tostmann] with &lt;a href="https://github.com/tostmann/SixBack" target="_blank"&gt;an ESP32 firmware to bring them back&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As you might imagine, it&amp;#8217;s a device that emulates just enough of the now-defunct Bose cloud service to keep the speaker happy, but it has a clever trick up its sleeve. Normally these hacks rely on DNS redirects at the router, but this one avoids that thanks to a diagnostic interface on the Bose unit that allows the rewriting of the server address. The ESP32 does this with its own address, and the speaker is none the wiser.&lt;/p&gt;
&lt;p&gt;We like this hack, because of its ingenuity, and because it saves yet another orphaned cloud product from becoming e-waste. &lt;a href="https://hackaday.com/2020/02/24/ethics-whiplash-as-sonos-tries-every-possible-wrong-way-to-handle-iot-right/"&gt;This isn&amp;#8217;t the first time we&amp;#8217;ve seen a manufacturer on the naughty step for these practices&lt;/a&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Header image: TAKA@P.P.R.S, &lt;a href="https://www.flickr.com/photos/takapprs_flickr/30446070750/in/album-72157675973040516/" target="_blank"&gt;CC BY-SA 2.0&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2026-05-28T15:30:46+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115389</id>
    <title>Linux Fu: Fake Webcams Have Many Uses</title>
    <updated>2026-05-28T14:00:30+00:00</updated>
    <author>
      <name>Al Williams</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2020/05/LinuxFu.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Dealing with text streams is a fundamental skill for the Linux power user. You can sort, merge, and search text files easily from the command line. What if you could do the same thing with video? Well, you can. Maybe you want to add a logo to a webcam feed before sending it to a conference app. Maybe you want to blur, color-correct, or annotate video in real time. Or perhaps you want to inject prerecorded video into Zoom while pretending it is a live camera. Linux can do all of this, and the key ingredient is usually the same: a loopback video device.&lt;/p&gt;
&lt;p&gt;The basic idea is simple. Instead of an application reading directly from &lt;code&gt;/dev/video0&lt;/code&gt;, you create a fake camera device using the v4l2loopback kernel module. Your software pipeline writes processed video into the fake camera, and applications read from it as if it were a normal webcam. The result is surprisingly powerful.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115389"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Loopback Cameras&lt;/h2&gt;
&lt;p&gt;The first step is to install the loopback driver. On many distributions, this is packaged already. On Debian or Ubuntu, you&amp;#8217;d install the v4l2loopback-dkms package. On OpenSUSE it&amp;#8217;s probably v4l2loopback-kmp-default if you&amp;#8217;re using the usual kernel.&lt;/p&gt;
&lt;p&gt;Unless your distro automatically loads the module, you&amp;#8217;ll do it yourself and tell the driver how many fake cameras to make. You&amp;#8217;ll also need to tell it where to put them. Here, I&amp;#8217;m asking for a single camera at &lt;code&gt;/dev/video10&lt;/code&gt; named VirtualCam:&lt;/p&gt;
&lt;pre&gt;sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="VirtualCam"&lt;/pre&gt;
&lt;p&gt;After you&amp;#8217;ve done this, you can verify it:&lt;/p&gt;
&lt;pre&gt;v4l2-ctl --list-devices&lt;/pre&gt;
&lt;p&gt;Applications can now see the fake camera, but there&amp;#8217;s nothing coming out of it yet.&lt;/p&gt;
&lt;h2&gt;Basic Pipeline&lt;/h2&gt;
&lt;p&gt;Suppose you have a USB webcam at &lt;code&gt;/dev/video0&lt;/code&gt;. You can read from it and send the stream directly into the loopback device with FFmpeg:&lt;/p&gt;
&lt;pre&gt;ffmpeg -f v4l2 -i /dev/video0 -vf format=yuv420p -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;Now applications can use &lt;code&gt;/dev/video10&lt;/code&gt; as a webcam source. This alone is useful because it decouples applications from the physical camera. For example, I had an old Intel Lifecam that would randomly throw an error when used with a browser video conference app, but ffmpeg had no problems with it. A similar pipeline lets me videoconference with this camera. But the real fun starts when you insert filters. A fun test site is &lt;a href="https://webcamtoy.com/" target="_blank"&gt;webcamtoy.com&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Adding a Watermark&lt;/h2&gt;
&lt;p&gt;FFmpeg’s filter graph system is quite flexible. A watermark is just another video source composited over the main image. Suppose you have a PNG file named wrencher.png with transparency. This command overlays it in the lower-right corner:&lt;/p&gt;
&lt;pre&gt;ffmpeg -f v4l2 -i /dev/video0 -i wrencher.png -filter_complex "overlay=W-w-20:H-h-20,format=yuv420p" -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;Or, you could be more explicit:&lt;/p&gt;
&lt;pre&gt;ffmpeg -f v4l2 -video_size 1024x720 -framerate 15 -i /dev/video0 -i wrencher.png -filter_complex "overlay=x=main_w-overlay_w-20:y=main_h-overlay_h-20,format=yuv420p" -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;Now the logo appears 20 pixels from the bottom-right edge. However, note that if your software &amp;#8220;mirrors&amp;#8221; your image for local display, the watermark will go to the other side in your view. That makes sense.&lt;/p&gt;
&lt;p&gt;If your video fails, or it looks like color garbage or a green screen, you may have to pick a different video conversion other than yuv420p.&lt;/p&gt;
&lt;figure class="wp-caption aligncenter" id="attachment_1115396" style="width: 400px;"&gt;&lt;a href="https://hackaday.com/wp-content/uploads/2026/05/toy1.png" target="_blank"&gt;&lt;img alt="" class="wp-image-1115396 size-medium" height="183" src="https://hackaday.com/wp-content/uploads/2026/05/toy1.png?w=400" width="400" /&gt;&lt;/a&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1115396"&gt;Perhaps a bit large for a watermark, but you get the idea.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2&gt;Injecting Video&lt;/h2&gt;
&lt;p&gt;You are not limited to webcams. You can inject a prerecorded video:&lt;/p&gt;
&lt;pre&gt;ffmpeg -re -stream_loop -1 -i intro.mp4 -vf format=yuv420p -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;The -re flag tells FFmpeg to play in real time instead of as fast as possible. The -stream_loop -1 repeats forever.&lt;/p&gt;
&lt;p&gt;This is useful for demonstrations, test feeds, signage, appearing awake in meetings, or foiling security cameras in low-budget action movies.&lt;/p&gt;
&lt;h2&gt;Multiple Filters&lt;/h2&gt;
&lt;p&gt;Once you understand the filter graph concept, you can stack effects endlessly.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre&gt;-filter_complex "eq=contrast=1.2:brightness=0.05, hue=s=0, overlay=W-w-20:H-h-20, format=yuv420p"&lt;/pre&gt;
&lt;p&gt;This:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adjusts contrast&lt;/li&gt;
&lt;li&gt;Brightens slightly&lt;/li&gt;
&lt;li&gt;Converts to grayscale&lt;/li&gt;
&lt;li&gt;Adds the watermark&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;FFmpeg contains hundreds of filters, including blur, sharpen, edge detection, chroma keying, denoise, LUTs, stabilization, and even AI-assisted processing if built with the right libraries.&lt;/p&gt;
&lt;p&gt;At some point, though, you may want a more modular architecture. That is where GStreamer becomes interesting.&lt;/p&gt;
&lt;h2&gt;Enter GStreamer&lt;/h2&gt;
&lt;p&gt;FFmpeg excels at direct command-line media processing, but GStreamer is more like a traditional Unix/Linux pipeline. You construct a pipeline out of interconnected processing blocks. The learning curve is steeper, but it enables extremely sophisticated workflows.&lt;/p&gt;
&lt;figure class="wp-caption aligncenter" id="attachment_1115393" style="width: 400px;"&gt;&lt;a href="https://hackaday.com/wp-content/uploads/2026/05/toy2.png"&gt;&lt;img alt="" class="size-medium wp-image-1115393" height="243" src="https://hackaday.com/wp-content/uploads/2026/05/toy2.png?w=400" width="400" /&gt;&lt;/a&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1115393"&gt;Adding text to live video in WebCamFun.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;A simple camera-to-loopback pipeline looks like this:&lt;/p&gt;
&lt;pre&gt;gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! v4l2sink device=dev/video10&lt;/pre&gt;
&lt;p&gt;That simply duplicates the webcam into the virtual device.&lt;/p&gt;
&lt;p&gt;Suppose you want to add text:&lt;/p&gt;
&lt;pre&gt;gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! textoverlay text="Hackaday!" valignment=bottom halignment=right ! v4l2sink device=/dev/video10&lt;/pre&gt;
&lt;h2&gt;Inspecting GStreamer&lt;/h2&gt;
&lt;p&gt;One thing that intimidates new GStreamer users is how enormous the framework feels. Fortunately, there’s a tool specifically designed to explore what is available: gst-inspect-1.0&lt;/p&gt;
&lt;p&gt;Run without arguments, it dumps every installed plugin and element on your system. The list can be surprisingly long. Using grep on the output can help.&lt;/p&gt;
&lt;p&gt;More useful is inspecting a specific element:&lt;/p&gt;
&lt;pre&gt;gst-inspect-1.0 v4l2src&lt;/pre&gt;
&lt;p&gt;This shows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supported capabilities&lt;/li&gt;
&lt;li&gt;Accepted formats&lt;/li&gt;
&lt;li&gt;Properties&lt;/li&gt;
&lt;li&gt;Pad types&lt;/li&gt;
&lt;li&gt;Configuration options&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, inspecting textoverlay reveals options for font selection, alignment, shading, and transparency. Inspecting videobalance shows controls for brightness, hue, saturation, and contrast.&lt;/p&gt;
&lt;p&gt;This becomes essential because GStreamer pipelines are often constructed experimentally. You discover an element, inspect its capabilities, then wire it into the pipeline.&lt;/p&gt;
&lt;h2&gt;Using Images in GStreamer&lt;/h2&gt;
&lt;p&gt;Overlaying an image is slightly more involved because GStreamer separates streams explicitly. One common approach uses gdkpixbufoverlay (here, placing a logo at the lower right):&lt;/p&gt;
&lt;pre&gt;gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! gdkpixbufoverlay location=logo.png offset-x=20 offset-y=20 ! videoconvert ! v4l2sink device=/dev/video10&lt;/pre&gt;
&lt;p&gt;You can keep adding modules until you get what you want. A more elaborate pipeline might:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read a webcam&lt;/li&gt;
&lt;li&gt;Add a logo&lt;/li&gt;
&lt;li&gt;Blur the background&lt;/li&gt;
&lt;li&gt;Encode H.264&lt;/li&gt;
&lt;li&gt;Stream over RTSP&lt;/li&gt;
&lt;li&gt;Simultaneously feed a loopback webcam&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GStreamer can also integrate with many hardware codecs for hardware encoding and decoding.&lt;/p&gt;
&lt;h2&gt;Practical Considerations&lt;/h2&gt;
&lt;p&gt;There are several things that tend to trip people up.&lt;/p&gt;
&lt;p&gt;Video applications can be extremely picky about formats. MJPEG, YUYV, RGB, and YUV420 all appear frequently. If things fail mysteriously, format conversion is often the culprit.&lt;/p&gt;
&lt;p&gt;Tools like v4l2-ctl can help:&lt;/p&gt;
&lt;pre&gt;v4l2-ctl --list-formats-ext&lt;/pre&gt;
&lt;p&gt;Another issue is that many applications reject unusual sizes. Sticking with standard resolutions like 1280&amp;#215;720 or 1920&amp;#215;1080 avoids many headaches.&lt;/p&gt;
&lt;p&gt;Real-time video processing can consume substantial CPU resources. Hardware acceleration helps, but some filters force software processing anyway. Similarly, virtual camera pipelines can accumulate delay. Low-latency flags and queue tuning sometimes become necessary for interactive use.&lt;/p&gt;
&lt;h2&gt;Beyond Watermarks&lt;/h2&gt;
&lt;p&gt;Once you have a loopback pipeline running, you can get creative. You could create a retro CRT simulation, a fake thermal camera, or detect motion. Maybe insert a timestamp or a live video feed from your oscilloscope or 3D printer. Because the output looks like a normal webcam, almost any Linux application can use it. They simply see another camera.&lt;/p&gt;
&lt;p&gt;There are many more advanced techniques possible with GStreamer pipelines, including branching streams with tee, synchronizing multiple sources, GPU-accelerated effects, network streaming, and live compositing. If you want a deeper dive into practical virtual-camera workflows, this video provides an excellent starting point:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Another tip: if you write shell scripts, using things like /dev/video0 will get you in trouble unless your configuration never changes. Instead, use the stable symlinks:&lt;/p&gt;
&lt;pre&gt;ls -l /dev/v4l/by-id/&lt;/pre&gt;
&lt;p&gt;You’ll see things like:&lt;/p&gt;
&lt;pre&gt;usb-046d_HD_Pro_Webcam_C920-video-index0&lt;/pre&gt;
&lt;p&gt;Then use that path directly in FFmpeg or GStreamer.&lt;/p&gt;
&lt;h2&gt;Cleaning Up&lt;/h2&gt;
&lt;p&gt;When you are finished with the virtual camera, remember that the loopback device persists until the kernel module is unloaded. Stop any applications using the fake camera first, then remove the module:&lt;/p&gt;
&lt;pre&gt;sudo modprobe -r v4l2loopback&lt;/pre&gt;
&lt;p&gt;That tears down the virtual camera devices and removes them. If you created multiple fake cameras, unloading the module removes them all at once.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hackaday.com/2017/09/12/video-streaming-like-your-raspberry-pi-depended-on-it/"&gt;We&amp;#8217;ve used Gstrteamer before&lt;/a&gt; for remote driving.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/linux-fu-fake-webcams-have-many-uses/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2020/05/LinuxFu.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;Dealing with text streams is a fundamental skill for the Linux power user. You can sort, merge, and search text files easily from the command line. What if you could do the same thing with video? Well, you can. Maybe you want to add a logo to a webcam feed before sending it to a conference app. Maybe you want to blur, color-correct, or annotate video in real time. Or perhaps you want to inject prerecorded video into Zoom while pretending it is a live camera. Linux can do all of this, and the key ingredient is usually the same: a loopback video device.&lt;/p&gt;
&lt;p&gt;The basic idea is simple. Instead of an application reading directly from &lt;code&gt;/dev/video0&lt;/code&gt;, you create a fake camera device using the v4l2loopback kernel module. Your software pipeline writes processed video into the fake camera, and applications read from it as if it were a normal webcam. The result is surprisingly powerful.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1115389"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Loopback Cameras&lt;/h2&gt;
&lt;p&gt;The first step is to install the loopback driver. On many distributions, this is packaged already. On Debian or Ubuntu, you&amp;#8217;d install the v4l2loopback-dkms package. On OpenSUSE it&amp;#8217;s probably v4l2loopback-kmp-default if you&amp;#8217;re using the usual kernel.&lt;/p&gt;
&lt;p&gt;Unless your distro automatically loads the module, you&amp;#8217;ll do it yourself and tell the driver how many fake cameras to make. You&amp;#8217;ll also need to tell it where to put them. Here, I&amp;#8217;m asking for a single camera at &lt;code&gt;/dev/video10&lt;/code&gt; named VirtualCam:&lt;/p&gt;
&lt;pre&gt;sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="VirtualCam"&lt;/pre&gt;
&lt;p&gt;After you&amp;#8217;ve done this, you can verify it:&lt;/p&gt;
&lt;pre&gt;v4l2-ctl --list-devices&lt;/pre&gt;
&lt;p&gt;Applications can now see the fake camera, but there&amp;#8217;s nothing coming out of it yet.&lt;/p&gt;
&lt;h2&gt;Basic Pipeline&lt;/h2&gt;
&lt;p&gt;Suppose you have a USB webcam at &lt;code&gt;/dev/video0&lt;/code&gt;. You can read from it and send the stream directly into the loopback device with FFmpeg:&lt;/p&gt;
&lt;pre&gt;ffmpeg -f v4l2 -i /dev/video0 -vf format=yuv420p -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;Now applications can use &lt;code&gt;/dev/video10&lt;/code&gt; as a webcam source. This alone is useful because it decouples applications from the physical camera. For example, I had an old Intel Lifecam that would randomly throw an error when used with a browser video conference app, but ffmpeg had no problems with it. A similar pipeline lets me videoconference with this camera. But the real fun starts when you insert filters. A fun test site is &lt;a href="https://webcamtoy.com/" target="_blank"&gt;webcamtoy.com&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Adding a Watermark&lt;/h2&gt;
&lt;p&gt;FFmpeg’s filter graph system is quite flexible. A watermark is just another video source composited over the main image. Suppose you have a PNG file named wrencher.png with transparency. This command overlays it in the lower-right corner:&lt;/p&gt;
&lt;pre&gt;ffmpeg -f v4l2 -i /dev/video0 -i wrencher.png -filter_complex "overlay=W-w-20:H-h-20,format=yuv420p" -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;Or, you could be more explicit:&lt;/p&gt;
&lt;pre&gt;ffmpeg -f v4l2 -video_size 1024x720 -framerate 15 -i /dev/video0 -i wrencher.png -filter_complex "overlay=x=main_w-overlay_w-20:y=main_h-overlay_h-20,format=yuv420p" -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;Now the logo appears 20 pixels from the bottom-right edge. However, note that if your software &amp;#8220;mirrors&amp;#8221; your image for local display, the watermark will go to the other side in your view. That makes sense.&lt;/p&gt;
&lt;p&gt;If your video fails, or it looks like color garbage or a green screen, you may have to pick a different video conversion other than yuv420p.&lt;/p&gt;
&lt;figure class="wp-caption aligncenter" id="attachment_1115396" style="width: 400px;"&gt;&lt;a href="https://hackaday.com/wp-content/uploads/2026/05/toy1.png" target="_blank"&gt;&lt;img alt="" class="wp-image-1115396 size-medium" height="183" src="https://hackaday.com/wp-content/uploads/2026/05/toy1.png?w=400" width="400" /&gt;&lt;/a&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1115396"&gt;Perhaps a bit large for a watermark, but you get the idea.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2&gt;Injecting Video&lt;/h2&gt;
&lt;p&gt;You are not limited to webcams. You can inject a prerecorded video:&lt;/p&gt;
&lt;pre&gt;ffmpeg -re -stream_loop -1 -i intro.mp4 -vf format=yuv420p -f v4l2 /dev/video10&lt;/pre&gt;
&lt;p&gt;The -re flag tells FFmpeg to play in real time instead of as fast as possible. The -stream_loop -1 repeats forever.&lt;/p&gt;
&lt;p&gt;This is useful for demonstrations, test feeds, signage, appearing awake in meetings, or foiling security cameras in low-budget action movies.&lt;/p&gt;
&lt;h2&gt;Multiple Filters&lt;/h2&gt;
&lt;p&gt;Once you understand the filter graph concept, you can stack effects endlessly.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre&gt;-filter_complex "eq=contrast=1.2:brightness=0.05, hue=s=0, overlay=W-w-20:H-h-20, format=yuv420p"&lt;/pre&gt;
&lt;p&gt;This:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adjusts contrast&lt;/li&gt;
&lt;li&gt;Brightens slightly&lt;/li&gt;
&lt;li&gt;Converts to grayscale&lt;/li&gt;
&lt;li&gt;Adds the watermark&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;FFmpeg contains hundreds of filters, including blur, sharpen, edge detection, chroma keying, denoise, LUTs, stabilization, and even AI-assisted processing if built with the right libraries.&lt;/p&gt;
&lt;p&gt;At some point, though, you may want a more modular architecture. That is where GStreamer becomes interesting.&lt;/p&gt;
&lt;h2&gt;Enter GStreamer&lt;/h2&gt;
&lt;p&gt;FFmpeg excels at direct command-line media processing, but GStreamer is more like a traditional Unix/Linux pipeline. You construct a pipeline out of interconnected processing blocks. The learning curve is steeper, but it enables extremely sophisticated workflows.&lt;/p&gt;
&lt;figure class="wp-caption aligncenter" id="attachment_1115393" style="width: 400px;"&gt;&lt;a href="https://hackaday.com/wp-content/uploads/2026/05/toy2.png"&gt;&lt;img alt="" class="size-medium wp-image-1115393" height="243" src="https://hackaday.com/wp-content/uploads/2026/05/toy2.png?w=400" width="400" /&gt;&lt;/a&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1115393"&gt;Adding text to live video in WebCamFun.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;A simple camera-to-loopback pipeline looks like this:&lt;/p&gt;
&lt;pre&gt;gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! v4l2sink device=dev/video10&lt;/pre&gt;
&lt;p&gt;That simply duplicates the webcam into the virtual device.&lt;/p&gt;
&lt;p&gt;Suppose you want to add text:&lt;/p&gt;
&lt;pre&gt;gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! textoverlay text="Hackaday!" valignment=bottom halignment=right ! v4l2sink device=/dev/video10&lt;/pre&gt;
&lt;h2&gt;Inspecting GStreamer&lt;/h2&gt;
&lt;p&gt;One thing that intimidates new GStreamer users is how enormous the framework feels. Fortunately, there’s a tool specifically designed to explore what is available: gst-inspect-1.0&lt;/p&gt;
&lt;p&gt;Run without arguments, it dumps every installed plugin and element on your system. The list can be surprisingly long. Using grep on the output can help.&lt;/p&gt;
&lt;p&gt;More useful is inspecting a specific element:&lt;/p&gt;
&lt;pre&gt;gst-inspect-1.0 v4l2src&lt;/pre&gt;
&lt;p&gt;This shows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supported capabilities&lt;/li&gt;
&lt;li&gt;Accepted formats&lt;/li&gt;
&lt;li&gt;Properties&lt;/li&gt;
&lt;li&gt;Pad types&lt;/li&gt;
&lt;li&gt;Configuration options&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, inspecting textoverlay reveals options for font selection, alignment, shading, and transparency. Inspecting videobalance shows controls for brightness, hue, saturation, and contrast.&lt;/p&gt;
&lt;p&gt;This becomes essential because GStreamer pipelines are often constructed experimentally. You discover an element, inspect its capabilities, then wire it into the pipeline.&lt;/p&gt;
&lt;h2&gt;Using Images in GStreamer&lt;/h2&gt;
&lt;p&gt;Overlaying an image is slightly more involved because GStreamer separates streams explicitly. One common approach uses gdkpixbufoverlay (here, placing a logo at the lower right):&lt;/p&gt;
&lt;pre&gt;gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! gdkpixbufoverlay location=logo.png offset-x=20 offset-y=20 ! videoconvert ! v4l2sink device=/dev/video10&lt;/pre&gt;
&lt;p&gt;You can keep adding modules until you get what you want. A more elaborate pipeline might:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read a webcam&lt;/li&gt;
&lt;li&gt;Add a logo&lt;/li&gt;
&lt;li&gt;Blur the background&lt;/li&gt;
&lt;li&gt;Encode H.264&lt;/li&gt;
&lt;li&gt;Stream over RTSP&lt;/li&gt;
&lt;li&gt;Simultaneously feed a loopback webcam&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GStreamer can also integrate with many hardware codecs for hardware encoding and decoding.&lt;/p&gt;
&lt;h2&gt;Practical Considerations&lt;/h2&gt;
&lt;p&gt;There are several things that tend to trip people up.&lt;/p&gt;
&lt;p&gt;Video applications can be extremely picky about formats. MJPEG, YUYV, RGB, and YUV420 all appear frequently. If things fail mysteriously, format conversion is often the culprit.&lt;/p&gt;
&lt;p&gt;Tools like v4l2-ctl can help:&lt;/p&gt;
&lt;pre&gt;v4l2-ctl --list-formats-ext&lt;/pre&gt;
&lt;p&gt;Another issue is that many applications reject unusual sizes. Sticking with standard resolutions like 1280&amp;#215;720 or 1920&amp;#215;1080 avoids many headaches.&lt;/p&gt;
&lt;p&gt;Real-time video processing can consume substantial CPU resources. Hardware acceleration helps, but some filters force software processing anyway. Similarly, virtual camera pipelines can accumulate delay. Low-latency flags and queue tuning sometimes become necessary for interactive use.&lt;/p&gt;
&lt;h2&gt;Beyond Watermarks&lt;/h2&gt;
&lt;p&gt;Once you have a loopback pipeline running, you can get creative. You could create a retro CRT simulation, a fake thermal camera, or detect motion. Maybe insert a timestamp or a live video feed from your oscilloscope or 3D printer. Because the output looks like a normal webcam, almost any Linux application can use it. They simply see another camera.&lt;/p&gt;
&lt;p&gt;There are many more advanced techniques possible with GStreamer pipelines, including branching streams with tee, synchronizing multiple sources, GPU-accelerated effects, network streaming, and live compositing. If you want a deeper dive into practical virtual-camera workflows, this video provides an excellent starting point:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Another tip: if you write shell scripts, using things like /dev/video0 will get you in trouble unless your configuration never changes. Instead, use the stable symlinks:&lt;/p&gt;
&lt;pre&gt;ls -l /dev/v4l/by-id/&lt;/pre&gt;
&lt;p&gt;You’ll see things like:&lt;/p&gt;
&lt;pre&gt;usb-046d_HD_Pro_Webcam_C920-video-index0&lt;/pre&gt;
&lt;p&gt;Then use that path directly in FFmpeg or GStreamer.&lt;/p&gt;
&lt;h2&gt;Cleaning Up&lt;/h2&gt;
&lt;p&gt;When you are finished with the virtual camera, remember that the loopback device persists until the kernel module is unloaded. Stop any applications using the fake camera first, then remove the module:&lt;/p&gt;
&lt;pre&gt;sudo modprobe -r v4l2loopback&lt;/pre&gt;
&lt;p&gt;That tears down the virtual camera devices and removes them. If you created multiple fake cameras, unloading the module removes them all at once.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hackaday.com/2017/09/12/video-streaming-like-your-raspberry-pi-depended-on-it/"&gt;We&amp;#8217;ve used Gstrteamer before&lt;/a&gt; for remote driving.&lt;/p&gt;</summary>
    <published>2026-05-28T14:00:30+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112681</id>
    <title>Virtual Museum Hosts Every OS You Haven’t Heard Of</title>
    <updated>2026-05-28T11:00:54+00:00</updated>
    <author>
      <name>Tyler August</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="The Virtual OS museum, screenshot" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/2.-Unix-PC-SVR2-and-XVM-RSX.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;OK, &lt;em&gt;every&lt;/em&gt; operating system is a bit of a stretch &amp;#8212; Windows Vista notably didn&amp;#8217;t make the cut &amp;#8212; but&lt;a href="https://virtualosmuseum.org/" target="_blank"&gt; [Andrew]&amp;#8217;s Virtual OS museum&lt;/a&gt; has a good claim to being the most comprehensive archive of operating systems yet assembled.&lt;/p&gt;
&lt;p&gt;[Andrew] has a &lt;a href="https://andreww591.blogspot.com/2026/05/ive-released-virtual-museum-with-nearly.html" target="_blank"&gt;blog post describing the project&lt;/a&gt;, as well as a YouTube video that we&amp;#8217;ve embedded below. But the real fun is in the downloading and spinning up one of 570+ operating systems for more than 250 platforms on pre-configured virtual machines that have been packaged up for us.&lt;/p&gt;
&lt;p&gt;This isn&amp;#8217;t just the usual retrocomputer nostalgia-fest of Macintosh System and DOSBox. There&amp;#8217;s everything from IBM Big Iron and VAXen to Texas Instrument graphing calculators emulated in the museum, with software to run on them, too. If you&amp;#8217;ve ever wondered &lt;a href="https://hackaday.com/2025/03/19/modern-computings-roots-or-the-manchester-baby/"&gt;what you could do with the Manchester Baby&lt;/a&gt;, well, all known software for that machine is included with its &amp;#8216;operating system&amp;#8217;.&lt;/p&gt;
&lt;p&gt;Admission is free, but like any good museum you&amp;#8217;ll be waiting in line a while to get in, so expect the full 128 GB download to take some time. If you&amp;#8217;re into computer history, though, it&amp;#8217;s going to very much be worth the wait. If you try it and like it, you could help others by seeding the torrent.&lt;/p&gt;
&lt;p&gt;The actual museum launches in a VM as a modern Linux system &amp;#8212; perhaps that can be considered an exhibit itself &amp;#8212; with a launcher to select any of the other system/OS combos, including various other, older Linuxes hosted on their own VMs. There are more to come, too, as [Andrew] continues the long debugging process of making sure everything works as expected.&lt;/p&gt;
&lt;p&gt;Purists may decry this virtual emulation as not being quite the real thing, which is true. But while &lt;a href="https://hackaday.com/2021/09/12/hey-mister-emulator-gimme-almost-any-classic-platform/"&gt;MiSTer supports a lot of cores via FPGA&lt;/a&gt;, you probably won&amp;#8217;t find everything here on that platform. We have, however, seen an &lt;a href="https://hackaday.com/2016/01/06/babybaby-a-1948-computer-on-an-fpga/"&gt;FPGA recreation of the Manchester Baby&lt;/a&gt;. More than &lt;a href="https://hackaday.com/2015/06/23/really-really-retro-computer-on-an-fpga/"&gt;once, even&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112681"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/virtual-museum-hosts-every-os-you-havent-heard-of/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="The Virtual OS museum, screenshot" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/2.-Unix-PC-SVR2-and-XVM-RSX.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;OK, &lt;em&gt;every&lt;/em&gt; operating system is a bit of a stretch &amp;#8212; Windows Vista notably didn&amp;#8217;t make the cut &amp;#8212; but&lt;a href="https://virtualosmuseum.org/" target="_blank"&gt; [Andrew]&amp;#8217;s Virtual OS museum&lt;/a&gt; has a good claim to being the most comprehensive archive of operating systems yet assembled.&lt;/p&gt;
&lt;p&gt;[Andrew] has a &lt;a href="https://andreww591.blogspot.com/2026/05/ive-released-virtual-museum-with-nearly.html" target="_blank"&gt;blog post describing the project&lt;/a&gt;, as well as a YouTube video that we&amp;#8217;ve embedded below. But the real fun is in the downloading and spinning up one of 570+ operating systems for more than 250 platforms on pre-configured virtual machines that have been packaged up for us.&lt;/p&gt;
&lt;p&gt;This isn&amp;#8217;t just the usual retrocomputer nostalgia-fest of Macintosh System and DOSBox. There&amp;#8217;s everything from IBM Big Iron and VAXen to Texas Instrument graphing calculators emulated in the museum, with software to run on them, too. If you&amp;#8217;ve ever wondered &lt;a href="https://hackaday.com/2025/03/19/modern-computings-roots-or-the-manchester-baby/"&gt;what you could do with the Manchester Baby&lt;/a&gt;, well, all known software for that machine is included with its &amp;#8216;operating system&amp;#8217;.&lt;/p&gt;
&lt;p&gt;Admission is free, but like any good museum you&amp;#8217;ll be waiting in line a while to get in, so expect the full 128 GB download to take some time. If you&amp;#8217;re into computer history, though, it&amp;#8217;s going to very much be worth the wait. If you try it and like it, you could help others by seeding the torrent.&lt;/p&gt;
&lt;p&gt;The actual museum launches in a VM as a modern Linux system &amp;#8212; perhaps that can be considered an exhibit itself &amp;#8212; with a launcher to select any of the other system/OS combos, including various other, older Linuxes hosted on their own VMs. There are more to come, too, as [Andrew] continues the long debugging process of making sure everything works as expected.&lt;/p&gt;
&lt;p&gt;Purists may decry this virtual emulation as not being quite the real thing, which is true. But while &lt;a href="https://hackaday.com/2021/09/12/hey-mister-emulator-gimme-almost-any-classic-platform/"&gt;MiSTer supports a lot of cores via FPGA&lt;/a&gt;, you probably won&amp;#8217;t find everything here on that platform. We have, however, seen an &lt;a href="https://hackaday.com/2016/01/06/babybaby-a-1948-computer-on-an-fpga/"&gt;FPGA recreation of the Manchester Baby&lt;/a&gt;. More than &lt;a href="https://hackaday.com/2015/06/23/really-really-retro-computer-on-an-fpga/"&gt;once, even&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112681"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-28T11:00:54+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112604</id>
    <title>Testing LFP Battery Failure Modes With Overcharging</title>
    <updated>2026-05-28T08:00:57+00:00</updated>
    <author>
      <name>Maya Posch</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="485" src="https://hackaday.com/wp-content/uploads/2026/05/prismatic_lfp_cell_fire_will_prowse_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;As great as batteries are, it&amp;#8217;s essential to understand their risks and how to keep them from going spicy. Recently there has been a bit of a fuss about the dangers of LiFePO&lt;sub&gt;4&lt;/sub&gt; (LFP) batteries after someone&amp;#8217;s dedicated LFP battery shed got shredded into matchsticks by a hydrogen explosion, following said LFP batteries having a thermal event. The thing about the LFP chemistry is that if it suffers such a thermal event, it generates hydrogen gas, which is one of the most explosion-happy gases known to man. This is &lt;a href="https://www.youtube.com/watch?v=yL_pHNIttlc" target="_blank"&gt;demonstrated in a recent video&lt;/a&gt; by [Will Prowse].&lt;/p&gt;
&lt;p&gt;&lt;img alt="" class="size-medium wp-image-1112612 alignright" height="400" src="https://hackaday.com/wp-content/uploads/2026/05/prismatic_lfp_cell_setup_will_prowse_youtube.jpg?w=400" width="400" /&gt;&lt;/p&gt;
&lt;p&gt;To kick things off, a single prismatic LFP cell is overcharged for half an hour after it was already at 100% state of charge. This ultimately pops the vent as the cell begins to release hydrogen gas into the aquarium that the cell was placed in. Using a spark generator it&amp;#8217;s then attempted to ignite the gas, which initially takes a bit as enough hydrogen has to collect first.&lt;/p&gt;
&lt;p&gt;Once there&amp;#8217;s ignition, however, it happily keeps burning as more and more hydrogen pours out of the by now bulging cell&amp;#8217;s vent. If any other LFP cells had been nearby these too would be at risk of suffering thermal runaway, showing how just one bad LFP cell is enough to potentially set an LFP battery bank ablaze.&lt;/p&gt;
&lt;p&gt;In a commercial setting you will have precautions such as hydrogen sensors, ventilation and spark generators to deal with any generated hydrogen gas, as well as blow-out panels in case things end up going squirrely in a hurry.&lt;/p&gt;
&lt;p&gt;While a benefit of LFP chemistry is that it does not generate its own oxygen as with other lithium-ion chemistries, hydrogen gas is a major problem due to how incredibly volatile it is. It&amp;#8217;s not just a headache with battery storage, but also in the nuclear power sector, where zirconium fuel rod cladding can very efficiently turn steam into hydrogen and oxygen. This was the reason why &lt;a href="https://hackaday.com/2024/09/23/fukushima-daiichi-cleaning-up-after-a-nuclear-accident/"&gt;some of Fukushima Daiichi&amp;#8217;s buildings&lt;/a&gt; suffered detonations, with the nuclear plant operator opting to not install recommended hydrogen gas mitigation systems.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112604"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/28/testing-lfp-battery-failure-modes-with-overcharging/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="485" src="https://hackaday.com/wp-content/uploads/2026/05/prismatic_lfp_cell_fire_will_prowse_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;As great as batteries are, it&amp;#8217;s essential to understand their risks and how to keep them from going spicy. Recently there has been a bit of a fuss about the dangers of LiFePO&lt;sub&gt;4&lt;/sub&gt; (LFP) batteries after someone&amp;#8217;s dedicated LFP battery shed got shredded into matchsticks by a hydrogen explosion, following said LFP batteries having a thermal event. The thing about the LFP chemistry is that if it suffers such a thermal event, it generates hydrogen gas, which is one of the most explosion-happy gases known to man. This is &lt;a href="https://www.youtube.com/watch?v=yL_pHNIttlc" target="_blank"&gt;demonstrated in a recent video&lt;/a&gt; by [Will Prowse].&lt;/p&gt;
&lt;p&gt;&lt;img alt="" class="size-medium wp-image-1112612 alignright" height="400" src="https://hackaday.com/wp-content/uploads/2026/05/prismatic_lfp_cell_setup_will_prowse_youtube.jpg?w=400" width="400" /&gt;&lt;/p&gt;
&lt;p&gt;To kick things off, a single prismatic LFP cell is overcharged for half an hour after it was already at 100% state of charge. This ultimately pops the vent as the cell begins to release hydrogen gas into the aquarium that the cell was placed in. Using a spark generator it&amp;#8217;s then attempted to ignite the gas, which initially takes a bit as enough hydrogen has to collect first.&lt;/p&gt;
&lt;p&gt;Once there&amp;#8217;s ignition, however, it happily keeps burning as more and more hydrogen pours out of the by now bulging cell&amp;#8217;s vent. If any other LFP cells had been nearby these too would be at risk of suffering thermal runaway, showing how just one bad LFP cell is enough to potentially set an LFP battery bank ablaze.&lt;/p&gt;
&lt;p&gt;In a commercial setting you will have precautions such as hydrogen sensors, ventilation and spark generators to deal with any generated hydrogen gas, as well as blow-out panels in case things end up going squirrely in a hurry.&lt;/p&gt;
&lt;p&gt;While a benefit of LFP chemistry is that it does not generate its own oxygen as with other lithium-ion chemistries, hydrogen gas is a major problem due to how incredibly volatile it is. It&amp;#8217;s not just a headache with battery storage, but also in the nuclear power sector, where zirconium fuel rod cladding can very efficiently turn steam into hydrogen and oxygen. This was the reason why &lt;a href="https://hackaday.com/2024/09/23/fukushima-daiichi-cleaning-up-after-a-nuclear-accident/"&gt;some of Fukushima Daiichi&amp;#8217;s buildings&lt;/a&gt; suffered detonations, with the nuclear plant operator opting to not install recommended hydrogen gas mitigation systems.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112604"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-28T08:00:57+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1115377</id>
    <title>Decoding the Tianwen-2 Sample Return Mission’s Telemetry Signal</title>
    <updated>2026-05-28T05:00:47+00:00</updated>
    <author>
      <name>Maya Posch</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/天问二号发射难度犹如北京投篮上海进筐？1.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;China&amp;#8217;s &lt;em&gt;Tianwen-2&lt;/em&gt; asteroid sample return mission launched on 28 May of 2025 and is scheduled to arrive at its target &amp;#8211; near-Earth asteroid &lt;em&gt;469219 &lt;/em&gt;&lt;em&gt;Kamo&amp;#8217;oalewa&lt;/em&gt; &amp;#8211; in June 2026. This gives folk back on Earth plenty of time to listen in on the probe&amp;#8217;s communication with its home base, such as [Daniel Estévez] who &lt;a href="https://destevez.net/2026/05/decoding-tianwen-2/" target="_blank"&gt;recently had a poke at this telemetry&lt;/a&gt; as captured by the Dwingeloo radio telescope in the Netherlands.&lt;/p&gt;
&lt;p&gt;With not a lot of public information on its trajectory it&amp;#8217;s a hard probe to track, but now that it&amp;#8217;s nearing its destination there&amp;#8217;s an obvious part of the sky to aim for. This is X-band telemetry, broadcast at 8428.19 MHz, with the same basic modulation as its predecessor &lt;em&gt;Tianwen-1&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Where it differs is in the coding, with &lt;a href="https://en.wikipedia.org/wiki/Tianwen-2" target="_blank"&gt;&lt;em&gt;Tianwen-2&lt;/em&gt;&lt;/a&gt; also using concatenated coding, but having a frame length that&amp;#8217;s better suited to submitting full Reed-Solomon codewords and does not require omitting bytes to make things awkwardly fit.&lt;/p&gt;
&lt;p&gt;After analyzing the telemetry data itself, there doesn&amp;#8217;t seem to be anything exciting contained within this capture. This does seem to be as expected considering that the probe is still in its coast phase where it doesn&amp;#8217;t have to do much and likely is in a low-power state most of the time. Once its orbital insertion burn begins is when this knowledge can likely be used to track the mission in fine-grained detail, which is an event that we&amp;#8217;re definitely looking forward to.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/27/decoding-the-tianwen-2-sample-return-missions-telemetry-signal/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/天问二号发射难度犹如北京投篮上海进筐？1.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;China&amp;#8217;s &lt;em&gt;Tianwen-2&lt;/em&gt; asteroid sample return mission launched on 28 May of 2025 and is scheduled to arrive at its target &amp;#8211; near-Earth asteroid &lt;em&gt;469219 &lt;/em&gt;&lt;em&gt;Kamo&amp;#8217;oalewa&lt;/em&gt; &amp;#8211; in June 2026. This gives folk back on Earth plenty of time to listen in on the probe&amp;#8217;s communication with its home base, such as [Daniel Estévez] who &lt;a href="https://destevez.net/2026/05/decoding-tianwen-2/" target="_blank"&gt;recently had a poke at this telemetry&lt;/a&gt; as captured by the Dwingeloo radio telescope in the Netherlands.&lt;/p&gt;
&lt;p&gt;With not a lot of public information on its trajectory it&amp;#8217;s a hard probe to track, but now that it&amp;#8217;s nearing its destination there&amp;#8217;s an obvious part of the sky to aim for. This is X-band telemetry, broadcast at 8428.19 MHz, with the same basic modulation as its predecessor &lt;em&gt;Tianwen-1&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Where it differs is in the coding, with &lt;a href="https://en.wikipedia.org/wiki/Tianwen-2" target="_blank"&gt;&lt;em&gt;Tianwen-2&lt;/em&gt;&lt;/a&gt; also using concatenated coding, but having a frame length that&amp;#8217;s better suited to submitting full Reed-Solomon codewords and does not require omitting bytes to make things awkwardly fit.&lt;/p&gt;
&lt;p&gt;After analyzing the telemetry data itself, there doesn&amp;#8217;t seem to be anything exciting contained within this capture. This does seem to be as expected considering that the probe is still in its coast phase where it doesn&amp;#8217;t have to do much and likely is in a low-power state most of the time. Once its orbital insertion burn begins is when this knowledge can likely be used to track the mission in fine-grained detail, which is an event that we&amp;#8217;re definitely looking forward to.&lt;/p&gt;</summary>
    <published>2026-05-28T05:00:47+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112654</id>
    <title>Linux Distributions and Who is Responsible For the Software</title>
    <updated>2026-05-28T02:00:27+00:00</updated>
    <author>
      <name>Maya Posch</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2019/10/LinuxMarketing.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;The topic of downstream and upstream is an important one in the Linux ecosystem, where from one base distribution you can go many layers of distros deep before even looking at all the other base distributions. Within that veritable jungle you get questions about who is responsible for packaging software, where to report bugs found with a specific application, as well as what &amp;#8216;LTS&amp;#8217; truly means in a consumer context. These and other points are &lt;a href="https://www.youtube.com/watch?v=wQcCQiApHnA" target="_blank"&gt;raised in a recent video&lt;/a&gt; by [Brodie Robertson], with many examples of things going tragically wrong.&lt;/p&gt;
&lt;p&gt;There&amp;#8217;s a good argument to be made that ultimately it is the distro that is responsible for the software that they provide via their repositories. As [Brodie] shows in the video, there are a few cases where an &amp;#8216;LTS&amp;#8217; distro uses an old version of some software that contains a bug that has been fixed a while ago, so reporting it to the developer is rather pointless, while the distro maintainers should fix it with backporting of patches or updating the version.&lt;/p&gt;
&lt;p&gt;From an end user experience this also makes the most sense, as in the end they just want to have the Windows experience of downloading a proverbial installer, clicking through whatever dialogs pop and have working software. If the software is provided via the distro, it is their responsibility, the same way that you contact the developer if you get a DEB or RPM from a GitHub project page and it doesn&amp;#8217;t work.&lt;/p&gt;
&lt;p&gt;This current Linux Chaos Vortex can be called a major issue when &lt;a href="https://hackaday.com/2025/11/11/moving-from-windows-to-freebsd-as-the-linux-chaos-alternative/"&gt;e.g. FreeBSD&lt;/a&gt; has no such upstream/downstream issues, with &lt;a href="https://hackaday.com/2025/12/11/creating-user-friendly-installers-across-operating-systems/"&gt;cross-platform installers&lt;/a&gt; being basically impossible on Linux ever since the Linux Standard Base effort died.&lt;/p&gt;
&lt;p&gt;Perhaps Linux will get a &lt;a href="https://hackaday.com/2026/01/12/the-distroless-linux-future-may-be-coming/"&gt;distroless future&lt;/a&gt;, however, which may finally herald that &lt;a href="https://hackaday.com/2025/06/03/my-winter-of-99-the-year-of-the-linux-desktop-is-always-next-year/"&gt;Year of the Linux Desktop&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112654"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/27/linux-distributions-and-who-is-responsible-for-the-software/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2019/10/LinuxMarketing.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;The topic of downstream and upstream is an important one in the Linux ecosystem, where from one base distribution you can go many layers of distros deep before even looking at all the other base distributions. Within that veritable jungle you get questions about who is responsible for packaging software, where to report bugs found with a specific application, as well as what &amp;#8216;LTS&amp;#8217; truly means in a consumer context. These and other points are &lt;a href="https://www.youtube.com/watch?v=wQcCQiApHnA" target="_blank"&gt;raised in a recent video&lt;/a&gt; by [Brodie Robertson], with many examples of things going tragically wrong.&lt;/p&gt;
&lt;p&gt;There&amp;#8217;s a good argument to be made that ultimately it is the distro that is responsible for the software that they provide via their repositories. As [Brodie] shows in the video, there are a few cases where an &amp;#8216;LTS&amp;#8217; distro uses an old version of some software that contains a bug that has been fixed a while ago, so reporting it to the developer is rather pointless, while the distro maintainers should fix it with backporting of patches or updating the version.&lt;/p&gt;
&lt;p&gt;From an end user experience this also makes the most sense, as in the end they just want to have the Windows experience of downloading a proverbial installer, clicking through whatever dialogs pop and have working software. If the software is provided via the distro, it is their responsibility, the same way that you contact the developer if you get a DEB or RPM from a GitHub project page and it doesn&amp;#8217;t work.&lt;/p&gt;
&lt;p&gt;This current Linux Chaos Vortex can be called a major issue when &lt;a href="https://hackaday.com/2025/11/11/moving-from-windows-to-freebsd-as-the-linux-chaos-alternative/"&gt;e.g. FreeBSD&lt;/a&gt; has no such upstream/downstream issues, with &lt;a href="https://hackaday.com/2025/12/11/creating-user-friendly-installers-across-operating-systems/"&gt;cross-platform installers&lt;/a&gt; being basically impossible on Linux ever since the Linux Standard Base effort died.&lt;/p&gt;
&lt;p&gt;Perhaps Linux will get a &lt;a href="https://hackaday.com/2026/01/12/the-distroless-linux-future-may-be-coming/"&gt;distroless future&lt;/a&gt;, however, which may finally herald that &lt;a href="https://hackaday.com/2025/06/03/my-winter-of-99-the-year-of-the-linux-desktop-is-always-next-year/"&gt;Year of the Linux Desktop&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112654"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-28T02:00:27+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112617</id>
    <title>Autopsy of a Failed Vintage Carbon Resistor</title>
    <updated>2026-05-27T23:00:57+00:00</updated>
    <author>
      <name>Maya Posch</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="471" src="https://hackaday.com/wp-content/uploads/2026/05/vintage_carbon_resistor_autopsy_curiousmarc_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;figure class="wp-caption alignright" id="attachment_1112621" style="width: 400px;"&gt;&lt;img alt="Detail of the lead connecting to the inner carbon-filled tube. (Credit: CuriousMarc)" class="size-medium wp-image-1112621" height="400" src="https://hackaday.com/wp-content/uploads/2026/05/vintage_carbon_resistor_autopsy_interface_curiousmarc_youtube.jpg?w=400" width="400" /&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1112621"&gt;Detail of the lead connecting to the inner carbon-filled tube. (Credit: CuriousMarc)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Although resistors are hardly among the most exciting components, they are arguably one of the most important ones, as anyone who has done any amount of circuit design and debugging can attest to. So too with a single carbon resistor in a vintage Metrix oscilloscope that [CuriousMarc] recently repaired. After recapping the board there was still a major issue that got traced down to said resistor. After replacing it with a fresh resistor obviously this meant doing an &lt;a href="https://www.youtube.com/watch?v=z2UXwW55kAI" target="_blank"&gt;autopsy to see why the old resistor had failed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The 20 kOhm-rated resistor looked fine on the outside, with no obvious damage or discoloration, but it measured around 0.843 MOhm. To get to the insides [CuriousMarc] asked his friend [TubeTime] on how to proceed. The answer here was sandpaper and a lot of patience, and thus the experiment to see how much sanding it takes to get to the core of a fairly big resistor commenced.&lt;/p&gt;
&lt;p&gt;Ultimately the insides were revealed, and they turned out to be rather interesting, with what looked like a glass tube filled with what would be the carbon-laden material between the two lead terminals. From poking around a bit at these insides it would appear that the failure mode was a degraded contact between these terminals and the carbon material. Considering that this resistor is many decades old and has gone through many thermal cycles and potentially various kinetic events some fractures are probably to be expected.&lt;/p&gt;
&lt;p&gt;Perhaps most fascinating is the construction of this carbon resistor that looks to be a step above that of the average carbon resistor that [TubeTime] has taken apart over the years.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112617"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/27/autopsy-of-a-failed-vintage-carbon-resistor/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="471" src="https://hackaday.com/wp-content/uploads/2026/05/vintage_carbon_resistor_autopsy_curiousmarc_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;figure class="wp-caption alignright" id="attachment_1112621" style="width: 400px;"&gt;&lt;img alt="Detail of the lead connecting to the inner carbon-filled tube. (Credit: CuriousMarc)" class="size-medium wp-image-1112621" height="400" src="https://hackaday.com/wp-content/uploads/2026/05/vintage_carbon_resistor_autopsy_interface_curiousmarc_youtube.jpg?w=400" width="400" /&gt;&lt;figcaption class="wp-caption-text" id="caption-attachment-1112621"&gt;Detail of the lead connecting to the inner carbon-filled tube. (Credit: CuriousMarc)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Although resistors are hardly among the most exciting components, they are arguably one of the most important ones, as anyone who has done any amount of circuit design and debugging can attest to. So too with a single carbon resistor in a vintage Metrix oscilloscope that [CuriousMarc] recently repaired. After recapping the board there was still a major issue that got traced down to said resistor. After replacing it with a fresh resistor obviously this meant doing an &lt;a href="https://www.youtube.com/watch?v=z2UXwW55kAI" target="_blank"&gt;autopsy to see why the old resistor had failed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The 20 kOhm-rated resistor looked fine on the outside, with no obvious damage or discoloration, but it measured around 0.843 MOhm. To get to the insides [CuriousMarc] asked his friend [TubeTime] on how to proceed. The answer here was sandpaper and a lot of patience, and thus the experiment to see how much sanding it takes to get to the core of a fairly big resistor commenced.&lt;/p&gt;
&lt;p&gt;Ultimately the insides were revealed, and they turned out to be rather interesting, with what looked like a glass tube filled with what would be the carbon-laden material between the two lead terminals. From poking around a bit at these insides it would appear that the failure mode was a degraded contact between these terminals and the carbon material. Considering that this resistor is many decades old and has gone through many thermal cycles and potentially various kinetic events some fractures are probably to be expected.&lt;/p&gt;
&lt;p&gt;Perhaps most fascinating is the construction of this carbon resistor that looks to be a step above that of the average carbon resistor that [TubeTime] has taken apart over the years.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112617"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-27T23:00:57+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112539</id>
    <title>A Clock Inspired by Failed Cognitive Tests</title>
    <updated>2026-05-27T20:00:47+00:00</updated>
    <author>
      <name>Aaron Beckendorf</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="A black-and-white clock face is shown. The numerals are ranged around the right edge of the clock. One pointer extends from the center of the clock, and one is on the left side of the face." class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/cognitive_test_clock.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;
&lt;p class="wp-block-paragraph"&gt;One simple screening tool for cognitive impairment is the clock-drawing test (CDT): the patient is provided with a printed circle and asked to draw a clock face with the hands pointing to a certain time. Depending on how the clock is drawn, this could indicate a variety of different disorders, particularly dementia, with a particular deformity in the drawing sometimes pointing to a specific issue. These failed tests inspired [John Silvia] to &lt;a href="https://hackaday.io/project/205778-cogclock" target="_blank"&gt;create a clock&lt;/a&gt; with a unique, disordered face.&lt;/p&gt;
&lt;p&gt;The numerals in this clock face are placed exclusively along the right half of the clock (in the test, this can be a sign of damage to the right parietal lobe, or of executive dysfunction caused by dementia), and out of order. The hour hand is controlled by a servo motor, and the minute hand is mounted on a separate, commercially-purchased clock mechanism on the left-hand side of the face.&lt;/p&gt;
&lt;p&gt;The frame for the clock and the face are 3D-printed, and the servo motor is controlled by an ESP32-C3 with an RTC module. To minimize power draw, a MOSFET disconnects the servo motor from power except for the once-per-hour position update. Once per month, the ESP32 connects to Wi-Fi to synchronize to NTP time, otherwise remaining in a low-power state – even its indicator LEDs are disconnected to save power. These efforts paid off: when the servo isn’t active, it draws only about 160 µA, and a set of three AA NiMH cells lasts about a year.&lt;/p&gt;
&lt;p&gt;Since the servo motor draws most of the power budget, it wouldn’t make much difference, but the &lt;a href="https://hackaday.com/2020/01/07/how-low-can-an-esp32-go/"&gt;ESP32’s co-processor&lt;/a&gt; can also be used for ultra-low-power projects. For a happier take on a drawing-related clock, &lt;a href="https://hackaday.com/2014/02/13/a-clock-that-plots-time/"&gt;check out&lt;/a&gt; one of &lt;a href="https://hackaday.com/2015/10/06/robot-clock-writes-time-over-and-over-and-over/"&gt;these projects&lt;/a&gt;.&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/27/a-clock-inspired-by-failed-cognitive-tests/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="A black-and-white clock face is shown. The numerals are ranged around the right edge of the clock. One pointer extends from the center of the clock, and one is on the left side of the face." class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/05/cognitive_test_clock.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;
&lt;p class="wp-block-paragraph"&gt;One simple screening tool for cognitive impairment is the clock-drawing test (CDT): the patient is provided with a printed circle and asked to draw a clock face with the hands pointing to a certain time. Depending on how the clock is drawn, this could indicate a variety of different disorders, particularly dementia, with a particular deformity in the drawing sometimes pointing to a specific issue. These failed tests inspired [John Silvia] to &lt;a href="https://hackaday.io/project/205778-cogclock" target="_blank"&gt;create a clock&lt;/a&gt; with a unique, disordered face.&lt;/p&gt;
&lt;p&gt;The numerals in this clock face are placed exclusively along the right half of the clock (in the test, this can be a sign of damage to the right parietal lobe, or of executive dysfunction caused by dementia), and out of order. The hour hand is controlled by a servo motor, and the minute hand is mounted on a separate, commercially-purchased clock mechanism on the left-hand side of the face.&lt;/p&gt;
&lt;p&gt;The frame for the clock and the face are 3D-printed, and the servo motor is controlled by an ESP32-C3 with an RTC module. To minimize power draw, a MOSFET disconnects the servo motor from power except for the once-per-hour position update. Once per month, the ESP32 connects to Wi-Fi to synchronize to NTP time, otherwise remaining in a low-power state – even its indicator LEDs are disconnected to save power. These efforts paid off: when the servo isn’t active, it draws only about 160 µA, and a set of three AA NiMH cells lasts about a year.&lt;/p&gt;
&lt;p&gt;Since the servo motor draws most of the power budget, it wouldn’t make much difference, but the &lt;a href="https://hackaday.com/2020/01/07/how-low-can-an-esp32-go/"&gt;ESP32’s co-processor&lt;/a&gt; can also be used for ultra-low-power projects. For a happier take on a drawing-related clock, &lt;a href="https://hackaday.com/2014/02/13/a-clock-that-plots-time/"&gt;check out&lt;/a&gt; one of &lt;a href="https://hackaday.com/2015/10/06/robot-clock-writes-time-over-and-over-and-over/"&gt;these projects&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2026-05-27T20:00:47+00:00</published>
  </entry>
  <entry>
    <id>https://hackaday.com/?p=1112499</id>
    <title>Inside Dyson’s Over-Engineered ₤1000 Hand Dryer</title>
    <updated>2026-05-27T18:30:41+00:00</updated>
    <author>
      <name>Maya Posch</name>
    </author>
    <content type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="448" src="https://hackaday.com/wp-content/uploads/2026/05/dyson_airblade_disassembled_electrarc240_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;It seems fair to say that Dyson sits at the intersection of impressive engineering and borderline ridiculous products. &lt;a href="https://www.youtube.com/watch?v=xrOi4-n_L64" target="_blank"&gt;The Dyson Airblade 9KJ hand dryer that [ElectrArc240] recently took to bits&lt;/a&gt; would definitely seem to fall under the latter, combining an incredible amount of engineering all for the simple task of drying wet hands.&lt;/p&gt;
&lt;p&gt;These hand dryers are rated for a cool 900 Watts, with an 0.5 W standby power consumption, though you can also switch it to a 650 W &amp;#8216;eco mode&amp;#8217; when installing it. The air that gets sucked into the dryer first passes through a HEPA filter before it hits the heating element and then gets blown out of the handles onto one&amp;#8217;s hands.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" class="size-medium wp-image-1112554 alignright" height="304" src="https://hackaday.com/wp-content/uploads/2026/05/dyson_airblade_front_electrarc240_youtube.jpg?w=400" width="400" /&gt;&lt;/p&gt;
&lt;p&gt;Both of these handles come with a presence sensor in the form of an ST VL53L3CX time-of-flight sensor, along with a path for the heated air towards the thin slits. Returning to the section just past the HEPA filter is the compressor, with a rather fancy airflow path that involves various stacked meshes. As can be seen in the video, where you&amp;#8217;d expect basically a simple blower motor or so, there is a truly astounding amount of parts as the teardown progresses.&lt;/p&gt;
&lt;p&gt;The motor disassembly is the first part where some desoldering and breaking of glue bonds is really necessary, but it gives full access to the driver board. The circuit used here is your typical IGBT-based gate driver, though with a mystery PIC MCU to do things. Following this the tear-down turns fully destructive, giving access to the motor internals.&lt;/p&gt;
&lt;p&gt;Following an analysis of these internals we marvel at the carbon-fiber rotor that keeps the single magnet in one piece. This is another engineering choice that serves to justify the 1,000 quid price tag. All so that rest room visitors do not have to suffer the humility of using paper towels.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112499"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content>
    <link href="https://hackaday.com/2026/05/27/inside-dysons-over-engineered-%e2%82%a41000-hand-dryer/"/>
    <summary type="html">&lt;div&gt;&lt;img alt="" class="attachment-large size-large wp-post-image" height="448" src="https://hackaday.com/wp-content/uploads/2026/05/dyson_airblade_disassembled_electrarc240_youtube.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /&gt;&lt;/div&gt;&lt;p&gt;It seems fair to say that Dyson sits at the intersection of impressive engineering and borderline ridiculous products. &lt;a href="https://www.youtube.com/watch?v=xrOi4-n_L64" target="_blank"&gt;The Dyson Airblade 9KJ hand dryer that [ElectrArc240] recently took to bits&lt;/a&gt; would definitely seem to fall under the latter, combining an incredible amount of engineering all for the simple task of drying wet hands.&lt;/p&gt;
&lt;p&gt;These hand dryers are rated for a cool 900 Watts, with an 0.5 W standby power consumption, though you can also switch it to a 650 W &amp;#8216;eco mode&amp;#8217; when installing it. The air that gets sucked into the dryer first passes through a HEPA filter before it hits the heating element and then gets blown out of the handles onto one&amp;#8217;s hands.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" class="size-medium wp-image-1112554 alignright" height="304" src="https://hackaday.com/wp-content/uploads/2026/05/dyson_airblade_front_electrarc240_youtube.jpg?w=400" width="400" /&gt;&lt;/p&gt;
&lt;p&gt;Both of these handles come with a presence sensor in the form of an ST VL53L3CX time-of-flight sensor, along with a path for the heated air towards the thin slits. Returning to the section just past the HEPA filter is the compressor, with a rather fancy airflow path that involves various stacked meshes. As can be seen in the video, where you&amp;#8217;d expect basically a simple blower motor or so, there is a truly astounding amount of parts as the teardown progresses.&lt;/p&gt;
&lt;p&gt;The motor disassembly is the first part where some desoldering and breaking of glue bonds is really necessary, but it gives full access to the driver board. The circuit used here is your typical IGBT-based gate driver, though with a mystery PIC MCU to do things. Following this the tear-down turns fully destructive, giving access to the motor internals.&lt;/p&gt;
&lt;p&gt;Following an analysis of these internals we marvel at the carbon-fiber rotor that keeps the single magnet in one piece. This is another engineering choice that serves to justify the 1,000 quid price tag. All so that rest room visitors do not have to suffer the humility of using paper towels.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-1112499"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</summary>
    <published>2026-05-27T18:30:41+00:00</published>
  </entry>
</feed>
