<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>IEEE Spectrum</title><link>https://spectrum.ieee.org/</link><description>IEEE Spectrum</description><atom:link href="https://spectrum.ieee.org/feeds/topic/diy.rss" rel="self"></atom:link><language>en-us</language><lastBuildDate>Fri, 05 Jun 2026 13:11:05 -0000</lastBuildDate><image><url>https://spectrum.ieee.org/media-library/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbWFnZSI6Imh0dHBzOi8vYXNzZXRzLnJibC5tcy8yNjg4NDUyMC9vcmlnaW4ucG5nIiwiZXhwaXJlc19hdCI6MTgyNjE0MzQzOX0.N7fHdky-KEYicEarB5Y-YGrry7baoW61oxUszI23GV4/image.png?width=210</url><link>https://spectrum.ieee.org/</link><title>IEEE Spectrum</title></image><item><title>This DIY Bipedal Robot Used Pneumatic “Air-Muscles” Instead of Motors</title><link>https://spectrum.ieee.org/shadow-walker-biped-humanoid-robot</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/two-photos-of-a-prototype-humanoid-robot-with-a-wooden-frame-and-wires-and-other-components-strung-on-its-body.jpg?id=66825613&width=1245&height=700&coordinates=0%2C187%2C0%2C188"/><br/><br/><p>In 1987, <a href="https://shadowrobot.com/the-story-of-our-founder-richard-greenhill/" rel="noopener noreferrer" target="_blank">Richard Greenhill</a>, a British photographer who was fascinated by (but had no actual training in) robotics, decided he wanted to build a life-size humanoid that could do useful things, like carrying luggage. He was working at a startup called Intergalactic Robots, but he couldn’t convince anyone there to build such a machine, so he set about building one himself, in his attic.</p><div class="rm-embed embed-media"><iframe height="110px" id="noa-web-audio-player" src="https://embed-player.newsoveraudio.com/v4?key=q5m19e&id=https://spectrum.ieee.org/shadow-walker-biped-humanoid-robot&bgColor=F5F5F5&color=1b1b1c&playColor=1b1b1c&progressBgColor=F5F5F5&progressBorderColor=bdbbbb&titleColor=1b1b1c&timeColor=1b1b1c&speedColor=1b1b1c&noaLinkColor=556B7D&noaLinkHighlightColor=FF4B00&feedbackButton=true" style="border: none" width="100%"></iframe></div><p>To help with his project, he organized a weekly get-together of a dozen or so like-minded folks. Every Wednesday night, his wife, Sally, would make a big pot of spaghetti, and the group would tinker with components scavenged from old printers and picked up from junkyards. They called themselves the Shadow Group. They eventually constructed several different robots, but their main project was the two-legged Shadow Walker.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="Two color photos of a casually dressed white man in a workroom posing with a partially assembled wooden robot." class="rm-shortcode" data-rm-shortcode-id="abd4fd0237110b3339a5f336e96006e6" data-rm-shortcode-name="rebelmouse-image" id="b189a" loading="lazy" src="https://spectrum.ieee.org/media-library/two-color-photos-of-a-casually-dressed-white-man-in-a-workroom-posing-with-a-partially-assembled-wooden-robot.jpg?id=66825888&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">In 1987, photographer Richard Greenhill organized a weekly gathering of DIY enthusiasts to work on projects in his attic, including the Shadow Walker. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Richard Greenhill and David Buckley</small></p><p>Greenhill’s friend <a href="https://davidbuckley.net/DB/aboutme.htm" target="_blank">David Buckley</a>, a robotics and animatronics expert he’d met at Intergalactic, sketched out a rough design based on medical textbooks of human bone structure and muscle movement. The robot’s skeleton, made of maple, was greatly simplified—only one bone in the lower leg and a single wide toe on each foot. The ankle’s double-axis design allowed for two degrees of movement. The knee had no complicating kneecap.</p><p>Greenhill didn’t want the robot to use motors, so its movement was controlled using compressed air to extend and contract 28 “air-muscles”—his version of a McKibben muscle, invented in the 1950s to mimic musculature with pneumatics. The muscles were connected to the bones across eight joints (hips, knees, ankles, toes), which provided 12 degrees of freedom.</p><p class="ieee-inbody-related">RELATED: <a href="https://spectrum.ieee.org/the-short-strange-life-of-the-first-friendly-robot" target="_self">The Short, Strange Life of the First Friendly Robot</a></p><p>The robot’s headless torso held the control valves, electronics, and computer interfaces. It stood 168 centimeters tall and 46 cm wide and weighed about 38 kilograms. The group managed to get the robot to stand up reliably and balance itself; it could even regain its center if pushed a little. But walking turned out to be more of a challenge.</p><p><a href="https://www.linkedin.com/in/walkerrich/" target="_blank">Rich Walker</a> joined the group as a teenager and began writing software to get the robot to stand. He was particularly interested in using neural networks to solve balancing problems, although he ran into a number of hardware obstacles, including the unreliability of the sensors and the valves, and the robot’s overall fragility. Over time, Walker and the team developed a standard library of routines to control the robot. Walker wrote a <a href="https://davidbuckley.net/DB/ShadowBiped/ShadBipedArchive/Shadow%20Robot%20Company%20Shadow%20Biped.htm" target="_blank">detailed description</a> of the Shadow Walker in 1999, which is available on David Buckley’s website.</p><h2>The 1st International Robot Olympics</h2><p>By the time the Shadow Group began developing Shadow Walker, engineers in academia and industry had been working on robotics for several decades. The world’s first industrial robot, the <a href="https://spectrum.ieee.org/unimation-robot" target="_self">Unimate</a>, debuted in 1961, and in 1967 Donald Michie and others began building a series of <a href="https://spectrum.ieee.org/freddy-robot-british-ai-winter" target="_self">Freddy </a>robots to investigate machine intelligence. The IEEE created its first dedicated robotics organization in 1984 when it established the IEEE Robotics and Automation Council, which became the <a href="https://www.ieee-ras.org/" target="_blank">IEEE Robotics and Automation Society</a> in 1987. Also in 1987, the nonprofit International Federation of Robotics was established to promote research, development, use, and cooperation in the field of robotics.</p><p>As Shadow Walker pushed the limits for a DIY humanoid robot, industrial humanoids were also gaining ground. In 1986, Honda began working on its experimental (E-series) and later the prototype (P-series) humanoid robots, finally unveiling the P2 in 1996. The P2 stood 183 cm tall and weighed 210 kg. It was the first humanoid capable of stable, autonomous walking. This work eventually led to the development of the groundbreaking <a href="https://spectrum.ieee.org/honda-p2-robot-ieee-milestone" target="_self">ASIMO</a>.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="Two color photos of a casually dressed bearded white man posing with a wooden robot leg and with a computer and other equipment." class="rm-shortcode" data-rm-shortcode-id="e7e2d6657e6037ef204eb6ab36e813d3" data-rm-shortcode-name="rebelmouse-image" id="45b6e" loading="lazy" src="https://spectrum.ieee.org/media-library/two-color-photos-of-a-casually-dressed-bearded-white-man-posing-with-a-wooden-robot-leg-and-with-a-computer-and-other-equipment.jpg?id=66826216&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Greenhill’s friend, roboticist David Buckley, consulted medical textbooks to create Shadow Walker’s humanoid design.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Richard Greenhill and David Buckley</small></p><p>In the late 1980s, the public was both fascinated and horrified by the potential of robots. Businesses saw robots as a way to increase productivity, while workers worried they would take their jobs. Children viewed them as wondrous toys, while people with disabilities embraced them as tools of liberation. Military experts hoped robots would fight wars without endangering human soldiers, while politicians pondered if robots might eventually get to vote. Philosophers thought robots could challenge our notions of intelligence (and stupidity), while the religious struggled with concerns about the human race in a robot-dominated future.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;"> <img alt="Photo of two articulated feet made of pieces of wood strung with wires and other components." class="rm-shortcode" data-rm-shortcode-id="e8188dfa6302c3d8a0eaa3319645c146" data-rm-shortcode-name="rebelmouse-image" id="528f6" loading="lazy" src="https://spectrum.ieee.org/media-library/photo-of-two-articulated-feet-made-of-pieces-of-wood-strung-with-wires-and-other-components.jpg?id=66835726&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Shadow Walker’s simplified anatomy included only one bone in the lower leg and a single wide toe on each foot.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Science Museum Group</small></p>Peter Mowforth, cofounder of the <a href="https://en.wikipedia.org/wiki/Turing_Institute" target="_blank">Turing Institute</a> in Glasgow, noted these disparate visions for robots when he announced the 1st International Robot Olympics, to be held in 27 and 28 September 1990 and hosted by the Turing Institute and the University of Strathclyde. The Olympics would round up the world’s best robots and showcase them head-to-head.<p>Mowforth himself thought all of the competing visions of robots were overblown. Steeped in machine learning research and robotics development, he knew firsthand the limitations of the state of the art: Robots rarely worked as intended, easily broke down, and glitched over seemingly trivial problems. He envisioned the Robot Olympics as a testbed to assess what the latest generation of robots could and could not do.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;"> <img alt="Photo of a headless and armless humanoid robot wearing red pants." class="rm-shortcode" data-rm-shortcode-id="6e64cccdcd490f06a27f02e2a64277b4" data-rm-shortcode-name="rebelmouse-image" id="3135a" loading="lazy" src="https://spectrum.ieee.org/media-library/photo-of-a-headless-and-armless-humanoid-robot-wearing-red-pants.jpg?id=66826230&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">At the 1990 Robot Olympics, held in Glasgow, Shadow Walker wore pants to conceal its pneumatic “air-muscles” from competitors.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Adam Hart-Davis/Science Source</small></p><p>The call for participation was wide open. Instead of having predetermined categories of competition, the organizers opted to see who applied to compete and then group them based on their claimed capabilities. In addition to picking the winners of individual events, the judges would select an overall Olympic champion based on the quality of the hardware, the sophistication of behavior, and novelty. Other prizes were given for young competitors, technologies that showed commercial potential, and design. In the end, more than 50 robots were entered, from a mix of universities, industry, and hobbyist groups from Canada, France, India, Japan, Mexico, the Soviet Union, the United States, the United Kingdom, and Yugoslavia.</p><p>There were plenty of disappointments. Trolleyman, a golf-cart-like wheeled robot, suffered a power failure while carrying the opening Olympic torch through the streets of Glasgow. The pile rug in the arena tripped up many robots that had been trained only on flat, smooth floors. David Buckley later concluded that the events were too difficult, and that the Olympics didn’t push development forward.</p><p class="shortcode-media shortcode-media-youtube"> <span class="rm-shortcode" data-rm-shortcode-id="504a9d8541e61b0cdc7eb6614c2d25d3" style="display:block;position:relative;padding-top:56.25%;"><iframe frameborder="0" height="auto" lazy-loadable="true" scrolling="no" src="https://www.youtube.com/embed/I37bUBVM854?rel=0&start=151" style="position:absolute;top:0;left:0;width:100%;height:100%;" width="100%"></iframe></span></p><p>Of course, there were winners. In a surprise triumph for vintage technology, the fully mechanical 19th-century Japanese Archer from the Museum of Automata in York, England, won gold in javelin, beating out competitors more than 100 years its junior. The overall Olympic Champion was Yamabico, Shoji Suzuki’s entry from the University of Tsukuba, in Japan, which won bronze in obstacle avoidance and gold in wall following, but was disqualified in the talking category for not speaking English.</p><p>The Shadow Group had high hopes for Shadow Walker. Unfortunately, though, it failed to take a step, and the biped race was won by the Cardiff University Biped. Shadow Walker now resides in the <a href="https://collection.sciencemuseumgroup.org.uk/objects/co8366055/biped-robot" target="_blank">collections of the Science Museum</a> in London.</p><h2>The Legacy of Shadow Walker</h2><p>In 1997, a paying customer in search of a robotic leg compelled the Shadow Group to get serious and become a registered company. <a href="https://shadowrobot.com/" target="_blank">Shadow Robot</a> is now Britain’s oldest robotics company. Rich Walker, who had left the Shadow Group to earn a B.A. in mathematics and a diploma in computer science at the University of Cambridge, joined Shadow Robot in 1999 as technical director. Today he’s the director of the company.</p><p>Shadow Robot specializes in durable <a href="https://robotsguide.com/robots/shadow" target="_blank">robot hands</a> rather than walking robots. But the focus on hands is also a legacy of the Shadow Group. Walker remembers that the Shadow Group’s first humanoid hand in the late 1990s was impressive simply for being able to pick up a pint of beer (a smooth-sided, thin-walled glass). Today, Shadow Robot’s hands are <a href="https://shadowrobot.com/dexterous-hand-series/" target="_blank">testbeds for dexterity</a>. Gone are the pneumatic muscles, replaced by actuators that move each finger with precision. The classic model contains 20 motors, allowing for <a href="https://www.drugs.com/medical-answers/abduction-adduction-mean-3562250/" target="_blank">abductive and adductive </a>movement with 24 degrees of freedom.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="Black and white photo of a two-legged humanoid robot with its left leg raised, next to a man with his right leg raised while another man looks on." class="rm-shortcode" data-rm-shortcode-id="dd88249ff45a90cd091024b40970aeec" data-rm-shortcode-name="rebelmouse-image" id="8e4ba" loading="lazy" src="https://spectrum.ieee.org/media-library/black-and-white-photo-of-a-two-legged-humanoid-robot-with-its-left-leg-raised-next-to-a-man-with-his-right-leg-raised-while-ano.jpg?id=66826242&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Shadow Walker’s operator wore a data suit that captured his movements and allowed the robot to copy them.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Richard Greenhill</small></p><p>In a <a href="https://shadowrobot.com/why-your-industry-needs-dexterity-not-humanoids/" target="_blank">recent blog post</a>, Sejal Parsotomo, senior marketing executive at Shadow Robot, wrote that while humanoid robots are great for public relations, specialized dexterity is key for success: A robot that can walk into your factory may be impressive, but a robot that can <a href="https://spectrum.ieee.org/robot-hand-shadow-robot-company" target="_blank">reliably manipulate objects</a> is transformative.</p><p>In its struggles to take more than a few steps, the Shadow Walker showed the inherent difficulty that robots had in mastering even low-level skills. In August 2025, Beijing hosted the <a href="https://www.whrgoc.com/about" target="_blank">World Humanoid Robot Games</a>. Competing in sports such as gymnastics, soccer, and track events, as well as more “useful” tasks like hotel cleaning and sorting medicine, these robots could literally have run circles around the competitors in the first Robot Olympics 35 years earlier. And yet, there is still so much work needed in order for robots to navigate the human-built environment. Despite the astonishing progress, we’re still not all that close to actually useful humanoid robots.</p><p><em><em>Part of a </em></em><a href="https://spectrum.ieee.org/collections/past-forward/" target="_self"><em><em>continuing series</em></em></a><em> </em><em><em>looking at historical artifacts that embrace the boundless potential of technology.</em></em></p><p><em>An abridged version of this article appears in the June 2026 print issue as “Learning to Walk.”</em></p><h3>References</h3><br/><p>Richard Greenhill gives an <a href="https://shadowrobot.com/the-story-of-our-founder-richard-greenhill/" target="_blank">overview of his life</a> and the founding of the Shadow Group in a post on Shadow Robot’s corporate website.</p><p>David Buckley has a compilation of resources on the <a href="https://davidbuckley.net/DB/ShadowBiped/ShadBiped.htm" target="_blank">Shadow Biped Walker</a>, including <a href="https://davidbuckley.net/DB/ShadowBiped/ShadBipedArchive/Shadow%20Robot%20Company%20Shadow%20Biped.htm" rel="noopener noreferrer" target="_blank">specifications</a> from the 1999 iteration and a <a href="https://davidbuckley.net/RS/History/Olympics90_files/Brochure.htm" rel="noopener noreferrer" target="_blank">brochure</a> from the 1st International Robot Olympics.</p>There is coverage of the Robot Olympics worthy of a gossip sheet in <a href="https://ricerca.repubblica.it/repubblica/archivio/repubblica/1990/09/30/olimpiade-dei-robot.html" rel="noopener noreferrer" target="_blank"><em><em>La Repubblica</em></em></a><em> </em>and lovely footage of the competition in <a href="https://www.youtube.com/watch?v=I37bUBVM854" rel="noopener noreferrer" target="_blank">this TV-am interview</a> of Peter Mowforth by Lorraine Kelly.]]></description><pubDate>Sun, 31 May 2026 13:00:01 +0000</pubDate><guid>https://spectrum.ieee.org/shadow-walker-biped-humanoid-robot</guid><category>Past-forward</category><category>Type-departments</category><category>Humanoid-robots</category><category>Shadow-robot</category><category>Walking-robots</category><category>Pneumatic-robots</category><dc:creator>Allison Marsh</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/two-photos-of-a-prototype-humanoid-robot-with-a-wooden-frame-and-wires-and-other-components-strung-on-its-body.jpg?id=66825613&amp;width=980"></media:content></item><item><title>Make a Soft Digital Clock Tick With Millifluidics</title><link>https://spectrum.ieee.org/soft-robotics-2676960499</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-desktop-with-a-red-silicone-surface-where-a-typical-clock-would-have-7-segment-leds-numbers-are-formed-from-concave-depressio.png?id=66826918&width=1245&height=700&coordinates=38%2C0%2C38%2C0"/><br/><br/><p>Electrons are <em><em>great</em></em>. We use them to move vehicles, illuminate cities, and, of course, compute. But computation is not confined to the world of electronics. And shifting to alternative nonelectronic realms can unlock unique advantages: Photonic chips, for instance, process information with light while generating little heat. Another compelling alternative is <a href="https://en.wikipedia.org/wiki/Fluidics" rel="noopener noreferrer" target="_blank">fluidics</a>, which uses pressurized gases or liquids to build logic circuits. Pioneered in the 1960s but sidelined by microchips, the field reemerged in the 1990s as “<a href="https://en.wikipedia.org/wiki/Microfluidics" rel="noopener noreferrer" target="_blank">microfluidics</a>.” This approach aims to shrink laboratories onto a single chip by creating microscopic fluid channels with integrated micropneumatic control systems.</p><p>Today, there is a second fluidic revival, this time in the domain of <a href="https://spectrum.ieee.org/tag/soft-robot" target="_self">soft robotics</a>. Scaling microfluidic designs up to the millimeter-scale range (millifluidics) enables the higher flow rates necessary to drive robotic actuators. These robots exploit the nonlinear behaviors of soft materials to create lifelike motion and safer interactions, often utilizing pressurized air.</p><p>By building systems that “think” with the same air that powers them, we can drastically reduce the need for bulky electronic-to-pneumatic interfaces. This is the focus of my <a href="https://www.linkedin.com/company/soiboi/" rel="noopener noreferrer" target="_blank">Soiboi Studio</a> robotics lab. With millifluidic logic, I have steadily scaled the complexity of my designs. What began with a simple oscillator has most recently evolved into a clock featuring a soft, four-digit, seven-segment display.</p><h2>What Is Millifluidics?</h2><p>Building on <a href="https://doi.org/10.1109/JMEMS.2007.906080" rel="noopener noreferrer" target="_blank">microfluidics research from the early 2000s</a> and recent developments from the <a href="https://groverlab.org/" rel="noopener noreferrer" target="_blank">Grover Lab at the University of California, Riverside</a>, I’ve developed millifluidic devices using standard 3D printing and silicone casting. The basic architecture is simple: A flexible membrane is sandwiched between rigid layers embedded with networks of air channels.</p><p>Just as electronics rely on differing voltage potentials, these fluidic circuits operate on the pressure difference between atmospheric pressure (logical 0) and a near-vacuum at around −60 kilopascals of relative pressure (logical 1). Using negative pressure means the membrane is pulled into openings. This creates robust seals that allow me to replicate electronic building blocks.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;"> <img alt="Major components of the soft clock. " class="rm-shortcode" data-rm-shortcode-id="4b17b5a0dc5c53a4d0f73fdfdd0db0d6" data-rm-shortcode-name="rebelmouse-image" id="cc1f8" loading="lazy" src="https://spectrum.ieee.org/media-library/major-components-of-the-soft-clock.png?id=66826949&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">A cast silicone membrane forms the face of the clock [top], while behind it sits 3D-printed millifluidic blocks [middle rows]. An Arduino Uno controls driver boards that operate solenoids, which are connected to valves that are attached to a vacuum pump [bottom row].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>While fluidic resistors are easily realized by adjusting the channel geometry, the heart of the system is a valve that mimics a metal-oxide-semiconductor field-effect transistor, or <a href="https://doi.org/10.1109/JMEMS.2002.803414" target="_blank">MOSFET</a>. This vacuum “<a href="https://spectrum.ieee.org/transistor-timeline" target="_blank">transistor</a>” features a flow layer with two chambers (the source and drain) divided by a central valve seat and a control layer containing a cavity (the gate). A membrane runs between the control and flow layers and normally prevents airflow between the source and drain chambers. To switch the transistor on, a vacuum is applied to the gate chamber, sucking the membrane into the cavity and lifting it off the seat. This opens a path for airflow, equivalent to closing an electric circuit. By adding a <a href="https://doi.org/10.1038/nphys1637" rel="noopener noreferrer" target="_blank">small aperture to the membrane,</a> I created a check valve—the fluidic equivalent of a diode. By combining transistors and resistive “pull-down” channels, I can build a full suite of logic gates.</p><p>The original microfluidic designs that inspired me were fabricated from <a href="https://doi.org/10.1016/S0925-4005(02)00468-9" rel="noopener noreferrer" target="_blank">etched glass</a> and milled acrylic. Adapting them for a standard 3D printer required reengineering the logic elements and mastering two critical fabrication techniques.</p><p>First, I need airtight prints, yet printed plastic is notoriously porous. By printing at elevated temperatures, slow speeds, and slight overextrusion, I was able to fill microscopic gaps. When you’re using transparent filament, there’s a handy visual indicator: The more transparent the plastic appears, the lower its porosity.</p><p>Second, I used glass for my print bed. By printing the upper and lower chambers directly against this bed, I got the interface surface to become mirror smooth. This finish is essential for creating reliable, airtight seals. A 0.3-millimeter silicone membrane is placed between the layers and secured with screws. </p><h2>How Does the Soft Clock Work?</h2><p>The clockface is a cast silicone membrane. Each digit segment is formed by a small underlying cavity. When air is evacuated from this cavity, the membrane is sucked inward to create a concave hollow; when atmospheric pressure is restored, the silicone pops back flush with the surface. The result is a mesmerizing, organic motion.</p><p>The “brain” of the clock is an <a href="https://spectrum.ieee.org/the-making-of-arduino" target="_blank">Arduino Uno</a>, while the fluidics significantly reduce the hardware footprint. A four-digit, seven-segment display with two separator dots would require 29 solenoid valves to control directly. My clock needs just 11 valves.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" rel="float: left;" style="float: left;"> <img alt="An illustration of the three chambers of a pneumatic transistor, with two lower chambers separated by a wall overlaid by a membrane, with an upper chamber straddling the wall." class="rm-shortcode" data-rm-shortcode-id="6c1953705eb5c8b75c479ab1cef68107" data-rm-shortcode-name="rebelmouse-image" id="b7db3" loading="lazy" src="https://spectrum.ieee.org/media-library/an-illustration-of-the-three-chambers-of-a-pneumatic-transistor-with-two-lower-chambers-separated-by-a-wall-overlaid-by-a-membr.png?id=66826932&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">A pneumatic transistor is off when its upper control chamber is at atmospheric pressure [top]. When air is removed from the control chamber, it lifts a membrane, which allows air to flow between lower flow chambers and turns the transistor on [bottom]. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>To understand how it works, consider a standard electronic <a href="https://cdn.sparkfun.com/datasheets/Components/LED/1LEDREDCC.pdf" target="_blank">four-digit, seven-segment LED display</a>. This also uses 11 pins to drive its digits. (In clockface displays, an additional pin is required to drive the separator dots.) Every digit is connected to a shared data bus with seven lines, one per segment. The four control lines select individual digits. Only one digit is illuminated at time, and strobing the digits at least 50 times per second creates the illusion that all four are simultaneously illuminated.</p><p>Such high-speed switching is not possible with air. Instead, I rely on memory. Each segment acts like a capacitor: By evacuating its cavity (logic 1), you “charge” the segment; by restoring atmospheric pressure (logic 0), you discharge it. Hence, each digit acts as an independent 7-bit memory. If the system is sufficiently airtight, the segments maintain their state for several seconds.</p><p>Like the electronic display, the system utilizes a seven-line data bus. Each line connects to a solenoid valve that provides either vacuum or atmospheric pressure. To selectively address the individual digits, I placed a fluidic transistor between each segment and its data line. All the transistors’ control inputs for a given digit are combined into one “write enable” line connected to its own solenoid valve. Activating this valve allows me to write data into the corresponding digit’s memory.</p><p>The clock updates one digit per second, meaning a full cycle across the face takes 4 seconds. This cycle also drives the separator dots: A set of fluidic diodes connects the enable lines to the dots’ cavities. Consequently, as each digit is addressed, the dots pulse automatically.</p><p>This display is more than a clock; it is a soft robot that happens to tell time. By offloading computation to the same air that powers movement, the clock approaches a new class of machines that are simpler, lighter, and more integrated. I’m now developing a guide for getting started with vacuum-powered logic and may release a refined version of this clock in the future. <a href="https://www.youtube.com/watch?v=E1BLGpE5zH0" target="_blank">Watching the silicone skin morph</a> serves as a fascinating reminder that not all logic needs silicon; sometimes, all you need is flexible silicone and a flow of air. </p><p><em>This article appears in the June 2026 print issue as “The Soft Clock.”</em></p>]]></description><pubDate>Fri, 29 May 2026 13:00:01 +0000</pubDate><guid>https://spectrum.ieee.org/soft-robotics-2676960499</guid><category>Arduino</category><category>Pneumatic-actuators</category><category>Soft-robotics</category><category>Fluidics</category><category>Type-departments</category><dc:creator>Nils Janßen</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-desktop-with-a-red-silicone-surface-where-a-typical-clock-would-have-7-segment-leds-numbers-are-formed-from-concave-depressio.png?id=66826918&amp;width=980"></media:content></item><item><title>Reviving Teletext for Ham Radio</title><link>https://spectrum.ieee.org/reviving-teletext-for-ham-radio</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-personal-computer-displays-a-blocky-computer-graphic-depicting-a-city-skyline-with-the-words-cq-cq-cq-de-kb1wnr-in-front-of.png?id=65575350&width=1245&height=700&coordinates=0%2C372%2C0%2C372"/><br/><br/><p>Once upon a time in Europe, television remote controls had a magic <a href="https://en.wikipedia.org/wiki/Teletext" rel="noopener noreferrer" target="_blank">teletext</a> button. Years before the internet stole into homes, pressing that button brought up teletext digital information services with hundreds of constantly updated pages. Living in Ireland in the 1980s and ’90s, my family accessed the national teletext service—<a href="https://en.wikipedia.org/wiki/RT%C3%89_Aertel" rel="noopener noreferrer" target="_blank">Aertel</a>—multiple times a day for weather and news bulletins, as well as things like TV program guides and updates on airport flight arrivals.</p><p>It was an elegant system: fast, low bandwidth, unaffected by user load, and delivering readable text even on analog television screens. So when I recently saw it was the <a href="https://bsky.app/profile/40yearsago.bsky.social/post/3mcfgzqm2ns2w" rel="noopener noreferrer" target="_blank">40th anniversary of Aertel</a>’s test transmissions, it reactivated a thought that had been rolling around in my head for years. Could I make a ham-radio version of teletext?</p><h2>What is Teletext?</h2><p>First developed in the United Kingdom and rolled out to the public by the <a href="https://www.bbc.com/articles/cvg360rr91zo" rel="noopener noreferrer" target="_blank">BBC</a> under the name <a href="http://news.bbc.co.uk/2/hi/entertainment/3681174.stm" rel="noopener noreferrer" target="_blank">Ceefax</a>, teletext exploited a quirk of analog television signals. These signals transmitted video frames as <a href="https://spectrum.ieee.org/build-this-8bit-home-computer-with-just-5-chips" target="_self">lines of luminosity and color</a>, plus some additional blank lines that weren’t displayed. Teletext piggybacked a digital signal onto these spares, transmitting a carousel of pages over time. Using their remotes, viewers typed in the three-digit code of the page they wanted. Generally within a few seconds, the carousel would cycle around and display the desired page.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A diagram depicting the enlargement and interpolation process of teletext characters." class="rm-shortcode" data-rm-shortcode-id="aae9b892c22251e316e1444080ad0757" data-rm-shortcode-name="rebelmouse-image" id="2d6e6" loading="lazy" src="https://spectrum.ieee.org/media-library/a-diagram-depicting-the-enlargement-and-interpolation-process-of-teletext-characters.png?id=65575388&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Teletext created unusually legible text in the 8-bit era by enlarging alphanumeric characters and interpolating new pixels by looking for existing pixels touching diagonally, and adding whitespace between characters. Graphic characters were not interpolated, and featured blocky chunks known as sixels for their 2-by-3 arrangement. My modern recreation uses the open-source font Bedstead, which replicates the look of teletext, including the graphics characters. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>Teletext is composed of characters that can be one of eight colors. Control codes in the character stream select colors and can also produce effects like flashing text and double-height characters. The text’s legibility was better than most computers could manage at the time, thanks to the <a href="https://www.cpcwiki.eu/imgs/9/9e/Mullard_SAA5050_datasheet.pdf" target="_blank">SAA5050</a> character-generator chip at the heart of teletext. Although characters are internally stored on this chip in 6-by-10-pixel cells—fewer pixels than the <a href="https://home-2002.code-cop.org/c64/" rel="noopener noreferrer" target="_blank">typical 8-by-8-pixel cell</a> used in 1980s home computers—the SAA5050 interpolates additional pixels for alphanumeric characters on the fly, making the effective resolution <a href="https://en.wikipedia.org/wiki/Mullard_SAA5050" rel="noopener noreferrer" target="_blank">10 by 18 pixels</a>. The trade-off is very low-resolution graphics, comprising characters that use a 2-by-3 set of blocky pixels.</p><p>Teletext screens use a 40-by-24-character grid. This means that a kilobyte of memory can store a full page of multicolor text, half <a href="https://www.c64-wiki.com/wiki/Screen_RAM" rel="noopener noreferrer" target="_blank">the memory required</a> for a similar amount of text on, for example, the Commodore 64. The <a href="https://www.computinghistory.org.uk/det/182/acorn-bbc-micro-model-b/" rel="noopener noreferrer" target="_blank">BBC Microcomputer</a> took advantage of this by putting <a href="https://www.bbcbasic.co.uk/bbcwin/manual/bbcwinh.html" rel="noopener noreferrer" target="_blank">an SAA5050</a> on its motherboard, which could be accessed in one of the computer’s graphics modes. Despite the crude graphics, some educational games used this mode, most notably <a href="https://www.4mation.co.uk/retro/retrogranny.html" rel="noopener noreferrer" target="_blank"><em><em>Granny’s Garden</em></em></a>, which filled the same cultural niche among British schoolchildren that <a href="https://en.wikipedia.org/wiki/The_Oregon_Trail_(1985_video_game)" rel="noopener noreferrer" target="_blank"><em><em>The Oregon Trail</em></em></a> did for their U.S. counterparts.</p><p>By the 2010s, most teletext services had ceased broadcasting. But teletext is still <a href="https://www.bbc.com/audio/play/m00268v4" rel="noopener noreferrer" target="_blank">remembered fondly by many</a>, and enthusiasts are keeping it alive, <a href="https://teletextarchaeologist.org/" rel="noopener noreferrer" target="_blank">recovering and archiving old content</a>, running <a href="https://nmsceefax.co.uk/" rel="noopener noreferrer" target="_blank">internet-based services with current newsfeeds</a>, and developing systems that make it possible to <a href="https://www.raspberrypi.com/news/create-your-own-teletext-service/" rel="noopener noreferrer" target="_blank">create and display teletext</a> with modern TVs.</p><h2>Putting Teletext Back on the Air</h2><p>I wanted to do something a little different. Inspired by how the BBC Micro co-opted teletext for its own purposes, I thought it might make a great radio protocol. In particular I thought it could be a digital counterpart to <a href="https://en.wikipedia.org/wiki/Slow-scan_television" rel="noopener noreferrer" target="_blank">slow-scan television</a> (SSTV).</p><p>SSTV is an analog method of transmitting pictures, typically including banners with ham-radio call signs and other messages. SSTV is fun, but, true to its name, it’s slow—the most popular protocols take <a href="https://sevierraces.org/all-about-slow-scan-tv" rel="noopener noreferrer" target="_blank">a little under 2 minutes to send an image</a>—and it can be tricky to get a complete picture with legible text. For that reason, SSTV images are often broadcast multiple times.</p><p class="pull-quote"><span>Teletext is still remembered fondly by many.</span></p><p>I decided to send the teletext using the <a href="https://en.wikipedia.org/wiki/AX.25" target="_blank">AX.25</a> protocol, which encodes ones and zeros as audible tones. For <a href="https://www.arrl.org/frequency-bands" target="_blank">VHF and UHF transmissions</a> at a rate of 1,200 baud, it would take 11 seconds to send one teletext screen. Over <a href="https://en.wikipedia.org/wiki/High_frequency" rel="noopener noreferrer" target="_blank">HF bands</a>, AX.25 data is normally sent at 300 baud, which would result in a still-acceptable 44 seconds per screen. When a teletext page is sent repeatedly, any missed or corrupted rows are filled in with new ones. So in a little over 2 minutes, I could send a screen three times over HF, and the receiver would automatically combine the data. I also wanted to build the system in Python for portability, with an editor for creating pages, an AX.25 encoder and decoder, and a monitor for displaying received images.</p><p>The reason why I hadn’t done this before was because it requires digesting the details of the <a href="https://www.ax25.net/AX25.2.2-Jul%2098-2.pdf" rel="noopener noreferrer" target="_blank">AX.25 standard</a> and <a href="https://www.etsi.org/deliver/etsi_i_ets/300700_300799/300706/01_60/ets_300706e01p.pdf" rel="noopener noreferrer" target="_blank">teletext’s official spec</a>, and then translating them into a suite of software, which I never seemed to have the time to do. So I tried an experiment within an experiment, and turned to vibe coding.</p><p>Despite the popularity of vibe coding with developers, I have reservations. Even if concerns about <a href="https://spectrum.ieee.org/responsible-ai" target="_self">AI slop</a>, <a href="https://spectrum.ieee.org/ai-water-usage" target="_self">the environment</a>, and <a href="https://spectrum.ieee.org/high-bandwidth-memory-shortage" target="_self">memory hoarding</a> were not on the table, I would still worry about the <a href="https://spectrum.ieee.org/top-programming-languages-2025" target="_self">reliance on centralized systems</a> that vibe coding brings. The whole point of a DIY project is to, well, do it yourself. A DIY project lets you craft things for your own purposes, not just operate within someone else’s profit margins and policies.</p><p>Still, criticizing a technology from afar isn’t ideal, so I directed <a href="https://chat.chatbotapp.ai/" rel="noopener noreferrer" target="_blank">Anthropic’s Claude</a> toward the AX.25 and teletext specs and told it what I wanted. After about 250,000 to 300,000 tokens and several nights of back and forth about bugs and features, I had the complete system running without writing a single line of code. Being honest with myself, I doubt this system—which I’m calling Spectel—would ever have come about without vibe coding.</p><p>But I didn’t learn anything new about how teletext works, and only a little bit more about AX.25. Updates are contingent on my paying Anthropic’s fees. So I remain deeply ambivalent about vibe coding. And one final test remains in any case: trying Spectel out on HF bands. Of course, that means I’ll need willing partners out in the ether. So if you’re a ham who’d like to help out, let me know in the comments below!</p>]]></description><pubDate>Wed, 22 Apr 2026 16:19:08 +0000</pubDate><guid>https://spectrum.ieee.org/reviving-teletext-for-ham-radio</guid><category>Amateur-radio</category><category>Ham-radio</category><category>Llms</category><category>Vibe-coding</category><category>Teletext</category><category>Ax25</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-personal-computer-displays-a-blocky-computer-graphic-depicting-a-city-skyline-with-the-words-cq-cq-cq-de-kb1wnr-in-front-of.png?id=65575350&amp;width=980"></media:content></item><item><title>A New Way to Spray Paint Color</title><link>https://spectrum.ieee.org/spray-paint-color-creator</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-portable-device-with-four-spray-paint-canisters-at-the-bottom-and-tubing-and-electronics-mounted-on-a-frame-above-them.png?id=65404484&width=1245&height=700&coordinates=0%2C418%2C0%2C419"/><br/><br/><p>We’re all familiar with mixing red, yellow, and blue paint in various ratios to instantly make all kinds of colors. This works great for oils or watercolors, but fails when it comes to cans of spray paint. The paint droplets can’t be blended once they are aerosolized. Consequently, although spray cans are great for applying even coats of paint to large areas very quickly, spray-paint artists need a separate can for every color they want to use—until now.</p><p>Back in 2018, when I first saw professional spray artists lugging dozens to hundreds of cans to their work sites, I was inspired to start noodling on a solution. I’ve worked at Google X, Alphabet’s “<a href="https://spectrum.ieee.org/astro-teller-captain-of-moonshots-at-x" target="_blank">moonshot factory</a>,” as a hardware engineer, and I’m now building a startup in mechanical-design software. I’m no painter, but I know my way around mechatronics.</p><p>I wanted my solution to be inexpensive and simple enough to build as a DIY project and functional enough for an artist to use, without breaking their flow. So I began prototyping a system that combines base colors while they are still in pressurized form from off-the-shelf cans.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="An illustration of how a spring-loaded arm driven by a stepper motor with a roller bearing at one end opens and closes a tube by pressing down on it. " class="rm-shortcode" data-rm-shortcode-id="0b3ebec76b6afd77a69158d3844d4e11" data-rm-shortcode-name="rebelmouse-image" id="ac492" loading="lazy" src="https://spectrum.ieee.org/media-library/an-illustration-of-how-a-spring-loaded-arm-driven-by-a-stepper-motor-with-a-roller-bearing-at-one-end-opens-and-closes-a-tube-by.png?id=65404489&width=980"/><small class="image-media media-caption" placeholder="Add Photo Caption...">This new rotary pinch valve can be opened and closed in tens of milliseconds and prevents backpressure from clogging lines.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p><span>I tried a few approaches where pres-surized paint from the base-color cansfed through tubes into a mixing channel, before emerging from a spray head. To control the ratios, I decided to borrow a trick that would be familiar to anyone who’s ever had to control the bright-ness of an LED using a microcontroller: <a href="https://en.wikipedia.org/wiki/Pulse-width_modulation" target="_blank">pulse-width modulation</a>. Initially, I used electronically controlled solenoid valves to release the paint from the cans. The paint would flow into a mixing channel for a relative duration that corresponded to the ratio of the base colors required to make a given hue. However, this failed because different cans never have the same internal pressure. Whenever two valves were open at the same time, the pressure difference would make paint flow backward into the lower-pressure can. </span></p><p><span></span><span>As an alternative, I removed the mixing channel and tried making the paint pulses from each can sequentially converge into a tube so that no more than one valve would ever be open at a time. Surprisingly, this worked perfectly. The backflow was eliminated, and it turned out that the natural turbulence of the flow was sufficient to mix the paints. Let’s say you want to produce a clementine orange color. This requires yellow and red paint in a ratio of 1:2, so the yellow valve opens for a period of time, and then the red valve opens for twice as long. The system then keeps repeating this cycle of pulses in a rapid pace to instantly create the spray-paint color you want.</span></p><h3></h3><br/><div class="rblad-ieee_in_content"></div><p><span>The theory is straightforward, but making this work in practice took quite a bit of experimentation. First, I had to determine the actual durations of pulses that would produce evenly mixed colors, not just their ratios. I also needed to work out the size of the tubing (too narrow and you’d get low spray force; too wide and you’d have paint accumulating in the tubes). Eventually I settled on a maximum pulse duration of 250 milliseconds and a tube diameter of 1 millimeter.</span></p><h2>Inventing A New Valve</h2><p>Even though the system worked, the solenoid valves I used constantly clogged up. Designed for water purifiers, the valves didn’t prevent paint from entering the mechanism, where the paint would harden. Moreover, when the valves were turned off, they could stop backflow only if the inlet remained pressurized. So disconnecting a paint can from the system would cause instant leaking. Other off-the-shelf valves I tried couldn’t cycle fast enough and were too expensive.</p><p class="pull-quote"><span>I had some spectacular failures along the way of the sort that only pressurized paint can provide.</span></p><p>So I created my own mechanism: a high-speed, electronically controlled, rotary pinch valve. It has a stepper motor that rotates a lever with a rolling bearing to constrict fluid flow inside a flexible tube. This concept isn’t new—there’s something like them in every peristaltic pump. But I added a spring to firmly hold the lever in the closed position against any back pressure when the motor isn’t powered, making it a normally closed valve that isolates the attached can. Additionally, the valve is fast enough to be open for as little as 30 milliseconds.</p><p>I went through four major prototypes of the system before reaching a working version, and I had some spectacular failures along the way of the sort that only pressurized paint can provide. The final version uses four base colors—red, yellow, blue, and white—with the color mix controlled by four knobs attached to an <a href="https://spectrum.ieee.org/the-making-of-arduino" target="_blank">Arduino</a> Nano and a small display. The flow of paint is triggered by a push button placed above the spray head, similar to a spray can’s nozzle.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A diagram showing the arrangement of valves and control wires, along with a timing diagram of valves opening and closing, showing the red paint open for twice as long as the yellow paint in a continuous cycle." class="rm-shortcode" data-rm-shortcode-id="73eb055784062c7a49358216d6805cd4" data-rm-shortcode-name="rebelmouse-image" id="cd414" loading="lazy" src="https://spectrum.ieee.org/media-library/a-diagram-showing-the-arrangement-of-valves-and-control-wires-along-with-a-timing-diagram-of-valves-opening-and-closing-showin.png?id=65404474&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Cans holding base colors (A) are attached to valves (B). An Arduino-based control panel (C) opens and closes valves to mix paint before it is aerosolized (E). By quickly opening and closing valves with varying durations in sequence (D), you can mix paint in specific ratios to create desired colors.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The length of time a base color’s paint valve can be open is one of eight values between 30 and 250 ms. This means that the entire system—which I coincidentally dubbed Spectrum—can create hundreds of distinct spray-paint colors instantly. It produces less than 8<span><sup>4</sup></span> (or 4,096) colors because duration ratios that are a multiple of each other will produce the same color—for example, 2:3 and 4:6. I added a force sensor to the push button, which allows for a gradient: Two color mixes can be dialed in, and as I increase my thumb’s pressure on the button, the paint mix shifts from one color to the other.</p><p>Spectrum’s various fixtures are 3D-printed, and project files and videos are available through my website at<a href="https://www.sandeshmanik.com/projects/spectrum" target="_blank"> https://www.sandeshmanik.com/projects/spectrum</a>. Preprints of technical descriptions of the <a href="https://www.techrxiv.org/doi/full/10.36227/techrxiv.176366531.13333886" target="_blank">rotary pinch valve</a> and <a href="https://www.techrxiv.org/doi/full/10.36227/techrxiv.176462677.71158790" target="_blank">mixing methodology</a> are available on TechRxiv. The total cost for the bill of materials is less than US $150.</p><p>Working on and off on the side for about seven years, I finally finished developing my system and writing the documentation in late 2025. After I posted a video to social media, I was heartened by the immediate positive response from spray-paint artists around the world. I’m now creating step-by-step instructions so that nontechnical people can build their own Spectrum paint sprayer. I look forward to seeing what creations artists out in the wild make!</p><p class="shortcode-media shortcode-media-youtube"> <span class="rm-shortcode" data-rm-shortcode-id="407b6954fd324d9042a7d7a7de438050" style="display:block;position:relative;padding-top:56.25%;"><iframe frameborder="0" height="auto" lazy-loadable="true" scrolling="no" src="https://www.youtube.com/embed/IicmGjPu4J0?rel=0" style="position:absolute;top:0;left:0;width:100%;height:100%;" width="100%"></iframe></span> </p> ]]></description><pubDate>Fri, 27 Mar 2026 14:41:42 +0000</pubDate><guid>https://spectrum.ieee.org/spray-paint-color-creator</guid><category>Spray-paint</category><category>Arduino</category><category>Mechatronics</category><dc:creator>Sandesh Manik</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-portable-device-with-four-spray-paint-canisters-at-the-bottom-and-tubing-and-electronics-mounted-on-a-frame-above-them.png?id=65404484&amp;width=980"></media:content></item><item><title>Jimi Hendrix Was a Systems Engineer</title><link>https://spectrum.ieee.org/jimi-hendrix-systems-engineer</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/an-electric-guitar-connected-to-a-number-of-effects-pedals-connect-to-an-amplifier-and-loudspeaker-stack.png?id=64983431&width=1245&height=700&coordinates=0%2C283%2C0%2C283"/><br/><br/><p>3 February 1967 is a day that belongs in the annals of music history. <a href="https://www.jimihendrix.com/" rel="noopener noreferrer" target="_blank">It’s the day that Jimi Hendrix</a> entered London’s <a href="https://en.wikipedia.org/wiki/Olympic_Studios" rel="noopener noreferrer" target="_blank">Olympic Studios</a> to record a song using a new component. The song was “<a href="https://www.youtube.com/watch?v=WGoDaYjdfSg" rel="noopener noreferrer" target="_blank">Purple Haze</a>,” and the component was the Octavia guitar pedal, created for Hendrix by sound engineer <a href="https://www.roger-mayer.co.uk/" rel="noopener noreferrer" target="_blank">Roger Mayer</a>. The pedal was a key element of a complex chain of analog elements responsible for the final sound, including the acoustics of the studio room itself. When they sent the tapes for remastering in the United States, the sounds on it were so novel that they included an accompanying note explaining that the distortion at the end was not malfunction but intention. A few months later, Hendrix would deliver his <a href="https://www.youtube.com/watch?v=P-IRA5UrZ7g" rel="noopener noreferrer" target="_blank">legendary electric guitar </a>performance at the Monterey International Pop Festival.</p><div class="rm-embed embed-media"><iframe height="110px" id="noa-web-audio-player" src="https://embed-player.newsoveraudio.com/v4?key=q5m19e&id=https://spectrum.ieee.org/jimi-hendrix-systems-engineer&bgColor=F5F5F5&color=1b1b1c&playColor=1b1b1c&progressBgColor=F5F5F5&progressBorderColor=bdbbbb&titleColor=1b1b1c&timeColor=1b1b1c&speedColor=1b1b1c&noaLinkColor=556B7D&noaLinkHighlightColor=FF4B00&feedbackButton=true" style="border: none" width="100%"></iframe></div><p><span>“Purple Haze” firmly established that an electric guitar can be used not just as a stringed instrument with built-in pickups for convenient sound amplification, but also as a full-blown wave synthesizer whose output can be manipulated at will. Modern guitarists can reproduce Hendrix’s chain using separate plug-ins in digital audio workstation software, but the magic often disappears when everything is buffered and quantized. I wanted to find out if a more systematic approach could do a better job and provide insights into how Hendrix created his groundbreaking sound.</span></p><p>My fascination with Hendrix’s Olympic Studios’ performance arose because there is a “Hendrix was an alien” narrative surrounding his musical innovation—that his music appeared more or less out of nowhere. I wanted to replace that narrative with an engineering-driven account that’s inspectable and reproducible—plots, models, and a signal chain from the guitar through the pedals that you can probe stage by stage.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="Four plots showing magnitudes plotted against time and frequency." class="rm-shortcode" data-rm-shortcode-id="b51dacaf694059d798f30940df9e55e1" data-rm-shortcode-name="rebelmouse-image" id="f2cc6" loading="lazy" src="https://spectrum.ieee.org/media-library/four-plots-showing-magnitudes-plotted-against-time-and-frequency.png?id=64983773&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Each effects pedal in Hendrix’s chain contributed to enhancing the electric guitar beyond its intrinsic limits. A selection of plots from the full-circuit analysis shows how the Fuzz Face turns a sinusoid signal from a string into an almost square wave; how the Octavia pedal inverts half the input waveform to double its frequency; how the wah-wah pedal acts as band-pass filter; and how the Uni-Vibe pedal introduces selective phase shifts to color the sound.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost/ Rohan S. Puranik</small></p><p>Although I work mostly in the digital domain as an edge-computing architect in my day job, I knew that analog circuit simulations would be the key to going deeper.</p><p>My first step was to look at the challenges Hendrix was trying to address. Before the 1930s, guitars were too quiet for large ensembles. Electromagnetic pickups—coils of wire wrapped around magnets that detect the vibrations of metal strings—fixed the loudness problem. But they left a new one: the <em><em>envelope</em></em>, which specifies how the amplitude of a note varies as it’s played on an instrument, starting with a rising initial <em><em>attack</em></em>, followed by a falling <em><em>decay</em></em>, and then any <em><em>sustain</em></em> of the note after that. Electric guitars attack hard, decay fast, and don’t sustain like bowed strings or organs. Early manufacturers tried to modify the electric guitar’s characteristics by using hollow bodies fitted with magnetic pickups, but the instrument still barked more than it sang.</p><p>Hendrix’s mission was to reshape both the electric guitar’s envelope and its tone until it could feel like a human voice. He tackled the guitar’s constraints by augmenting it. His solution was essentially a modular analog signal chain driven not by knobs but by hands, feet, gain staging, and physical movement in a feedback field.</p><p>Hendrix’s setups are well documented: Set lists, studio logs, and interviews with Mayer and Eddie Kramer, then the lead engineer at Olympic Studios, fill in the details. The signal chain for “Purple Haze” consisted of a set of pedals—a <a href="https://en.wikipedia.org/wiki/Fuzz_Face" target="_blank">Fuzz Face</a>, the Octavia, and a<a href="https://en.wikipedia.org/wiki/Wah-wah_pedal" target="_blank">wah-wah</a>—plus a <a href="https://mopop.emuseum.com/objects/100504/marshall-super-lead-amplifier-formerly-owned-by-jimi-hendrix" target="_blank">Marshall 100-watt amplifier</a> stack, with the guitar and room acoustics closing a feedback loop that Hendrix tuned with his own body. Later, Hendrix would also incorporate a <a href="https://en.wikipedia.org/wiki/Uni-Vibe" target="_blank">Uni-Vibe</a> pedal for many of his tracks. All the pedals were commercial models except for the <a href="https://www.roger-mayer.co.uk/octavia.htm" target="_blank">Octavia</a>, which Mayer built to produce a distorted signal an octave higher than its input.</p><p class="pull-quote"><span>Hendrix didn’t speak in decibels and ohm values, but he collaborated with engineers who did.</span></p><p>I obtained the schematics for each of these elements and their accepted parameter ranges, and converted them into <a href="https://en.wikipedia.org/wiki/Netlist" target="_blank">netlists</a> that <a href="https://ngspice.sourceforge.io/" target="_blank">ngspice</a> can process (ngpsice is an open source implementation of the Spice circuit analyzer). The Fuzz Face pedal came in two variants, using <a href="https://spectrum.ieee.org/germanium-can-take-transistors-where-silicon-cant" target="_blank">germanium</a> or silicon transistors, so I created models for both. In my models, Hendrix’s guitar pickups had a resistance of 6 kiloohms and an inductance of 2.5 henrys with a realistic cable capacitance.</p><p>I chained the circuit simulations together using a script, and I produced data-plot and sample sound outputs with Python scripts. All of the ngspice files and other scripts are available in my GitHub repository at<a href="https://github.com/nahorov/Hendrix-Systems-Lab" target="_blank">github.com/nahorov/Hendrix-Systems-Lab</a>, with instructions on how to reproduce my simulations.</p><h2>What Does The Analysis of Hendrix’s Signal Chain Tell Us?</h2><p>Plotting the signal at different points in the chain with different parameters reveals how Hendrix configured and manipulated the nonlinear complexities of the system as a whole to reach his expressive goals.</p><p>A few highlights: First, the Fuzz Face is a two-transistor feedback amplifier that turns a gentle sinusoid signal into an almost binary “fuzzy” output. The interesting behavior emerges when the guitar’s volume is reduced. Because the pedal’s input impedance is very low (about 20 kΩ), the pickups interact directly with the pedal circuit. Reducing amplitude restores a sinusoidal shape—producing the famous “<a href="https://www.youtube.com/shorts/XJdw_KrUN2w" target="_blank">cleanup effect</a>” that was a hallmark of Hendrix’s sound, where the fuzz drops in and out as desired while he played.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A photograph of three young men beside a recording studio mixing desk." class="rm-shortcode" data-rm-shortcode-id="e4c563fb619e01f04942bbacee6a3b54" data-rm-shortcode-name="rebelmouse-image" id="35a49" loading="lazy" src="https://spectrum.ieee.org/media-library/a-photograph-of-three-young-men-beside-a-recording-studio-mixing-desk.png?id=64983993&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Engineer Eddie Kramer, Jimi Hendrix, and studio manager Jim Marron at the Electric Lady Studios in New York City.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Fred W. McDarrah/Getty Images</small></p><p>Second, the Octavio pedal used a rectifier, which normally converts alternating to direct current. Mayer realized that a rectifier effectively flips each trough of a waveform into a peak, doubling the number of peaks per second. The result is an apparent doubling of frequency—a bloom of second-harmonic content that the ear hears a bright octave above the fundamental.</p><p>Third, the wah-wah pedal is a band-pass filter: Frequency plots show the center frequency sweeping from roughly 300 hertz to 2 kilohertz. Hendrix used it to make the guitar “talk” with vowel sounds, most iconically on “<a href="https://www.youtube.com/watch?v=C0XwPUFfFwE" target="_blank">Voodoo Child</a> (Slight Return).”</p><p>Fourth, the Uni-Vibe cascades four phase-shift sections controlled by photoresistors. In circuit terms, it’s a low-frequency oscillator modulating a variable-phase network; in musical terms it’s motion and air.</p><p>Finally, the whole chain became a closed loop by driving the <a href="https://spectrum.ieee.org/the-cool-sound-of-tubes" target="_blank">Marshall amplifier near saturation</a>, which among other things extends the sustain. In a reflective room, the guitar strings couple acoustically to the speakers—move a few centimeters and you shift from one stable feedback mode to another. To an engineer, this is a gain-controlled acoustic feedback system. To Hendrix, it was part of the instrument. He learned to tune oscillation with distance and angle, shaping sirens, bombs, and harmonics by walking the edge of instability.</p><p>Hendrix didn’t speak in decibels and ohm values, but he collaborated with engineers who did—Mayer and Kramer—and iterated fast as a systems engineer. Reframing Hendrix as an engineer doesn’t diminish the art. It explains how one person, in under four years as a bandleader, could pull the electric guitar toward its full potential by systematically augmenting the instrument’s shortcomings for maximum expression.</p><p><em>This article appears in the March 2026 print issue as “<span>Jimi Hendrix, Systems Engineer</span>.”</em></p><p><em>A correction to this article was made on 27 Feb 2026 to correctly identify the men posing with Jimi Hendrix in the recording studio.</em></p>]]></description><pubDate>Wed, 25 Feb 2026 15:39:03 +0000</pubDate><guid>https://spectrum.ieee.org/jimi-hendrix-systems-engineer</guid><category>Music</category><category>Jimi-hendrix</category><category>Sound-engineering</category><category>Typedepartments</category><dc:creator>Rohan S. Puranik</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/an-electric-guitar-connected-to-a-number-of-effects-pedals-connect-to-an-amplifier-and-loudspeaker-stack.png?id=64983431&amp;width=980"></media:content></item><item><title>Explore the Stratosphere With a DIY Pico balloon</title><link>https://spectrum.ieee.org/explore-stratosphere-diy-pico-balloon</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-printed-circuit-board-attached-to-two-small-solar-panels-hangs-beneath-a-balloon.png?id=63339900&width=1245&height=700&coordinates=0%2C566%2C0%2C567"/><br/><br/><p>There’s an interesting development in amateur ballooning: using so-called <a href="https://en.wikipedia.org/wiki/Superpressure_balloon" rel="noopener noreferrer" target="_blank">superpressure balloons</a>, which float high in the atmosphere indefinitely rather than simply going up and up and then popping like a normal weather balloon. Superpressure balloons can last for months and travel long distances, potentially circumnavigating the globe, all the while reporting their position.</p><p>You might imagine that an undertaking like this would be immensely difficult and cost thousands of dollars. In fact, you can build and launch such a balloon for about the cost of a fancy dinner out. You just have to think small! That’s why amateur balloonists call them pico balloons.</p><p>The payload of a pico balloon is so light (between 12 to 30 grams) that you can use a large Mylar party balloon filled with helium to lift it. They’re also inexpensive; that’s important because you won’t get your payload back. And because such diminutive payloads don’t pose a danger to aircraft, they aren’t subject to the many rules and restrictions on free-floating balloons that carry more mass.</p><p>The essential advances that made pico ballooning possible were figuring out how to track a balloon no matter where in the world it might be and how to power such tiny payloads. A lot of folks worked on these challenges and came up with good solutions that aren’t hard or expensive to reproduce.</p><h2>What is WSPR?</h2><p>Amazingly, the global tracking of the balloon’s telemetry is done without satellites. Instead, pico balloonists take advantage of an <a href="https://spectrum.ieee.org/tag/amateur-radio" target="_blank">amateur-radio</a> network called <a href="https://en.wikipedia.org/wiki/WSPR_(amateur_radio_software)" rel="noopener noreferrer" target="_blank">WSPR</a> (Weak Signal Propagation Reporter), a protocol developed by a rather famous ham-radio enthusiast—<a href="https://en.wikipedia.org/wiki/Joseph_Hooton_Taylor_Jr." rel="noopener noreferrer" target="_blank">Joseph Hooton Taylor Jr</a>., one of the two scientists awarded the 1993 Nobel Prize in Physics for discovering binary pulsars.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="Major components of a pico balloon payload." class="rm-shortcode" data-rm-shortcode-id="e0a1d92061ec68d4b64e4ad86f82b7fe" data-rm-shortcode-name="rebelmouse-image" id="176da" loading="lazy" src="https://spectrum.ieee.org/media-library/major-components-of-a-pico-balloon-payload.png?id=63339919&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">A Raspberry Pi Pico microcontroller [top left] is soldered directly to a daughterboard consisting of a high-frequency transmitter and a GPS module [bottom left], which are all powered by solar panels [right].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>WSPR was designed to monitor signal-propagation conditions for different radio bands—useful information if you’re a ham trying to make distant contacts. WSPR can also record low-power balloon-telemetry signals. WSPR is very low bandwidth—less than 10 bits per minute—but it does the job. A worldwide network of radio amateurs receives these WSPR signals and reports them publicly over the internet, which gives picoballoonists a way to track their flights. You need at least a <a href="https://www.arrl.org/upgrading-to-a-general-license" target="_blank">general-class</a> ham-radio license to launch a pico balloon, as one is required to transmit on the bands used for long-distance telemetry.</p><p>The pico balloon payload I chose to build is based on the aptly named US $4 <a href="https://www.adafruit.com/product/4864" target="_blank">Raspberry Pi Pico board</a>, with a solder-on daughterboard that contains a <a href="https://spectrum.ieee.org/tag/gps" target="_blank">GPS</a> receiver and transmitter. The folks who developed this daughterboard and associated software (to create what they call the <a href="https://traquito.github.io/tracker/" target="_blank">Jetpack WSPR Tracker</a>) have done a fantastic job of making their work easy to reproduce.</p><p>You could, in principle, power the Jetpack tracker with batteries, but in practice it would be impossible to keep them warm in the stratosphere, where average temperatures can be as low as –51 °C. Instead, the tracker runs off two lightweight solar modules. At night, it gracefully powers down. When the sun rises high enough in the morning, the tracker powers up and starts transmitting again.</p><p class="pull-quote"><span>My first pico balloon made it only halfway across the Atlantic before going silent.</span></p><p>I had five Jetpack boards custom-manufactured in China for just $39. The cost nearly doubled after adding shipping and tariff charges. Still that’s really cheap, even when you add the cost of the Raspberry Pi ($4), <a href="https://www.amazon.com/dp/B0F28ZWPY6" target="_blank">the party balloon</a> ($10 for two), the helium ($10 at my local supermarket), and the two <a href="https://www.amazon.com/PowerFilm-MPT6-75-Module-Flexible-Thin-Film/dp/B002MFGD16" target="_blank">solar modules</a> ($7 each).</p><p>The biggest sticking point I had with the Jetpack design was the liberties it takes with spurious emissions from its transmitter. Federal Communications Commission (FCC) regulations call for spurious emissions to be at least 43 decibels below the power of the transmitted signal. But my transmitter had strong unwanted emissions at odd harmonics of the fundamental frequency. (That’s because the transmitter is a<a href="https://cdn.sparkfun.com/assets/3/e/a/9/a/Si5351-datasheet.pdf" rel="noopener noreferrer" target="_blank"> Si5351A</a> temperature-controlled oscillator, which outputs a square wave, not a sinusoid.) Taking measurements, I could see that the third harmonic at 42 megahertz was only 25 dB quieter than the 14-MHz fundamental of my WSPR signal’s frequency. </p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A map showing a track from North Carolina in the United States across the Atlantic and the Iberean peninsula to the Mediterranean. " class="rm-shortcode" data-rm-shortcode-id="52b80f09402d5f29a30a443ba838cd07" data-rm-shortcode-name="rebelmouse-image" id="77213" loading="lazy" src="https://spectrum.ieee.org/media-library/a-map-showing-a-track-from-north-carolina-in-the-united-states-across-the-atlantic-and-the-iberean-peninsula-to-the-mediterranea.png?id=63339932&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">As of press time, the WSPR network had tracked my balloon from the Eastern United States to the Mediterranean coast. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>In practical terms, this shouldn’t create any noticeable interference, given that this transmitter puts out milliwatts at most and floats miles away from the nearest receiver. Still, I wanted to be fully compliant with FCC regulations, so I added traps to the antenna—simple circuit elements that hams use to allow a single antenna to work on multiple bands by altering how the antenna resonates at different frequencies. Each trap was made of a small inductor (four 5-millimeter-diameter loops of No. 32 magnet wire) in parallel with a 220-picofarad capacitor. I tuned them with the help of a <a href="https://nanovna.com/" target="_blank">NanoVNA</a> signal analyzer by stretching the loops apart slightly. I attached the traps directly to the tracker board, so that they quashed the spurious 42-MHz emissions at the source. That worked well and added only 0.3 grams of weight.</p><p>With my payload complete, I partially filled my balloon with helium. You want the balloon to hold just a little more gas than it takes to lift the payload off the ground. This will give the helium room to expand as the balloon climbs to its final altitude.</p><p>My first pico balloon, launched from a park near my home in North Carolina, made it only halfway across the Atlantic before going silent. My second went up and was never heard from again. The third was indeed the charm. It crossed the Iberian Peninsula and at the time of this writing is somewhere over the Mediterranean at an altitude of nearly 12 kilometers. With any luck, <a href="https://traquito.github.io/search/spots/dashboard/?band=20m&channel=104&callsign=N4LVD&dtGte=2026-01-01" target="_blank">it might go on</a> to orbit the planet.</p><p>I’m a little puzzled about the balloons’ telemetry messages received on the WSPR network, as they have been few and far between. My best guess is that power from the horizontal solar panels I’m using is marginal, with the winter sun being so low in the sky. That’s something I should have thought about before launching the first balloon just 24 hours after the winter solstice!</p><p><em>This article appears in the February 2026 print issue as “<span>Long-Duration Amateur Ballooning</span>.”</em></p>]]></description><pubDate>Sat, 31 Jan 2026 14:00:02 +0000</pubDate><guid>https://spectrum.ieee.org/explore-stratosphere-diy-pico-balloon</guid><category>Amateur-radio</category><category>Amateur-science</category><category>Ham-radio</category><category>Pico-balloon</category><category>Pico-ballooning</category><category>Type-departments</category><dc:creator>David Schneider</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-printed-circuit-board-attached-to-two-small-solar-panels-hangs-beneath-a-balloon.png?id=63339900&amp;width=980"></media:content></item><item><title>See the Sky Like Never Before With a DIY Eyepiece</title><link>https://spectrum.ieee.org/diy-astrophotography-eyepiece</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-reflecting-telescope-can-be-seen-fitted-with-a-boxy-eyepiece.jpg?id=62609417&width=1245&height=700&coordinates=0%2C397%2C0%2C398"/><br/><br/><p>When it comes to viewing nebulae, galaxies, and other deep-sky objects, amateur astronomers on a budget have had two options. They can view with the naked eye through a telescope and perceive these spectacular objects as faint smudges that don’t even begin to capture their majesty, or they can capture long-exposure images with <a href="https://spectrum.ieee.org/electronically-assisted-astronomy" target="_blank">astrocameras</a> and display the results on a view screen or computer, which robs the immediacy of the stargazing experience.</p><p>Stand-alone telescope eyepieces with active light amplification do exist for a real-time viewing, but commercial products are pricey, costing hundreds to thousands of dollars. I wanted something I could use for the public-astronomy observation nights that I organize in my community. So I decided to build a low-cost DIY amplifying eyepiece, to make it easier for visitors to observe deep-sky objects but without requiring a large financial investment on my part.</p><p>I quickly realized there was already an industry replete with hardware for handling low-light conditions—the security-camera industry. Faced with the challenge of monitoring areas with a variety of lighting, often using cameras spread out over a large facility, makers of closed-circuit television (CCTV) cameras created a video standard that uses digital sensors to capture images but then transmits them as HD-resolution analog signals over coaxial cables. By using this <a href="https://www.teracomsolutions.com.au/FAQ/ahd_explained" rel="noopener noreferrer" target="_blank">Analog High Definition (AHD) transmission standard</a>, you can attach new cameras to preexisting long cable runs and still get a high-quality image. </p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;"> <img alt="Primary components for the amplifying eyepiece." class="rm-shortcode" data-rm-shortcode-id="8e4193338c49a0dc458aa99cff7040c6" data-rm-shortcode-name="rebelmouse-image" id="c19df" loading="lazy" src="https://spectrum.ieee.org/media-library/primary-components-for-the-amplifying-eyepiece.jpg?id=62609418&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">A CMOS-image sensor module from a security camera [top left], a USB capture card [bottom left], and an OLED viewfinder [right] process analog video data.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>While I didn’t need the long-distance capability of these cameras, I was very interested in their low price and ability to handle dim conditions. The business end of these cameras is a module that integrates a <a href="https://spinoff.nasa.gov/Spinoff2017/cg_1.html" target="_blank">CMOS image sensor</a> with supporting electronics. After some research, I settled on <a href="https://www.aliexpress.us/item/3256805192137246.html?gatewayAdapt=fra2usa4itemAdapt" rel="noopener noreferrer" target="_blank">a module</a> that combined a 2-megapixel <a href="https://www.sony-semicon.com/files/62/flyer_security/IMX307LQD_LQR_Flyer.pdf" rel="noopener noreferrer" target="_blank">Sony IMX307</a> sensor with a supporting <a href="https://p.globalsources.com/IMAGES/PDT/SPEC/661/K1196433661.pdf" rel="noopener noreferrer" target="_blank">NVP2441 chipset</a>.</p><p>The key factor was choosing a sensor-chipset combination that supports something called Starlight or<a href="https://www.cctvcore.com/blog/Slow-Shutter-Speed-Techincal-Article" rel="noopener noreferrer" target="_blank"> Sens-Up</a> mode. This makes the camera more sensitive to light than the human eye, albeit at the cost of a little speed. Images are created by integrating approximately 1.2 seconds of exposure time on the sensor. That might make for choppy security footage, but it’s not noticeable when making observations of nebulae and other astronomical objects (unless of course something <em><em>really</em></em> weird happens in the sky!)</p><h2>From Astronomy To Security Cameras and Back Again</h2><p>The existence of the Sens-up mode is actually part of the technical heritage of digital imaging sensors. CMOS sensors were<a href="https://ericfossum.com/Presentations/1993%20Feb%20Active%20Pixel%20Sensors%20Are%20CCDs%20Dinosaurs%20SPIE%20Feb%2093.pdf" rel="noopener noreferrer" target="_blank"> developed as a successor</a> to charge-coupled devices (CCDs), which were eagerly <a href="https://en.wikipedia.org/wiki/Charge-coupled_device#Use_in_astronomy" rel="noopener noreferrer" target="_blank">embraced by the astronomical community</a> following their introduction in 1970, replacing long-exposure photographic plates. However, the ability to take exposure frames as long as one second is rarely something that CCTV cameras are designed for: It can be more of a drawback than a feature, leading to blurred images of moving objects or people.</p><p>As a result, this capability is rarely mentioned in the product descriptions, and so finding the right module was the most challenging part: I had to buy three different camera modules before finally landing on one that worked.</p><p>The output from the camera module is passed to a <a href="https://www.aliexpress.us/item/3256808460958932.html?gatewayAdapt=fra2usa4itemAdapt" rel="noopener noreferrer" target="_blank">digital viewfinder</a>, which displays both the video and control menus generated by the module. These menus are navigated using a four-way, press-to-select joystick that connects to a dedicated header on the module.</p><p>The output of the camera is also passed to a <a href="https://www.aliexpress.us/item/3256805840413018.html?gatewayAdapt=fra2usa4itemAdapt" rel="noopener noreferrer" target="_blank">capture card</a> that converts the analog signal to digital and provides a USB-C interface, which allows images to be seen and saved using a smartphone. All the electronics can be powered via battery for complete stand-alone operation or from a <a href="https://spectrum.ieee.org/chip-hall-of-fame-intel-piix3-usb-interface" target="_blank">USB</a> cable attached to the capture card.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="Diagram showing connections between CMOS sensor, joystick, OLED, analog HD, viewfinder, USB." class="rm-shortcode" data-rm-shortcode-id="ec70b7952bcb42a629c759f6025462b9" data-rm-shortcode-name="rebelmouse-image" id="8ddb1" loading="lazy" src="https://spectrum.ieee.org/media-library/diagram-showing-connections-between-cmos-sensor-joystick-oled-analog-hd-viewfinder-usb.jpg?id=62609449&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">The analog HD module can be controlled directly using a joystick to navigate onscreen menus. Power can be provided externally via USB-C connector on the capture card or via an optional battery pack.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The components fit in an enclosure I made from 3D-printed parts, designed to match the 32-millimeter diameter of most telescope eyepieces for easy mounting. The whole thing cost less than US $250. </p><h2>Testing out the Amplifying Eyepiece</h2><p>I took my new amplifying eyepiece out with my <a href="https://www.celestron.com/products/c11-optical-tube-assembly-cge-dovetail?srsltid=AfmBOor1i9qRc7qTRPKMtlerPIaX7zOkiJDj7rkUGlagXo0c1ngKwrGx" target="_blank">Celestron C11</a> telescope to give it a try. Soon I had in my viewfinder the Dumbbell Nebula, also known as Messier 27/M27, which is normally quite hard to see. It was significantly brighter compared to a naked-eye observation. Certainly the difference wasn’t as marked as with a commercial rig that has noise-reducing cooling for the sensor electronics. But it was still an enormous improvement and for a fraction of the cost.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A photograph of a cloudy purple and white deep-sky object." class="rm-shortcode" data-rm-shortcode-id="aec83b8de7e85a480cff7ef79ccc387c" data-rm-shortcode-name="rebelmouse-image" id="8eaec" loading="lazy" src="https://spectrum.ieee.org/media-library/a-photograph-of-a-cloudy-purple-and-white-deep-sky-object.jpg?id=62609420&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">The Orion Nebula, some 1,340 light years away.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Jordan Blanchard</small></p><p>The amplifier is also more versatile: You can remove it from the telescope, and with a 2.8-mm HD lens fitted to the camera-module sensor, you can use it as a night-vision camera. That’s handy when trying to operate in dark outdoor conditions on starry nights!</p>For the future, I’d like to upgrade the USB-C capture module to one that can handle the sensor’s digital output directly, rather than just the analog signal. This would give a noticeable boost in resolution when recording or streaming to a phone or computer. Beyond that, I’m interested in finding another low-cost camera module with a longer exposure, and refining the 3D-printed housing so it’s easier to build and adapt to other observing setups. That way the eyepiece will stay affordable, but people can still push it toward more serious electronically assisted astronomy.]]></description><pubDate>Sun, 04 Jan 2026 13:00:01 +0000</pubDate><guid>https://spectrum.ieee.org/diy-astrophotography-eyepiece</guid><category>Astronomy</category><category>Citizen-science</category><category>Remote-sensing</category><category>Type-departments</category><dc:creator>Jordan Blanchard</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/a-reflecting-telescope-can-be-seen-fitted-with-a-boxy-eyepiece.jpg?id=62609417&amp;width=980"></media:content></item><item><title>Listen to Protons for Less Than $100</title><link>https://spectrum.ieee.org/listen-to-protons-diy-magnetometer</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-pair-of-coil-wound-cylinders-sits-atop-two-milk-crates-wires-connect-them-to-a-circuit-board-connected-to-three-large-12-volt.png?id=62212907&width=1245&height=700&coordinates=0%2C428%2C0%2C429"/><br/><br/><p>When you get an MRI scan, the machine exploits a phenomenon called nuclear magnetic resonance (NMR). Certain kinds of atomic nuclei—including those of the hydrogen atoms in a water molecule—c<span>an be made to oscillate </span><span>in a magnetic field, and these oscillations </span><span>can be detected with coils of wire</span><span>. MRI scanners employ intense magnetic fields that create resonances at</span><a href="https://www.ncbi.nlm.nih.gov/books/NBK564320/" target="_blank"> tens to hundreds</a> of megahertz<span>. However, another NMR-based instrument involves  much lower-frequency oscillations: a</span><a href="https://en.wikipedia.org/wiki/Proton_magnetometer" target="_blank"> proton-precession magnetometer</a><span>, often used to measure Earth’s magnetic field.</span></p><p>Proton-precession magnetometers have been around for decades and were once often used in<a href="https://web.archive.org/web/20100626162421/http:/www.gbl.indiana.edu/abstracts/89/peebles_89.html" target="_blank"> archaeology</a> and<a href="https://ui.adsabs.harvard.edu/abs/2015AGUFMNH43C1896B/abstract" target="_blank"> mineral exploration</a>. High-end models can cost thousands of dollars. Then, in 2022 a German engineer named Alexander Mumm devised<a href="https://alexmumm.de/dat/ppm_alexmumm_educational_listener.pdf" target="_blank"> a very simple circuit</a> for a stripped-down one. I recently built his circuit and can attest that with less than half a kilogram of 22-gauge magnet wire; two common integrated circuits; a<a href="https://en.wikipedia.org/wiki/MOSFET" target="_blank"> metal-oxide-semiconductor field-effect transistor, or MOSFET</a>; a handful of discrete components; and two empty 113-gram bottles of<a href="https://www.mortonsalt.com/home-product/morton-natures-seasons-seasoning-blend/" target="_blank"> Morton seasoning blend</a>, it’s possible to measure Earth’s magnetic field very accurately.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" rel="float: left;" style="float: left;"> <img alt="Principal components of the proton magnetometer." class="rm-shortcode" data-rm-shortcode-id="f257668fd5f99a4e118270887961f3f4" data-rm-shortcode-name="rebelmouse-image" id="ef3be" loading="lazy" src="https://spectrum.ieee.org/media-library/principal-components-of-the-proton-magnetometer.png?id=62212955&width=980"/><small class="image-media media-caption" placeholder="Add Photo Caption...">The frequency of the signal emitted by protons precessing in Earth’s magnetic field lies in the audio range, so with a pair of headphones and two amplifier integrated circuits [middle right], you can detect a signal from water in seasoning bottles wrapped in coils [bottom left and right]. A MOSFET [middle left] allows for rapid control of the coils. The amplification circuitry is powered by a 9-volt battery, while a 36-volt battery charges the coils.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>Like an MRI scanner, a proton-precession magnetometer measures the oscillations of<a href="https://en.wikipedia.org/wiki/Hydrogen_atom" target="_blank"> hydrogen nuclei</a>—that is, protons. Like other subatomic particles, protons possess a quantum property called<a href="https://en.wikipedia.org/wiki/Spin_(physics)" target="_blank"> spin</a>, akin to classical angular momentum. In a magnetic field, protons wobble like spinning tops, with their spin axes tracing out a cone—a phenomenon called precession. A proton-precession magnetometer gets many protons to wobble in sync and then measures the frequency of their wobbles, which is proportional to the intensity of the ambient magnetic field.</p><p>The weak strength of <a href="https://spectrum.ieee.org/magnetic-world-model" target="_blank">Earth’s magnetic field</a> (at least compared to that of an MRI machine) means that protons wobbling under its influence do so at audio frequencies. Get enough moving in unison and the spinning protons will induce a voltage in a nearby pickup coil. Amplify that and pass it through some earphones, and you get an audio tone. So with a suitable circuit, you can, literally, hear protons.</p><p>The first step is to make the pickup coils, which is where the bottles of Morton seasoning blend come in. Why Morton seasoning blend? Two reasons. First, this size bottle will allow you to wrap about 500 turns of wire around each one with about 450 grams of 22-gauge wire. Second, the bottle has little shoulders molded at each end, making for excellent coil forms.</p><h3></h3><br/><div class="rblad-ieee_in_content"></div><p>Why two bottles and two coils? That’s to quash electromagnetic noise—principally coming from power lines—that invariably gets picked up by the coils. When two counterwound coils are wired in series, such external noise tends to cancel out. Signals from precessing protons in the two coils, though, will reinforce one another.</p><p class="pull-quote"><span>Don’t try this indoors or anywhere near iron-containing objects.</span></p><p>A proton magnetometer has three modes. The first is for sending DC current through the coils. The second mode disconnects the current source and allows the magnetic field it had created to collapse. The third is listening mode, which connects the coils to a sensitive audio amplifier. By filling each bottle with distilled water and sending a DC current (a few amperes) through these coils, you line up the spins of many protons in the water. Then, after putting your circuit into listening mode, you use the coils to sense the synchronous oscillations of the wobbling protons.</p><p>Mumm’s circuit shifts from one mode to another in the simplest way possible: using a three-position switch. One position enables the DC-polarization mode. The next allows the magnetic field built up during polarization to collapse, and the third position is for listening.</p><h2>Avoiding Damaging Sparks</h2><p>The second mode might seem easy to achieve—just disconnect the coils, right? But if you do that, <a href="https://spectrum.ieee.org/you-want-a-prosthetic-leg-with-a-tesla-coil-and-spark-gaps-no-problem" target="_blank">the same principle that makes spark plugs spark</a> will put a damaging high voltage across the switch contacts as the magnetic fields around the coils collapse.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A circuit diagram. " class="rm-shortcode" data-rm-shortcode-id="23b244ef59c52152fc1fc1191a318509" data-rm-shortcode-name="rebelmouse-image" id="84f9f" loading="lazy" src="https://spectrum.ieee.org/media-library/a-circuit-diagram.png?id=62212916&width=980"/><small class="image-media media-caption" placeholder="Add Photo Caption...">The proton-precession magnetometer is primarily just a multistage analog amplifier.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>To avoid that, Mumm’s circuit employs a MOSFET, wired to work like a high-power<a href="https://en.wikipedia.org/wiki/Zener_diode" target="_blank"> Zener diode</a>, used in many power-regulation circuits to allow only current above a specified threshold voltage to flow. This limits the voltage that develops across the coils when the current is cut off by just enough so that the magnetometer can shift from polarizing to listening mode quickly but without causing damage.</p><p>To pick up a strong signal, the listening circuit must also be tuned to resonate at the expected frequency of proton precession, which will depend on Earth’s magnetic field at your location. You can work out approximately what that is using an online<a href="https://www.ngdc.noaa.gov/geomag/calculators/magcalc.shtml#igrfwmm" target="_blank"> geomagnetic-field calculator</a>. You’ll get the field strength, and then you’ll multiply that by the<a href="https://en.wikipedia.org/wiki/Gyromagnetic_ratio#Magnetogyric_ratio_for_a_nucleus" target="_blank"> gyromagnetic ratio</a> of protons (42.577 MHz per tesla). For me, that worked out to about 2 kilohertz. Estimating the inductance of the coils from their diameter and number of turns, I then selected a capacitor of suitable value in parallel with the coils to make a<a href="https://en.wikipedia.org/wiki/LC_circuit" target="_blank"> tank circuit</a> that resonates at that frequency.</p><p><span>You could tune your tank circuit using </span><span>a frequency generator and oscilloscope. </span><span>Or, as Mumm suggests, attach a small </span><span>speaker to the output of the circuit. Then </span><span>bring the speaker near the pickup coils. </span><span>This will create magnetic feedback and </span><span>the circuit will oscillate on it’s own—</span><span>loudly! You merely need to measure the </span><span>frequency of this tone, and then adjust </span><span>the tank capacitor to bring this self-os</span><span>cillation to the frequency you want to </span><span>tune to.</span></p><p>My initial attempt to listen to protons met with mixed success: Sometimes I heard tones, sometimes not. What helped to get this gizmo working consistently was realizing that proton magnetometers don’t tolerate large gradients in the magnetic field. So don’t try this indoors or anywhere near iron-containing objects: water pipes, cars, or even the ground. A wide-open space outside is best, with the coils raised off the ground. The second thing that helped was to apply more oomph in polarization mode. While a 12-volt battery works okay, 36 V does much better.</p><p>After figuring these things out, I can now hear protons easily. These tones are clearly the sounds of protons, because they go away if I drain the water in the bottles. And, using free audio-analyzer software called<a href="https://www.qsl.net/dl4yhf/spectra1.html" target="_blank"> Spectrum Lab</a>, I confirmed that the frequency of these tones matches the magnetic field at my location to about 1 percent. While it’s not a practical field instrument, a proton-precession magnetometer of any kind for less than US $100 is nothing to sneer at.</p><p><em>This article appears in the December 2025 print issue as “Listening to Protons.”</em></p>]]></description><pubDate>Tue, 25 Nov 2025 14:00:02 +0000</pubDate><guid>https://spectrum.ieee.org/listen-to-protons-diy-magnetometer</guid><category>Citizen-science</category><category>Proton-magnetometer</category><category>Sensing</category><category>Type-departments</category><dc:creator>David Schneider</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-pair-of-coil-wound-cylinders-sits-atop-two-milk-crates-wires-connect-them-to-a-circuit-board-connected-to-three-large-12-volt.png?id=62212907&amp;width=980"></media:content></item><item><title>A Hassle-Free Battery Charger</title><link>https://spectrum.ieee.org/diy-nimh-battery-charger</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-pair-of-cutaway-diagrams-showing-the-mechanism-for-advancing-batteries-through-the-charger.png?id=61941397&width=1245&height=700&coordinates=0%2C242%2C0%2C242"/><br/><br/><p>Lithium-ion batteries’ ability to deliver a lot of power from a small package have made them the go-to for makers and manufacturers alike. It’s not unusual now to find, say, microcontroller boards with<a href="https://www.sparkfun.com/sparkfun-redboard-turbo-samd21-development-board.html" rel="noopener noreferrer" target="_blank"> integrated Li-ion chargers</a>. Lithium-ion is <a href="https://spectrum.ieee.org/tag/lithium-ion-batteries" target="_blank">so popular</a>, in fact, that it’s easy to forget that other battery technologies exist, even when they’re a better fit.</p><p>These worthy alternatives include removable rechargeable<a href="https://en.wikipedia.org/wiki/Nickel%E2%80%93metal_hydride_battery" rel="noopener noreferrer" target="_blank"> nickel–metal hydride</a> batteries. While NiMH cells can’t be recharged as many times as lithium-ion cells can and don’t offer the same power density, they’re cheaper and also safer. No need to ship them in boxes emblazoned with <a href="https://spectrum.ieee.org/first-xray-views-into-overheating-lithiumion-batteries" target="_blank">fire warning labels</a>. The fact that NiMH cells deliver lower voltages than lithium has become less of an issue as the voltage demands of integrated circuits have fallen, with 3.3-volt and 1.8-V chips rapidly displacing the ubiquitous 5-V standard of yesteryear.</p><h2>How to Make NiMH Easier to Manage</h2><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;"> <img alt="A collection of major components" class="rm-shortcode" data-rm-shortcode-id="08b0032598d19dc06c91018b31c8f6fe" data-rm-shortcode-name="rebelmouse-image" id="f962f" loading="lazy" src="https://spectrum.ieee.org/media-library/a-collection-of-major-components.png?id=61941442&width=980"/><small class="image-media media-caption" placeholder="Add Photo Caption...">A handful of 3D-printed parts [bottom], a servo and screen [middle] and a single printed circuit board [top] are all that’s needed for the Spinc charger. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>But it’s also true that recharging removable batteries can be a pain: You have to load them into a charger, which typically holds no more than four batteries at a time, and take care to put them in the right way. Otherwise you get no charging at best and irreversible damage to the cell and even overheating at worst.</p><p>To ease this pain point, I created the Spinc, a DIY device that charges up to seven NiMH AA batteries at a time and automatically figures out the polarity of each cell before charging it; when finished, it drops the batteries into a hopper. You can check on the charging status via a display that doubles as a clock.</p><p>In my day job, I work on industrial vehicles as an EE in a midsize German company. But I came to this project due to a personal interest in low-power electronics and after a fruitless attempt to harvest the last dregs of power from some nonrechargeable batteries. That failure—in a nutshell, my design needed a buffer battery that had to be recharged, which defeated the whole purpose of the project—got me thinking about rechargeable cells.</p><p>The hardest part of creating the Spinc was a self-imposed challenge. I wanted the charger to be compact and intuitive to use. This meant spending a lot of time perfecting the mechanism that takes a battery from the top of the charger, places and holds it between two electrodes while charging, and then drops the battery out the bottom before resetting and grabbing the next cell. A lot of careful iterations later, I had a set of seven 3D-printer files to create the parts that assemble to form the case and mechanism of the Spinc. To that, you just need to add the display, servo motor, and a printed circuit board with all the remaining components, plus an<a href="https://www.vishay.com/docs/84274/vcnl4040.pdf" target="_blank"> infrared proximity sensor</a> that detects when a battery has been inserted and is ready to be placed between the charging electrodes.</p><h3></h3><br/><div class="rblad-ieee_in_content"></div><p><span>To allow the battery to be charged regardless of which way it’s put into the charger, I used a classic</span><a href="https://en.wikipedia.org/wiki/H-bridge" target="_blank"> H-bridge circuit</a><span>, which is normally used to let DC motors run in either direction, with a few modifications that let it work at low voltages.</span></p><p>I decided to use a dedicated integrated circuit to manage the actual charging, with<a href="https://en.wikipedia.org/wiki/Thermistor" target="_blank"> thermistors</a> to watch out for overheating. While I could have used a microcontroller and written my own software to monitor the battery, NiMH cells have a very flat charging curve, and it’s easy to overshoot the charging cycle. Using an IC saved me from a lot of testing, and also gave me the ability to use a fast-charging mode.</p><p>However, it didn’t save me from some trial and error. The first charger IC I used was attractively compact at 2 by 2 millimeters. However, when I tried charging an AA battery, I discovered that the manufacturer assumed the end user would be charging two to four batteries at a time, all hooked up in series. Charging just a single battery meant the IC’s linear voltage regulator had to dissipate more heat than intended, and it quickly burned the chip out. I eventually found a somewhat larger (5.15 by 4.4 mm)<a href="https://www.analog.com/media/en/technical-documentation/data-sheets/ds2711-ds2712.pdf" target="_blank"> charger IC</a> that uses a<a href="https://en.wikipedia.org/wiki/Switched-mode_power_supply" target="_blank"> switched-mode regulator</a> and could handle the job. Finding that IC took a while, though, as the popularity of lithium batteries has reduced the availability of supporting components for NiMH.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A chart showing a voltage slowing rising from 1.38 volts to nearly 1.55 volts over a period of 150 minutes, with a small dip at the end of the curve. " class="rm-shortcode" data-rm-shortcode-id="b345550f228b19a8d27f128b7df23076" data-rm-shortcode-name="rebelmouse-image" id="08353" loading="lazy" src="https://spectrum.ieee.org/media-library/a-chart-showing-a-voltage-slowing-rising-from-1-38-volts-to-nearly-1-55-volts-over-a-period-of-150-minutes-with-a-small-dip-at.png?id=61941528&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">The charging curve of NiMH follows a slow curve, with the battery’s voltage showing a dip of just 2 millivolts when fully charged, which is easily overshot and could lead to cell damage.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The charger IC is connected to an <a href="https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf" target="_blank">RP2040</a> microcontroller, which reports the battery status on an LCD display. The RP2040 is also responsible for monitoring the proximity sensor and driving the servo that controls the internal feed mechanism, as well as responding to the Spinc’s push-button controls, which let you set the clock and start charging the batteries. The entire device is powered via a USB-C socket.</p><p>Most of the electronics are surface-mounted on a PCB that has a large center cutout to allow the batteries to pass through it. I designed the PCB in<a href="https://www.kicad.org/" target="_blank"> KiCad</a> and had it fabricated by<a href="https://jlcpcb.com/" target="_blank"> JLCPCB</a>. To make it easier to fabricate the boards correctly, I didn’t try to specify 90-degree angles for the corners of the center cutout. Instead, I went with rounded corners, which are easier for the cutting tooling to follow.</p><p>The result is a desktop charger that’s as convenient to use as possible. A full set of PCB schematics, bill of materials, 3D printer files, and firmware files are available from the<a href="https://github.com/CoretechR/SPINC" target="_blank"> project page on GitHub</a>. I hope it helps ensure that whenever you need a freshly charged NiMH battery, there’s one right at hand!</p><p><em>This article appears in the November 2025 print issue.</em></p>]]></description><pubDate>Thu, 30 Oct 2025 19:30:04 +0000</pubDate><guid>https://spectrum.ieee.org/diy-nimh-battery-charger</guid><category>Batteries</category><category>Charging</category><category>Nimh</category><category>Rp2040</category><category>Type-departments</category><dc:creator>Maximilian Kern</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-pair-of-cutaway-diagrams-showing-the-mechanism-for-advancing-batteries-through-the-charger.png?id=61941397&amp;width=980"></media:content></item><item><title>Build Your Own Commodore 64 Cartridge</title><link>https://spectrum.ieee.org/commodore-64-cartridge</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/retro-computer-setup-with-text-chips-that-changed-the-world-on-screen.png?id=61658944&width=1245&height=700&coordinates=0%2C341%2C0%2C341"/><br/><br/><p>Have you ever thought “<em><em>IEEE </em></em>Spectrum is terrific, but I just wish I had a way to experience even more of it, perhaps at a local science and technology museum?” Well, I am pleased to say that your very specific wish has been granted! In collaboration with the <a href="https://www.ieee.org/about/history-center" rel="noopener noreferrer" target="_blank">IEEE History Center</a> and the <a href="https://www.ieee.org/about/history-center/globalmuseum" rel="noopener noreferrer" target="_blank">IEEE Global Museum</a> and the support of generous donors, <em><em>Spectrum</em></em>’s <a href="https://spectrum.ieee.org/special-reports/chip-hall-of-fame/" target="_self">Chip Hall of Fame</a> has been adapted into a traveling exhibit that has just begun making its way around U.S. museums, and, hopefully, the world.</p><p>Our Chip Hall of Fame celebrates microchips that have had a significant impact. Six of the chips from the hall were chosen to be part of the “Chips That Shook The World” exhibit, along with artifacts embodying how each was used. One of the chosen was the 8-bit <a href="https://spectrum.ieee.org/chip-hall-of-fame-mos-technology-6502-microprocessor/" target="_self">6502</a> processor, so naturally we thought a <a href="https://spectrum.ieee.org/commodore-64" target="_self">Commodore 64</a> home computer, which used a 6502 variant, should be one of the artifacts. Which led to another thought: Why not have the C64 run a program demonstrating an 8-bit CPU in action?</p><p>That’s how I ended up, 35 years after I last programmed a C64, sitting at my office desk creating a brand-new plug-in cartridge.</p><p>The C64 supported <a href="https://www.c64-wiki.com/wiki/Cartridge" rel="noopener noreferrer" target="_blank">plug-in cartridges</a> as a way of distributing software, and our demo program needed to be put on one. Each morning, the museum curator can just turn on the exhibit and presto! The demo program instantly begins running. The alternatives would have required the curator to type in commands to load the demo manually.</p><p>But this convenience comes with two big caveats: One, the demo has to fit into just 16 kilobytes, the maximum size of a cartridge. Even by the standards of the 1980s, this is small, as some C64 titles spanned <a href="https://www.c64-wiki.com/wiki/Newcomer" rel="noopener noreferrer" target="_blank">hundreds of kilobytes</a> by loading data in chunks from disk or tape. Two, the demo would have to be written in <a href="https://codeburst.io/an-introduction-to-6502-assembly-and-low-level-programming-7c11fa6b9cb9" rel="noopener noreferrer" target="_blank">6502 assembly</a> and control the C64 video hardware directly.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="The components required to make a Commodore 64 cartridge." class="rm-shortcode" data-rm-shortcode-id="167a40e21250b051bf2de61c3854b8d4" data-rm-shortcode-name="rebelmouse-image" id="95d88" loading="lazy" src="https://spectrum.ieee.org/media-library/the-components-required-to-make-a-commodore-64-cartridge.png?id=61614662&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Cartridges require only a few components: a printed circuit board [bottom right], programmable memory chip [bottom middle], and some resistors, diodes, and a capacitor [top middle]. They are mounted in a 3D-printed shell [top left and right]. To make the video output compatible with modern screens, we used a RetroTink-2X Pro adapter [bottom left].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>Fortunately, from attending <a href="https://spectrum.ieee.org/theyre-alive-vintage-computer-fans-keep-the-great-machines-of-the-past-running" target="_self">Vintage Computer Federation events</a><a href="https://www.instagram.com/reel/C6ZCubprsSO/" target="_blank"> over the years</a>, I knew there were a lot of free or inexpensive resources that would make it easier than ever before to do this sort of thing.</p><p>The first step was to figure out just how much I could do in 16 KB. The C64’s graphics hardware was groundbreaking in its day, capable of displaying images of up to 320 by 200 pixels with a palette of 16 colors. It could also display eight sprites at once; each sprite is a moveable single-color 24-by-21 pixel bitmap. The price for this power was complexity. The <a href="https://www.c64-wiki.com/wiki/VIC" target="_blank">video chip’s control registers</a>, screen bitmaps, text-screen data, default and custom character sets, sprites, and color information all live in different locations scattered across memory, with some data actually living in <a href="https://www.c64-wiki.com/wiki/Color_RAM" rel="noopener noreferrer" target="_blank">separate RAM</a> and <a href="https://www.c64-wiki.com/wiki/Character_set" rel="noopener noreferrer" target="_blank">ROM</a> chips.</p><p>So I sat down with the detailed <a href="https://sta.c64.org/cbm64mem.html" rel="noopener noreferrer" target="_blank">memory maps</a> and <a href="https://www.c64-wiki.com/wiki/Graphics_Modes" rel="noopener noreferrer" target="_blank">video hardware programming guides</a> available for the C64. (This abundance of information is in stark contrast to the 1980s, when documentation was scant, even from Commodore itself). I worked out that I could cram in nine screens of explanatory text, animated graphics, and sprites. Creating these screens, including the custom character sets and sprites they rely on, was greatly simplified thanks to the online C64 graphics editor at <a href="https://petscii.krissz.hu/" rel="noopener noreferrer" target="_blank">petscii.krissz.hu</a>. The editor can output some results as stand-alone assembly programs, which I adapted as subroutines in my demo code.</p><p>I had just enough space remaining for a lucky find. I wanted to display at least one full-screen bitmapped image, but a prerendered image would have required 8 KB of data, half the cartridge’s capacity. Instead I decided to use a classic hack of programmers since the days of games like<a href="https://en.wikipedia.org/wiki/Rogue_(video_game)" rel="noopener noreferrer" target="_blank"> <em><em>Rogue</em></em></a><em> </em>and<a href="https://en.wikipedia.org/wiki/Elite_(video_game)" rel="noopener noreferrer" target="_blank"> <em><em>Elite</em></em></a>: pulling free data out of the structure of mathematics by way of <a href="https://en.wikipedia.org/wiki/Procedural_generation" rel="noopener noreferrer" target="_blank">procedural generation</a>.</p><p>Here’s where I got lucky: I came across the work of Marcello M., who had published the source for a C64 assembly program that quickly created a multicolor fractal <a href="https://en.wikipedia.org/wiki/Mandelbrot_set" rel="noopener noreferrer" target="_blank">Mandelbrot set</a> using just 3.3 KB of code. With Marcello’s blessing, I incorporated his code as another subroutine.</p><h2>Modern Tools For Writing C64 Software</h2><p>The coding was done using the free <a href="https://sites.google.com/view/ide65xx" rel="noopener noreferrer" target="_blank">IDE 65xx</a> and <a href="https://theweb.dk/KickAssembler/Main.html" rel="noopener noreferrer" target="_blank">Kick Assembler</a> desktop software. I was able to test the code using the popular C64 <a href="https://vice-emu.sourceforge.io/" rel="noopener noreferrer" target="_blank">Vice emulator</a>, which allowed me to do handy things like examining live memory contents to find runtime bugs.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A diagram showing 64 kilobytes of RAM with a Kernal ROM occupying the top 8 KB, followed by 4 KB of character ROM, and then 8 KB of Basic ROM. Another column shows I/O and color RAM mapped to the same position as the character ROM, and two shadow ROM locations in lower memory. Finally a third column shows a 16 KB cartridge ROM overlapping the Basic ROM and the memory below it." class="rm-shortcode" data-rm-shortcode-id="2a6b3df1e313beface7174cd6588630c" data-rm-shortcode-name="rebelmouse-image" id="71b5d" loading="lazy" src="https://spectrum.ieee.org/media-library/a-diagram-showing-64-kilobytes-of-ram-with-a-kernal-rom-occupying-the-top-8-kb-followed-by-4-kb-of-character-rom-and-then-8-kb.png?id=61613059&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Regions of the Commodore 64’s RAM were mapped to things like the system ROMs, video-color memory, and the bitmaps of characters, the latter of which were actually mapped to multiple locations in RAM when accessed by the video hardware. Some of these mappings overlapped: Inserting a 16-KB cartridge automatically disabled the ROM storing the Basic interpreter. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p><span>The next step was to make a physical cartridge. Again, there’s modern help, this time in the form of US $5 printed circuit boards that need just a handful of components soldered in to make a cartridge. These components include a programmable ROM chip that I picked up for </span><a href="https://www.ebay.com/itm/363498306025" target="_blank">$3 on eBay</a><span>. I burned my code to the memory chip with my trusty </span><a href="http://autoelectric.cn/EN/TL866_main.html" target="_blank">TL866 programmer</a><span> and mounted it to the PCB, which in turn was mounted into a </span><a href="https://www.thingiverse.com/thing:692797" target="_blank">3D-printed cartridge case</a><span>.</span></p><p>Then came the moment of truth. It probably won’t come as a surprise to regular readers that I already own an original C64, which I connect to modern flat-screen displays via a <a href="https://www.retrotink.com/shop/retrotink-2x-pro" target="_blank">RetroTink-2X Pro</a> adapter. So I carefully pushed the cartridge into its slot and turned the machine on.</p><p>Naturally, my C64 immediately froze up. I had forgotten to remove a little bit of memory-management code that made the demo work in the Vice emulator by disabling the ROM that stores the C64’s Basic interpreter. On the real hardware, this snippet ended up disabling half the cartridge’s memory. A quick edit and a trip back to the TL866 and I was ready to try again. Success! I was finally literally ready to ship some software, all the way to <a href="https://www.uplandexhibits.com/" target="_blank">Upland Exhibits</a>, the people building our traveling display.</p><p>I hope you get a chance to see my little demo and our “Chips That Changed The World” exhibit in person: We’ll post current and upcoming locations on the Chip Hall of Fame page. But in the meantime, whether you used the C64 back in the day, or are just looking for a fun coding challenge, I recommend trying your hand at programming this 8-bit classic, now that so many of the original pain points have been reduced!</p>]]></description><pubDate>Sun, 28 Sep 2025 13:00:01 +0000</pubDate><guid>https://spectrum.ieee.org/commodore-64-cartridge</guid><category>Type-departments</category><category>Vintage-computers</category><category>C64</category><category>Commodore-64</category><category>Assembly-programming</category><category>Cartridges</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/retro-computer-setup-with-text-chips-that-changed-the-world-on-screen.png?id=61658944&amp;width=980"></media:content></item><item><title>This DIY Test Equipment Could Save Your Radio</title><link>https://spectrum.ieee.org/vintage-electronics-dim-bulb</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-device-with-an-incandescent-bulb-projecting-from-its-top-two-analog-dials-and-some-controls-sits-on-top-of-a-radio-built-in.png?id=61517904&width=1245&height=700&coordinates=0%2C523%2C0%2C523"/><br/><br/><p>Recently I noticed an irresistible offer on Craigslist: a <a href="https://www.radiomuseum.org/r/majestic_3c70.html" rel="noopener noreferrer" target="_blank">Majestic 3C70</a> AM/shortwave radio for just US $50. This model dates from the 1930s, when such radios came in gorgeous wooden cabinets. The specimen I stumbled on was still in the possession of the original owner, who used to listen to it with her family when she was a little girl. The wood and speaker fabric were nicely preserved, probably looking much as they when Japan attacked Pearl Harbor. I snatched it up.</p><p>I knew at the very least I’d need to <a href="https://antiqueradio.org/recap.htm" rel="noopener noreferrer" target="_blank">replace a bunch of capacitors</a>. But after scrutinizing the underside of the chassis, I realized I’d be doing a lot more, as much of the original wire insulation had disintegrated. Thus began a journey that eventually led me to build my own version of a critical piece of restoration technology: a <a href="https://antiqueradio.org/dimbulb.htm" rel="noopener noreferrer" target="_blank">dim-bulb tester</a>.</p><p>My journey started with online searching that turned up a circuit diagram for my radio, along with plenty of advice from vintage-electronics restoration experts. The chief piece of wisdom was “Be careful.” Even when new, electronics of the vacuum-tube era could be dangerous. Being the cautious type, I wanted to take all appropriate safety measures.</p><p>In particular, when working with tube-era electronics, you should resist the urge to just plug it in to see if it works. Decades-old paper and electrolytic capacitors are almost <a href="https://spectrum.ieee.org/vintage-audio-repair" target="_self">guaranteed to be bad</a>. And much else could be amiss as well. Instead, make the repairs and upgrades you determine are needed first. Even then, don’t just plug in your relic and flip the power switch. Better to start it up gently to look for signs of trouble.</p><h2>How Does a Dim-Bulb Tester Work?</h2><p>But how do you turn on old equipment gently? That concept was foreign to me, having grown up in the transistor era. And this is when I learned about dim-bulb testers. They take advantage of the fact that the resistance of an ordinary incandescent light bulb increases markedly as the filament heats up. The tester sits between your device and the wall plug. The bulb is wired in series to the power line and acts as a current limiter: Even if a component or wire in your device fails and causes a short, the current flowing into the device won’t exceed the current that would normally flow through the bulb. You can control the maximum current by using bulbs of different wattages.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="Key components for the dim bulb tester" class="rm-shortcode" data-rm-shortcode-id="2da68247db2fc9bd078cc62bf7444ae5" data-rm-shortcode-name="rebelmouse-image" id="b839d" loading="lazy" src="https://spectrum.ieee.org/media-library/key-components-for-the-dim-bulb-tester.png?id=61517921&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">Caption: Because the dim-bulb tester relies on an incandescent bulb [top middle], a certain retro look is guaranteed. I leaned into this aesthetic by using vintage analog meters [top left and right], and having a metal front panel custom-made by a sign maker [bottom].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>Sure, you can cobble together such a tester using just an outlet box, a lamp base, and a switch. But I decided to go all out on the safety front and build a more fully featured dim-bulb tester, something akin to <a href="https://www.stagecue.com/variac.html" target="_blank">a design that I saw online</a> that includes a variable transformer along with panel meters to monitor voltage and current. And for fun, I decided to give my tester a vintage look.</p><p>I hunted on eBay for vintage bits and pieces (or ones that could pass as vintage). While the effort to make my tester look old increased the cost and slowed construction, I was beginning to like the idea of restoring old electronics as a new hobby, so I figured: Why not?</p><p class="ieee-inbody-related">RELATED: <a href="https://spectrum.ieee.org/vintage-audio-repair" target="_self">Turn a Vintage Hi-Fi Into a Modern Entertainment Center</a></p><p>The end result was a unit that included two<a href="https://www.triplett.com/pages/overview" rel="noopener noreferrer" target="_blank"> Triplett</a> analog panel meters that, best I can figure out, date from shortly after the Second World War. It also includes three indicator lights that must be from the 1950s. They adorn a front panel that I fabricated by ordering<a href="https://www.signs.com/aluminum/" rel="noopener noreferrer" target="_blank"> a custom aluminum sign</a> and cutting the openings using hole saws.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="An electronic schematic." class="rm-shortcode" data-rm-shortcode-id="aa8ca06d25b5400cb6df5f87c720a342" data-rm-shortcode-name="rebelmouse-image" id="fc4bb" loading="lazy" src="https://spectrum.ieee.org/media-library/an-electronic-schematic.png?id=61517931&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">The dim-bulb tester allows me to ramp up the voltage applied to old equipment. The resistance of the bulb prevents damaging current flows to the equipment while looking for any signs of troublet.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>Choosing the proper enclosure for my ersatz test instrument was one of the bigger challenges. Large enclosures tend to be expensive, and I also struggled to find something that wouldn’t have looked out of place in the TV repair shops of my youth. The solution was to purchase a damaged vintage test instrument (a<a href="https://www.crowave.com/blog/2019/07/23/signal-generator-eico-model-315/" target="_blank"> tube-equipped signal generator</a>), pull the chassis out, and use its painted steel enclosure. I bought it for less than I would’ve paid for a new enclosure. I also bought a small collection of incandescent light bulbs of different wattages. Assembling my tester was straightforward.</p><p>I wasn’t quite done, though. In my investigations into how repair vintage electronics safely, I learned about using an isolation transformer to help protect against shocks. I toyed with the idea of building one into my dim-bulb tester’s enclosure, but I decided it was more practical to purchase a stand-alone unit. I got a used one for a good price, but it took some work to fix and modify it so that it truly isolated the input from the output. (Oddly enough, commercial units don’t typically offer full isolation—you have to<a href="https://www.radioradar.net/en/measurements_technics/vintage_tube_radio_restoration.html" rel="noopener noreferrer" target="_blank"> mod them for this</a>.) I figure that I can just plug my device into my dim-bulb tester, plug the tester into the isolation transformer, then plug the transformer into the wall.</p>With my completed tester ready to go, I carefully examined the wiring and components of my Majestic radio and ordered what I think I’ll need to fix it. I’ve just received the box of components from <a href="https://www.mouser.com/" rel="noopener noreferrer" target="_blank">Mouser</a>, so repair and live testing will begin shortly. I should add that while working on my dim-bulb tester, I couldn’t resist making another $50 antique-radio purchase: a Zenith AM/FM tabletop radio from the late 1950s. The person I bought it from said that it works, but I now know there’s a right way and a wrong way to verify that assertion. So I’ve got plenty to keep me busy in my newfound hobby—along with the gear I need to pursue it safely.]]></description><pubDate>Sat, 30 Aug 2025 13:00:02 +0000</pubDate><guid>https://spectrum.ieee.org/vintage-electronics-dim-bulb</guid><category>Vintage-electronics</category><category>Restoration</category><category>Repair</category><dc:creator>David Schneider</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-device-with-an-incandescent-bulb-projecting-from-its-top-two-analog-dials-and-some-controls-sits-on-top-of-a-radio-built-in.png?id=61517904&amp;width=980"></media:content></item><item><title>Learning Analog System Design With the MOSbius</title><link>https://spectrum.ieee.org/mosbius-learning-analog-system-design</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-chip-mounted-on-a-printed-circuit-board-that-in-turn-is-mounted-on-a-solderless-breadboard-various-other-capacitors-and-resis.png?id=61320677&width=1245&height=700&coordinates=0%2C212%2C0%2C212"/><br/><br/><p>When it comes to learning digital system design, hobbyists and students have a lot of options, whether it’s <a href="https://spectrum.ieee.org/painless-fpga-programming" target="_self">tinkering with field-programmable gate arrays</a> or working up chip submission for a <a href="https://tinytapeout.com/" rel="noopener noreferrer" target="_blank">Tiny Tapeout</a> run. But similar tools for analog design have been harder to come by. Certainly you can create analog circuits in <a href="https://www.analog.com/en/resources/design-tools-and-calculators/ltspice-simulator.html" rel="noopener noreferrer" target="_blank">a simulator like LTspice</a> and test them against theory. But nothing beats building real analog circuits and measuring their actual, not theoretical, behavior. Measurement is complicated for analog designs because the test equipment can affect the very measurement being made.</p><p>To address this educational gap, <a href="https://mosbius.org/crew.html" rel="noopener noreferrer" target="_blank">a team led by me</a> at <a href="https://www.ee.columbia.edu/" rel="noopener noreferrer" target="_blank">Columbia University’s department of electrical engineering</a> created <a href="https://mosbius.org/" rel="noopener noreferrer" target="_blank">MOSbius</a>, a breadboard-friendly chip that you can think of as a field-programmable <em><em>transistor</em></em> array for analog designs.</p><p class="ieee-inbody-related"><strong>RELATED: </strong><a href="https://spectrum.ieee.org/build-your-own-giant-555-timer-chip" target="_self">Build Your Own Giant 555 Timer Chip</a></p><p>As its name suggests, MOSbius is built around metal-oxide-semiconductor transistors, divided between <em><em>n</em></em>-type and <em><em>p</em></em>-type transistors. As these are the building blocks of most analog integrated circuits today, designing with the MOSbius provides experience that’s directly relevant to creating real chips.</p><p>The MOSbius has 68 pins, of which 63 connect to either individual transistors or common analog subcircuits such as<a href="https://en.wikipedia.org/wiki/Operational_amplifier" rel="noopener noreferrer" target="_blank"> </a><a href="https://en.wikipedia.org/wiki/Current_mirror" rel="noopener noreferrer" target="_blank">current mirrors</a> and <a href="https://en.wikipedia.org/wiki/Operational_amplifier" rel="noopener noreferrer" target="_blank">op-amp</a> stages. Two other pins are used for positive and negative supply voltages.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="An illustration of key components. " class="rm-shortcode" data-rm-shortcode-id="98718647c5f7e60c871d6114e5297374" data-rm-shortcode-name="rebelmouse-image" id="4826b" loading="lazy" src="https://spectrum.ieee.org/media-library/an-illustration-of-key-components.png?id=61320961&width=980"/><small class="image-media media-caption" placeholder="Add Photo Caption...">The MOSbius chip [top left] contains all the transistors required for many analog systems. Mounted on a breadboard via a printed circuit board [middle], discrete resistors and capacitors [bottom] are wired up to provide other needed components. A Raspberry Pi Pico [bottom right] is used to program the MOSbius.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The remaining three pins are used for programming a built-in switch matrix. You <em><em>can</em></em> create circuits with the MOSbius by connecting the pins with external wires. But it’s easier to use the switch matrix. This can connect any of the 65 transistor, subcircuit, and voltage pins to one or more of 10 internal buses. The matrix is programmed by clocking in a simple stream of 650 bits—one bit for each possible connection between a bus and a pin.</p><p>We program the MOSbius’s matrix using a <a href="https://www.raspberrypi.com/products/raspberry-pi-pico/" target="_blank">Raspberry Pi Pico</a> running a Python script that turns a simple JSON <a href="https://mosbius.org/4_sw_support/MOSbiusTools.html" target="_blank">text file into the desired bitstream</a>. If you want, though, you can use pretty much any 3.3-volt microcontroller that supports Python.</p><h3></h3><br/><div class="rblad-ieee_in_content"></div><p>The MOSbius runs at 2.5 V. The printed circuit board used to connect the pins to a <a href="https://en.wikipedia.org/wiki/Breadboard" target="_blank">solderless 830-contact breadboard</a> shifts the Pico’s 3.3 V down when programming the matrix. The PCB also includes <a href="https://en.wikipedia.org/wiki/Biasing" target="_blank">bias</a> and over-voltage-protection circuits.</p><h2>How are integrated circuit components different from discrete components?</h2><p>As the MOSbius contains only transistors, circuit elements like resistors and capacitors are wired up externally as through-hole components inserted into the breadboard. You might think that using these external components would create an imprecise approximation of the behavior of a real analog IC, which has on-chip resistors and capacitors built out of silicon rather than, say, a metal film or ceramic material.</p><p>But at signal speeds below about a megahertz, the actual issue is that these external components are <em><em>overly</em></em> precise. (Above 1 MHz, things like the stray capacitance of the breadboard begin to become an issue.) Even a cheap through-hole resistor will have an actual resistance that’s within 5 to 10 percent of the value it claims to be, and through-hole resistors with 1 percent accuracy are common. By contrast, integrated components can easily vary by 30 percent from their nominal value.</p><p>Consequently, real analog circuits have to be built with a considerable amount of internal margin. Developing the skill to do this relies on understanding what’s going on at different points within the circuit, as input signals and component values vary. And that requires making real-world measurements.</p><p class="pull-quote">The “aha” moment of seeing your circuit come to life will stay long after the equations are forgotten.</p><p>In a simulated circuit, you can click on any node and read out any parameter without affecting the circuit’s behavior in any way. With the MOSbius, you can similarly access nearly every node in a circuit, but now you face the reality that wiring up test probes to make a measurement can change the circuit’s behavior. Figuring out the most elegant way to make measurements is key for anyone hoping to see their ideas committed to silicon. <span>The </span><span>“aha” moment of seeing your circuit come </span><span>to life will stay long after the equations </span><span>and analysis are forgotten</span></p><p>MOSbius’s ability to let folks poke around inside the guts of an integrated circuit design takes inspiration from the <a href="https://spectrum.ieee.org/build-your-own-giant-555-timer-chip" target="_self">Three Fives Discrete Timer Kit</a>, which uses discrete components to re-create the workings of one of the most popular integrated circuits of all time, the<a href="https://spectrum.ieee.org/chip-hall-of-fame-signetics-ne555" target="_self"> 555</a>. You can of course <a href="https://mosbius.org/2_chapter_mosbius_555/mosbius_555.html" target="_blank">use the MOSbius to re-create a 555</a>, as well as many other demonstration circuits, starting with the “Hello world!” of hardware, <a href="https://mosbius.org/2_chapter_blinky/blinky.html" target="_blank">a blinking LED</a>.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="An illustration showing MOSFET transistors connect to the pins of a square chip. Inside the chip is a schematic of a 65x10 programmable matrix. " class="rm-shortcode" data-rm-shortcode-id="2d7f3bb15e60be3c924020d390629f74" data-rm-shortcode-name="rebelmouse-image" id="2d751" loading="lazy" src="https://spectrum.ieee.org/media-library/an-illustration-showing-mosfet-transistors-connect-to-the-pins-of-a-square-chip-inside-the-chip-is-a-schematic-of-a-65x10-progr.png?id=61320969&width=980"/><small class="image-media media-caption" placeholder="Add Photo Caption...">Metal-oxide transistors and commonly used subcircuits are connected to most of the pins of the MOSbius chip. They can also be wired together internally using a set of buses programmed using a 650-bit stream from a microcontroller. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The origin of the MOSbius was serendipitous: While preparing a set of students’ IC projects to be fabricated, we realized we had room to squeeze one more chip into the batch if we could meet the shipping deadline. Six weeks later, the MOSbius was off to production!</p><p>From this limited run—150 chips in total—we are making MOSbius kits available at a nominal price of US $150 (subject to change and just to recover our costs) to other educators interested in bringing it to their labs. We are also working on a revised version. The MOSbius can be used to make circuits that range in complexity from those suitable for undergraduates to graduate-level projects. The <a href="https://mosbius.org/0_front_matter/intro.html" target="_blank">Web site</a> has a complete set of tutorials and a <a href="https://mosbius.org/3a_experiments/experiments.html" target="_blank">lab experiments manual</a> ready to go. If you’re interested in obtaining a kit, you can <a href="https://mosbius.org/7_ordering/ordering.html" target="_blank">contact me through the site</a>.</p><p>I realize we have only a small number of kits available—we are after all a university department, not a semiconductor manufacturer—but we want to make the MOSbius more broadly available to both educators and enthusiasts in the future. The best way to make that happen is to contact me, because strong demand is something we can present to a commercial partner!</p>]]></description><pubDate>Wed, 30 Jul 2025 14:00:02 +0000</pubDate><guid>https://spectrum.ieee.org/mosbius-learning-analog-system-design</guid><category>Analog-design</category><category>Analog-ics</category><category>Integrated-circuits</category><category>Semiconductor-design</category><category>Type-departments</category><dc:creator>Peter Kinget</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-chip-mounted-on-a-printed-circuit-board-that-in-turn-is-mounted-on-a-solderless-breadboard-various-other-capacitors-and-resis.png?id=61320677&amp;width=980"></media:content></item><item><title>Reviving a 1970s Analog HP X-Y Recorder</title><link>https://spectrum.ieee.org/reviving-vintage-x-y-recorder</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-picture-of-a-large-bulky-plotter-like-device-connected-to-a-small-board-hosting-several-printed-circuit-boards-including-a-ra.png?id=61109145&width=1245&height=700&coordinates=0%2C6%2C0%2C6"/><br/><br/><p>Solid construction, elegant design, and high-precision output. Once upon a time, <a href="https://en.wikipedia.org/wiki/Hewlett-Packard" rel="noopener noreferrer" target="_blank">Hewlett-Packard</a> made test-and-measurement equipment that was beloved by working engineers. Sure, drop one of those babies on your foot and you were looking at a broken toe. But that’s a small price to pay for reliability and some character building. So when I recently came across an early 1970s HP 7041A X-Y recorder while clearing out my parents’ attic, I knew that I just had to see if I could get it up and running again.</p><h2>What is the difference between an X-Y recorder and a plotter?</h2><p><a href="https://www.hpmemoryproject.org/wb_pages/wall_b_page_13.htm" rel="noopener noreferrer" target="_blank">X-Y recorders</a> were designed to chart data from analog instruments in real time, as opposed to plotters, which plot the outputs of digital computers. The basics are the same: There’s a mechanism to raise and lower a pen, and motors to move the pen across the surface of a page. The big difference is that a plotter typically uses digital commands to control the pen’s motion, while the motion of a recorder’s pen is controlled by analog voltage inputs. </p><p>So all I needed to do was feed the HP recorder the right voltages, and I could draw anything I wanted! Only a few obstacles stood in my way.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;"> <img alt="Key components of the recorder interface including a Rapsberry Pi, expansion hat and digital-to-analog converters, QWIIC I2C connectors and a 74LS08 and LMC6484 integrated circuits." class="rm-shortcode" data-rm-shortcode-id="70805e8614f28abf23a1867f0c68606e" data-rm-shortcode-name="rebelmouse-image" id="e5317" loading="lazy" src="https://spectrum.ieee.org/media-library/key-components-of-the-recorder-interface-including-a-rapsberry-pi-expansion-hat-and-digital-to-analog-converters-qwiic-i2c-con.png?id=61109151&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">The recorder interface allows Python code written on a Raspberry Pi [bottom right] to create analog signals that are level shifted up and down to meet the different ranges required by the plotter’s x- and y- axis. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The first obstacle was getting the thing home, because my parents’ attic was in Ireland and fitting a 13-kilogram, 48-by-36-by-17-centimeter behemoth into my suitcase for my flight back to NYC wasn’t happening. About US $300 in packing materials and shipping fees solved that problem, and I was still a little ahead of the game financially compared to obtaining a similar vintage recorder from eBay, and way ahead of buying a new Bantam Tools <a href="https://bantamtools.com/products/bantam-tools-nextdraw-1117" target="_blank">NextDraw plotter</a> with a similar drawing area. (To be fair to Bantam, its plotters are sleek plug-and-play devices that can handle a much wider range of pens).</p><p>The second obstacle was that the recorder didn’t work. Once I got it home, I discovered that the <em><em>y</em></em>-axis could be adjusted manually using a knob on the control panel, but the <em><em>x</em></em>-axis was dead. The mechanism for raising and lowering the pen made a weak clunking sound and barely twitched. </p><p class="pull-quote"><span>“Had I just spent a lot of money to ship home an HP-model boat anchor?”</span></p><p>I opened up the case, which was quick work with a Phillips screwdriver—no weird security screws, no glue, no fragile plastic, no yellow stickers warning that your warranty would be voided and you’d probably get boils if you dared to look within. On the beautifully laid out printed circuit boards inside, I spotted some resistors that were clearly not part of the factory install. Were they modifications or repairs? If the latter, had they been successful or had I just spent a lot of money to ship home an HP-model boat anchor? And I had no idea how the 40-pin interface connector on the back of the recorder was supposed to be hooked up to control signals.</p><p>All these problems were solved when I found the recorder’s manual on eBay. Oh, what a manual. Not just operating instructions, but detailed illustrations for taking the recorder completely apart and putting it back together. It listed every component, with photos of the circuit boards and electronic schematics on gatefolds. And it included directions for modifying the circuitry if you wanted to measure different voltage ranges than the factory settings–extract a resistor <em><em>here</em></em> and <em><em>there</em></em> and solder in some new ones. This explained the resistors I’d spotted. In a world where licenses and software locks <a href="https://spectrum.ieee.org/why-we-must-fight-for-the-right-to-repair-our-electronics" target="_self">forbid folks from simply plugging in a replacement component</a>, the thought of a major company encouraging its customers to break out a soldering iron is mind boggling.</p><p class="ieee-inbody-related">RELATED: <a href="https://spectrum.ieee.org/why-we-must-fight-for-the-right-to-repair-our-electronics" target="_self">Why We Must Fight for the Right to Repair Our Electronics</a></p><p>Soon, the application of some<a href="https://www.starrett.com/details?cat-no=1620" target="_blank"> instrument oil</a>,<a href="https://kezeproducts.shop/product/keze-silicone-grease-waterproof-food-grade-silicone-sealant-B0DK7188RF23" rel="noopener noreferrer" target="_blank"> silicone grease</a>, and<a href="https://www.kcprofessional.com/en-us/products/wiping-and-cleaning/controlled-environments/delicate-task-dry-wipes/kimtech-science-kimwipes-delicate-task-wipes/34120" rel="noopener noreferrer" target="_blank"> Kimwipes</a> had the <em><em>x</em></em>-axis and pen lifter working again. I hooked up a variable power supply to the recorder’s connector and <em><em>slowly</em></em> brought the voltage up as I watched the pen holder move in response. This allowed me to determine the recorder’s input ranges, which turned out to be 0 to 1 volt for the <em><em>y</em></em>-axis, and 0 to 5 V for the <em><em>x</em></em>-axis, covering 25 and 38 cm of motion, respectively, with about 0.2 millimeter accuracy.</p><p>The next step was to build an interface. Although microcontrollers often have digital-to-analog capabilities built-in, there’s often only one true analog output pin. I needed two. A technique like<a href="https://en.wikipedia.org/wiki/Pulse-width_modulation" rel="noopener noreferrer" target="_blank"> pulse-width modulation</a> would let me output an analog-ish voltage on multiple pins, but typically with<a href="https://docs.arduino.cc/learn/microcontrollers/analog-output/" rel="noopener noreferrer" target="_blank"> only 8-bit resolution</a> or 256 distinct voltage levels. I needed at least 1,900 levels to match the recorder’s accuracy.</p><p class="shortcode-media shortcode-media-rebelmouse-image"> <img alt="A block diagram of the path taken by control signals from the Pi to the recorder." class="rm-shortcode" data-rm-shortcode-id="292b7719580ef594eaedb735375f5567" data-rm-shortcode-name="rebelmouse-image" id="cd996" loading="lazy" src="https://spectrum.ieee.org/media-library/a-block-diagram-of-the-path-taken-by-control-signals-from-the-pi-to-the-recorder.png?id=61109155&width=980"/> <small class="image-media media-caption" placeholder="Add Photo Caption...">The Raspberry Pi uses an expansion “HAT” and two 12-bit digital-to-analog converters commanded via I2C connectors to create 0- to 3.3-volt control signals. These are shifted to 0- to 1-V and 0- to 5-V ranges using a voltage divider and amplifier respectively, as well as a logic gate used to convert a 3.3-V digital signal that raises and lowers the pen to a 5-V level.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>So I bought two $5 Adafruit<a href="https://www.adafruit.com/product/935" rel="noopener noreferrer" target="_blank"> MCP4725 breakout boards</a>. These are 12-bit digital-to-analog converters—each providing 4,096 distinct levels—controlled over an<a href="https://en.wikipedia.org/wiki/I%C2%B2C" rel="noopener noreferrer" target="_blank"> I2C serial</a> connection, and two boards can share the same I2C bus. I connected them to a<a href="https://www.raspberrypi.com/products/raspberry-pi-1-model-b-plus/" rel="noopener noreferrer" target="_blank"> Raspberry Pi Model B+</a> I fished out of a drawer via a $6.60<a href="https://www.sparkfun.com/sparkfun-qwiic-hat-for-raspberry-pi.html?gad_source=1&gad_campaignid=17479024039&gbraid=0AAAAADsj4ETIsvzPrWRZILPBJJYuYL4lW&gclid=CjwKCAjw3f_BBhAPEiwAaA3K5EY7W2Dcff6vdxZ05A9JDZ53YuAs0DOLpBhLPfsXnEw6yKQjBOoKhBoCrqUQAvD_BwE" rel="noopener noreferrer" target="_blank"> SparkFun Qwiic HAT</a>.</p><p>The DACs put out a signal in the range of 0 to 3.3 V, so I sent one board’s output through a<a href="https://en.wikipedia.org/wiki/Voltage_divider" rel="noopener noreferrer" target="_blank"> voltage divider</a> to scale it down to 0 to 1 V for the <em><em>y</em></em>-axis. For the <em><em>x</em></em>-axis, I fed the other board’s output through an<a href="https://www.ti.com/lit/ds/symlink/lmc6484.pdf" rel="noopener noreferrer" target="_blank"> LMC6484</a> amplifier, powered by a 5-V pin from the Pi, to bring it up to 0 to 4.8 V—not quite the full range, but it’ll do until I come up with a more sophisticated interface. I brought a signal to raise and lower the pen out from one of the Pi’s GPIO pins, passing it through a<a href="https://www.ti.com/lit/ds/symlink/sn74ls08.pdf?ts=1749054414890" rel="noopener noreferrer" target="_blank"> 74LS08 AND gate IC</a> used as a cheap and cheerful 3.3- to 5-V digital level shifter.</p><p>I then wrote code on the Pi to put the plotter through its paces, using parametric equations written in<a href="https://circuitpython.org/" rel="noopener noreferrer" target="_blank"> CircuitPython</a> to draw swirling<a href="https://en.wikipedia.org/wiki/Hypotrochoid" rel="noopener noreferrer" target="_blank"> hypotrochoids</a> and other geometric curves. Ultimately, it should be possible to have the Pi accept and translate commands written in a plotter-control language such as<a href="https://en.wikipedia.org/wiki/HP-GL" rel="noopener noreferrer" target="_blank"> HP-GL</a>. Then I’ll be able to plot vector graphics and text from drawing software like<a href="https://inkscape.org/" rel="noopener noreferrer" target="_blank"> Inkscape</a>. But for now, I’m happy to just have my recorder humming away beside me, hale and hearty and built to last.</p>]]></description><pubDate>Fri, 27 Jun 2025 14:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/reviving-vintage-x-y-recorder</guid><category>Circuitpython</category><category>Plotter</category><category>Python</category><category>Raspberry-pi</category><category>Retrocomputing</category><category>Type-departments</category><category>Vintage-electronics</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-picture-of-a-large-bulky-plotter-like-device-connected-to-a-small-board-hosting-several-printed-circuit-boards-including-a-ra.png?id=61109145&amp;width=980"></media:content></item><item><title>Hack Yourself for a Better Time in VR</title><link>https://spectrum.ieee.org/diy-cybersickness-remedies</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/an-illustration-of-two-people-in-office-chairs-wearing-headsets-on-a-virtual-rollercoaster-one-is-having-a-great-time-while-the.jpg?id=60303981&width=1245&height=700&coordinates=0%2C174%2C0%2C175"/><br/><br/><p>Despite advances in headset hardware and thoughtful software design, virtual reality can still be a nauseating, dizzying, and sweaty experience for some people. From horrific rides on <a href="https://www.youtube.com/watch?v=3hyEEog-emI" rel="noopener noreferrer" target="_blank">virtual roller coasters</a> to alarming leaps with<a href="https://beatsaber.com/" rel="noopener noreferrer" target="_blank"> <em><em>Beat Saber</em></em></a>, you don’t have to talk to many people before someone shares a vomit-inducing experience.</p><p>As<a href="https://www.yorksj.ac.uk/our-staff/staff-profiles/matthew-coxon.php" rel="noopener noreferrer" target="_blank"> a psychologist at York St John University</a>, in the United Kingdom, I specialize in how wearers react to VR, and so have been in a prime position to observe the evolving approaches to the problem of cybersickness. Significant progress in hardware—including <a href="https://spectrum.ieee.org/dynamic-field-of-view-restriction-makes-virtual-reality-less-barfy" target="_self">improved field of view</a>, <a href="https://spectrum.ieee.org/virtual-reality-head-set-8k" target="_self">higher resolution</a>, and <a href="https://spectrum.ieee.org/breaking-the-latency-barrier" target="_self">reduced latency</a>—haven’t completely solved the issues. Software designs like adding virtual noses in the display, visual attention tasks aimed at redirecting the user’s focus, and enhanced visual realism have all shown promise in the lab but have proven frustratingly difficult to replicate consistently in the real world. </p><p>But a new wave of research may take the pressure off engineers and developers and hand it back to the consumer. The research focuses on DIY techniques that allow users to cope better with VR. Here are three promising approaches.</p><h2>#1: Stand Like a Flamingo</h2><p>There are different theories about the underlying causes of cybersickness. One idea focuses on postural instability. In real life, our brains interact with our vestibular and proprioceptive systems, which give us a general sense of where our heads or bodies are in the world and create a physiological response that maintains our balance and stops us from falling over.</p><p>Maintaining your balance is harder in virtual reality; the world looks like it’s moving, but your body doesn’t feel it. It turns out that your ability to balance is a good predictor of your susceptibility to cybersickness. When researchers studied figure skaters, soccer players, and <a href="https://en.wikipedia.org/wiki/Wushu_(sport)" rel="noopener noreferrer" target="_blank">wushu fighters</a>, for example, the ones most resistant to cybersickness were the figure skaters.</p><p>So <a href="https://link.springer.com/article/10.1007/s10055-024-01097-7" rel="noopener noreferrer" target="_blank">researchers in South Korea</a> explored whether training people to balance in VR, to give them greater postural stability, would also reduce cybersickness. Participants trained for 3 minutes, twice a day, for five days. In the control group, participants simply stood and watched an experience specifically chosen for its sickness-inducing movement patterns. In the training group, participants watched while they stood on one leg with their arms outstretched—the flamingo pose—for 30 seconds, followed by 30 seconds of standing on two legs, repeated three times.</p><p>At the end of the week, both groups reported having fewer symptoms of cybersickness while viewing the training patterns. The participants were then shown new content: a VR experience about space exploration. While the control group reported feeling almost as sick as before the training, those who had been standing like a flamingo reported much less sickness in the new experience, with statistically significant reductions in disorientation. Learning to balance in VR meant they could better handle other VR experiences, not just the one they’d become accustomed to.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt=" 3 rows of instructional graphics showing a person performing a flamingo pose with raised leg and outstretched arms, aligning their body posture with a shifting virtual horizon, and wearing a vestibular stimulator behind the ear along with a VR headset. " class="rm-shortcode" data-rm-shortcode-id="856fc77eb153d16086833d2439e17f11" data-rm-shortcode-name="rebelmouse-image" id="a2c56" loading="lazy" src="https://spectrum.ieee.org/media-library/3-rows-of-instructional-graphics-showing-a-person-performing-a-flamingo-pose-with-raised-leg-and-outstretched-arms-aligning-th.png?id=60303998&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">New techniques that show promise in reducing cybersickness include balance exercises [top], leaning into apparent motion in virtual environments [middle], and wearing devices that stimulate the vestibular system [bottom].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">GyGinfographics.com</small></p><h2>#2: Lean In</h2><p>If standing like a flamingo doesn’t sound appealing, then you can try being responsive to the motion in the virtual environment. This technique involves postural alignment, and like the flamingo pose, it builds on the idea that postural instability is an important factor in cybersickness.</p><p>If you’ve ever been on a roller coaster, you’ll have an intuition as to how this works. As the roller coaster curves to the right, you oppose the motion by leaning to the left; as it heads to the left, you lean to the right. While that feels like the most natural thing to do, it’s actually unhelpful for motion sickness. You should instead lean “into” the turn—leaning right if you’re going right and left if you’re going left, just as a motorcyclist does when taking a turn at speed. </p><p>Leaning into the motion appears to do the same in VR. <a href="https://arxiv.org/pdf/2503.04217" rel="noopener noreferrer" target="_blank">Researchers in the Netherlands and Greece</a> teamed up to explore this. In their study, they opted for virtual driving simulations on a Meta Quest 3 headset. What mattered was how closely the participants aligned their bodies to the implied motion. Those who maintained closer postural alignment with the virtual motion experienced significantly less cybersickness, with the likelihood of cybersickness worsening with increasing misalignment.</p><h2>#3: Feel the Vibes </h2><p>Don’t fancy standing like a flamingo or leaning all over the place? Well, how about vibrating the bones in your skull? This solution requires pressing into service a type of wearable tech that isn’t yet commonly available—a vestibular stimulation device, which sends little vibrations to the inner ear. Researchers are testing these devices to treat seasickness and the symptoms of Parkinson’s disease. Companies like <a href="https://otolithlabs.com/" rel="noopener noreferrer" target="_blank">Otolith Labs</a> are now seeking approval to sell their products beyond the research community. <a href="https://www.frontiersin.org/journals/virtual-reality/articles/10.3389/frvir.2024.1478106/full" rel="noopener noreferrer" target="_blank">Research at the University of Newcastle, in Australia</a>, tested whether the devices could ease VR cybersickness by reducing the mismatch between vestibular cues and visual cues. In VR, your eyes are telling you that your body is moving, but your body is convinced that it’s not, and the mismatch is just too much for the mind to cope with. By vibrating the inner ear with a stimulator, the thinking goes, people may become more tolerant of the mismatch.</p><p class="pull-quote"><span>Our ability to balance is a good predictor of cybersickness.</span></p><p>To test the idea, the researchers made use of one of the most sickening experiences you can have in VR: a virtual roller coaster. Participants experienced the roller coaster with the vestibular device attached to the mastoid bone behind the right ear, and set to no vibration, a low vibration setting, or the medium setting.</p><p>Participants then rode the VR roller coaster for up to 15 minutes, verbally reporting their levels of nausea each minute. The control group had no vibration device, another group had the device on a low setting, and a final group had the device on a medium setting. The control group averaged 478 seconds in the ride before they chose to end the experiment, or staff ended the experiment because of high levels of reported nausea. Those with the low vibration setting lasted considerably longer, at 568 seconds, and those with the medium setting lasted 623 seconds.</p><h2>Over to the Consumer</h2><p>Of course, none of these approaches is guaranteed to work. They’re based on pilot projects involving small numbers of participants and awaiting replication. What makes them different from the past is that anyone can try at least the first two at home right now, and there’s not a huge hurdle to eventually trying out the third.</p><p>At the end of the day, cybersickness has many possible causes and associations. Perhaps future headsets will reduce the problem. Perhaps well-designed VR experiences will help, too. But the most promising path forward is probably a combination of engineering solutions, design solutions, and user-initiated approaches—such as leaning in, standing like a flamingo, and vibrating those bones. Only time will tell, but maybe one day VR’s sickening curse will be broken.</p>]]></description><pubDate>Fri, 23 May 2025 13:00:04 +0000</pubDate><guid>https://spectrum.ieee.org/diy-cybersickness-remedies</guid><category>Cybersickness</category><category>Type-departments</category><category>Virtual-reality</category><category>Vr</category><dc:creator>Matthew Coxon</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/an-illustration-of-two-people-in-office-chairs-wearing-headsets-on-a-virtual-rollercoaster-one-is-having-a-great-time-while-the.jpg?id=60303981&amp;width=980"></media:content></item><item><title>Put an Old-School BBS on Meshtastic Radio</title><link>https://spectrum.ieee.org/run-a-meshtastic-bbs</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-cutaway-view-of-an-enclosure-showing-a-radio-transceiver-raspberry-pi-and-arduino-nano-a-servo-motor-is-attached-to-a-flag.jpg?id=60011688&width=1245&height=700&coordinates=0%2C425%2C0%2C426"/><br/><br/><p>In the 1980s and 1990s, online communities formed around tiny digital oases called bulletin-board systems. Often run out of people’s homes and accessible by only one or two people at a time via dial-up modems, these BBSs let <a href="https://spectrum.ieee.org/bulletin-board-system-bbs-history" target="_self">people exchange public and private messages, play games, and share files</a> using simple menus and a text-based interface. Today, there is an uptick in interest in BBSs as a way to create idiosyncratic digital spaces away from the glare of large social-media platforms like <a href="https://www.facebook.com/IEEE.Spectrum/" rel="noopener noreferrer" target="_blank">Facebook</a>,<a href="https://x.com/IEEESpectrum" rel="noopener noreferrer" target="_blank"> X</a>, and<a href="https://bsky.app/profile/ieeespectrum.bsky.social" rel="noopener noreferrer" target="_blank"> Bluesky</a>. <a href="https://www.telnetbbsguide.com/bbs/list/brief/" rel="noopener noreferrer" target="_blank">Today’s BBSs are typically accessed over the Internet, </a>rather than dial-up connections. But their old standalone mojo is possible thanks to one of the hottest new radio technologies: <a href="https://meshtastic.org/" rel="noopener noreferrer" target="_blank">Meshtastic</a>.</p><p>Indeed, this article is really the latest installment in what has become an accidental series that I’ll call “Climbing the LoRa Stack.” LoRa <a href="https://spectrum.ieee.org/build-a-twoway-pager-with-lora" target="_self">first appeared on Hands On’s radar in 2020</a>, when enthusiasts realized that the long-range, low-bandwidth protocol had a lot of potential beyond just machine-to-machine Internet of Things connections, such as building person-to-person text messagers. Then last year <a href="https://spectrum.ieee.org/build-iot-apps-with-meshtastic" target="_self">we talked about the advent of Meshtastic</a>, which adds mesh-networking capabilities to LoRa, allowing devices to autonomously create wireless networks and exchange data over a much larger area. In that article, I wondered what kind of interesting applications might be built on top of Meshtastic—and that brings us to today.</p><p>Created by <a href="https://www.thecommschannel.com/" rel="noopener noreferrer" target="_blank">the Comms Channel</a>, the open source <a href="https://github.com/TheCommsChannel/TC2-BBS-mesh" rel="noopener noreferrer" target="_blank">TC2-BBS</a> software was first released last summer. It’s a set of Python scripts that relies on just two additional libraries: one for talking to Meshtastic radios over a USB connection and one that helps manage internal data traffic. TC2-BBS doesn’t require a lot of computing power because the low-bandwidth limits of LoRa mean it’s never handling much data at any given time. All of this means the BBS code is very portable and you can run it on something as low-powered as a <a href="https://www.raspberrypi.com/products/raspberry-pi-zero/" rel="noopener noreferrer" target="_blank">Raspberry Pi Zero.</a></p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="Major components of the BBS Meshtastic radio" class="rm-shortcode" data-rm-shortcode-id="22a18d57f038fcc1576f67e6ebe80789" data-rm-shortcode-name="rebelmouse-image" id="abcbb" loading="lazy" src="https://spectrum.ieee.org/media-library/major-components-of-the-bbs-meshtastic-radio.png?id=60011708&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The BBS system uses a WisBlock Meshtastic radio with a status display [middle left and center], which can communicate wirelessly using LoRa and bluetooth antennas [top]. A servo moves a physical flag under the control of an Arduino Nano [middle right and bottom], while a Raspberry Pi runs the BBS Python software.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The current TC2-BBS feature set is minimal, albeit under active development. There’s no option for sharing files, the interface is basic even by BBS standards, and there are no “<a href="https://www.pcmag.com/news/the-forgotten-world-of-bbs-door-games" rel="noopener noreferrer" target="_blank">door games</a>,” which let visitors play what were typically turn-based text adventures or strategy games. On the other hand TC2-BBS does have some features from the more advanced bulletin-board systems of yore, such as the ability to store-and-forward email among other BBSs, similar to <a href="https://en.wikipedia.org/wiki/FidoNet" rel="noopener noreferrer" target="_blank">the FidoNet network</a>, which flourished in the early 1990s until it was supplanted by the Internet. And in a nod to the whimsy of door games, the TC2-BBS system does have an option that lets users ask for a fortune-cookie-style aphorism, à la the Unix <a href="https://en.wikipedia.org/wiki/Fortune_(Unix)" rel="noopener noreferrer" target="_blank">fortune</a> command. And of course, anyone can access it at any time without having to worry about a busy phone line.</p><p>I installed the software on a spare <a href="https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/" rel="noopener noreferrer" target="_blank">Raspberry Pi 3</a>, following the simple instructions on GitHub. There is a <a href="https://spectrum.ieee.org/raspberry-pi-cluster-computer" target="_self">Docker</a> image, but because I was dedicating this Pi to the BBS, I just installed it directly. For the radio hardware, I hooked the Pi up to a <a href="https://store.rokland.com/products/rak-wireless-wisblock-meshtastic-starter-kit" rel="noopener noreferrer" target="_blank">RAKwireless WisBlock</a>, which runs Meshtastic out of the box. In addition to a LoRa antenna, the WisBlock also has a Bluetooth antenna that allows for easy configuration of the radio via a <a href="https://meshtastic.org/docs/software/" rel="noopener noreferrer" target="_blank">smartphone app</a>.</p><p class="pull-quote"><span>Anyone can access it at any time without having to worry about a busy phone line</span></p><p><span></span>The biggest hiccup was power: Normally the WisBlock radio is powered via its USB connection, but my attached Pi couldn’t meet the radio’s needs without triggering low-voltage warnings. So I powered the WisBlock separately through a connector normally reserved for accepting juice from a solar panel.</p><p>Soon I had <em><em>IEEE Spectrum</em></em>’s TC2-BBS up and running and happily talking via Meshtastic with a <a href="https://www.tindie.com/products/harukitoreda/heltxt-standalone-meshtastic-communicator/" target="_blank">HelTXT communicator</a> I’d bought for my earlier Hands On experiments. Now anyone within three hops of <em><em>Spectrum</em></em>’s midtown Manhattan office on New York City’s emerging Meshtastic network can leave a message by sending “hello” to our node, advertised on the Meshtastic network as IEEE Spectrum BBS.</p><p>But of course, just like the BBS’s of old, it was going to take a while for people to realize it was there and start leaving messages. I could monitor the BBS for visitors via a display connected to the Pi, but after a little poking around in the Python scripts, I realized I could do something more fun. By using the <a href="https://pypi.org/project/RPi.GPIO/" target="_blank">RPi.GPIO library</a> and adding a few lines of code at the point where the BBS stores board messages in memory, I set the Pi to pulse one of its general-purpose input/output (GPIO) pins on and off for a moment every time a new message was posted.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A block diagram of the BBS Meshtastic radio" class="rm-shortcode" data-rm-shortcode-id="0695e625d900589d97d215d8e2671483" data-rm-shortcode-name="rebelmouse-image" id="eb284" loading="lazy" src="https://spectrum.ieee.org/media-library/a-block-diagram-of-the-bbs-meshtastic-radio.png?id=60011790&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The Raspberry Pi sends and receives serial data from the WisBlock Meshtastic radio, and it sends pulses via its GPIO header to the Arduino Nano when a post is added to the bulletin-board database. When the Nano receives a signal, it raises a physical flag until the reset button is pushed</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>I fished an <a href="https://store.arduino.cc/products/arduino-nano" rel="noopener noreferrer" target="_blank">Arduino Nano</a> out of my drawer and hooked it up to a servo, a push button, and the Pi’s GPIO pin. The Nano listens for an incoming pulse from the Pi. When the Nano hears one, it moves the arm of the servo through 90 degrees, raising a little red flag. Pressing the button to acknowledge the flag lowers the notification flag again and the Nano resumes listening for another pulse. This eliminates the need to keep the Pi plugged into a display, and I can check to see what the new message is via my HelTXT radio or smartphone.</p><p>So please, if you’re in New York City and have a Meshtastic radio, drop by our new/old digital watering hole and leave a message! As for me, I’m going to keep climbing up the LoRa stack and see if I can write one of those door games.</p>]]></description><pubDate>Mon, 28 Apr 2025 15:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/run-a-meshtastic-bbs</guid><category>Arduino-nano</category><category>Bbs</category><category>Lora</category><category>Meshtastic</category><category>Raspberry-pi</category><category>Type-departments</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/a-cutaway-view-of-an-enclosure-showing-a-radio-transceiver-raspberry-pi-and-arduino-nano-a-servo-motor-is-attached-to-a-flag.jpg?id=60011688&amp;width=980"></media:content></item><item><title>Listen to Weather Satellites—or the Universe—With the Versatile Discovery Dish</title><link>https://spectrum.ieee.org/software-defined-radio</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-satellite-dish-mounted-on-a-portable-mast-on-a-building-roof-in-front-of-the-new-york-city-skyline-a-cable-from-the-dish-conn.png?id=58540271&width=1245&height=700&coordinates=0%2C412%2C0%2C413"/><br/><br/><p>
	The U.S. government recommends that everyone have <a href="https://www.ready.gov/kit" rel="noopener noreferrer" target="_blank">a disaster kit that includes a weather radio</a>. These radios tune to<a href="https://www.weather.gov/nwr" rel="noopener noreferrer" target="_blank"> a nationwide network</a> run by the <a href="https://www.noaa.gov/" rel="noopener noreferrer" target="_blank">National Oceanic and Atmospheric Administration</a> (NOAA) and the <a href="https://www.fcc.gov/emergency-alert-system" target="_blank">Federal Communications Commission</a> that provides alerts about hazardous weather and other major emergencies. Such broadcasts can be a lifeline when other communication systems go out. But what if you could step it up and get not just audio information but also images, charts, and written reports, even while completely off the grid?
</p><p>
	Turns out you can, thanks to modern geosynchronous weather satellites, and it’s never been easier than with KrakenRF’s new<a href="https://www.crowdsupply.com/krakenrf/discovery-dish" rel="noopener noreferrer" target="_blank"> Discovery Dish</a> system. This system involves buying a US $115 70-centimeter-diameter parabolic antenna, and then one of a number of $109 swappable feeds that cover different frequency bands. To try out the system, I got one feed suitable for picking up<a href="https://github.com/krakenrf/discoverydish_docs/wiki/07.-SatDump-L%E2%80%90Band-and-S%E2%80%90Band-Satellite-Setup" rel="noopener noreferrer" target="_blank"> L-band satellite transmissions</a>, and another tuned for detecting the <a href="https://github.com/krakenrf/discoverydish_docs/wiki/08.-Hydrogen-Line-Setup" rel="noopener noreferrer" target="_blank">radio emissions from galactic hydrogen clouds</a>.
</p><p>
	The parabolic antenna comes as three metal petals plus some ancillary bits and pieces for holding the feed and mounting the dish on a support. Everything is held together with nuts and bolts, so it can be dissembled and reassembled, and the petals are light and stack together nicely—you could pack them in a suitcase if you ever wanted to travel and sample a different sky.
</p><h3></h3><br/><div class="rblad-ieee_in_content"></div><p>
	In addition to KrakenRF’s dish and feed, you’ll also need <a href="https://github.com/krakenrf/discoverydish_docs/wiki/03.-Additional-Hardware-Required#sdr-bias-tee" rel="noopener noreferrer" target="_blank">a software-defined radio (SDR) receiver and a computer</a> with software to decode the signals coming from the feed. Many SDRs can be used, but you’ll need one that comes with what’s known as a <a href="https://en.wikipedia.org/wiki/Bias_tee" rel="noopener noreferrer" target="_blank">bias tee</a> built in, or you’ll need to add a bias tee yourself. The bias tee supplies power to the low-noise amplifiers used in KrakenRF’s feeds. I used the recommended $34 <a href="https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/" rel="noopener noreferrer" target="_blank">RTL-SDR Blog V3</a> (which comes as a USB dongle), with my MacBook, but you can use a PC or Raspberry Pi as a host computer as well.
</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="Discovery Dish and feed components." class="rm-shortcode" data-rm-shortcode-id="b631923a7e30368ea9591e4818d08141" data-rm-shortcode-name="rebelmouse-image" id="8bbec" loading="lazy" src="https://spectrum.ieee.org/media-library/discovery-dish-and-feed-components.png?id=58540948&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The Discovery Dish is formed by three petals [top center] that bolt together with other mounting gear [top left and right]. Feeds are mounted on a pole and adjusted to be level with the dish’s focus [bottom]. Different feeds allow different applications, such as 1680 megahertz for receiving L-band satellite transmissions or 1420 MHz for radio astronomy. A software-defined radio receiver decodes signals.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost </small>
</p><p>
<span>After I inserted the L-band feed into the dish, it was time to look for a satellite. Following KrakenRF’s guide, I used Carl Reinemann’s</span><a href="https://usradioguy.com/dishpointer/" target="_blank"> Web app</a><span> to print out a list of azimuths and elevations for geosynchronous weather satellites based on my location. Then I headed up to the roof of my New York City apartment building with </span><a href="https://www.buddipole.com/buddipole.html" target="_blank">the mast from my portable ham radio antenna</a><span> to provide a mount. And then I headed straight back down again when I realized that it was too blustery for a temporary mount. The dish is perforated with holes to reduce air resistance, but there was still a real risk of the wind toppling the portable mast and sweeping it over the side of the building.</span>
</p><p>
<span></span>A couple of days later, I returned to calmer conditions, and with my iPhone employed as a compass and inclinometer, I pointed the dish at the coordinates for the GOES-East weather satellite. This satellite hangs over the equator at a longitude of 75 degrees west, close to that of New York City. A second satellite, GOES-West, sits at 135 degrees west, over the Pacific Ocean.
</p><p>
	These GOES satellites are fourth-generation spacecraft in a long line of invaluable weather satellites that have been operated by NOAA and the <a href="https://www.weather.gov/" target="_blank">U.S. National Weather Service</a> for <a href="https://www.nesdis.noaa.gov/news/40-years-of-goes-the-anniversary-of-goes-1" target="_blank">50 years</a>. The first of the current generation, known as <a href="https://www.goes-r.gov/" rel="noopener noreferrer" target="_blank">GOES-R</a>, launched in 2016 and features a number of upgrades. For radio enthusiasts, the most significant of the upgrades are its downlink broadcast capabilities.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;">
<img alt="A satellite view of the East Coast of the USA" class="rm-shortcode" data-rm-shortcode-id="fcbe530e909a4f8e53129428b31f58b4" data-rm-shortcode-name="rebelmouse-image" id="b8e62" loading="lazy" src="https://spectrum.ieee.org/media-library/a-satellite-view-of-the-east-coast-of-the-usa.jpg?id=58554084&width=980"/>
</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-float-left rm-resized-container rm-resized-container-25" data-rm-resized-container="25%" style="float: left;">
<img alt="Satellite images of continents beneath swirls of cloud." class="rm-shortcode" data-rm-shortcode-id="d1843680712f1a81ebef1b68dda4ae37" data-rm-shortcode-name="rebelmouse-image" id="e4300" loading="lazy" src="https://spectrum.ieee.org/media-library/satellite-images-of-continents-beneath-swirls-of-cloud.jpg?id=58553363&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The current GOES satellites transmit images taken in multiple wavelengths and scales. A false-color full-disk image [above] is captured in an infrared band that detects moisture and ash; the image at top shows the eastern United States in an approximation of what you would see with the naked eye. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Stephen Cass/NOAA</small>
</p><p>
	The GOES-R satellites transmit data at 400 kilobits per second, versus a maximum of 128 Kb/s for previous generations, allowing<a href="https://www.noaasis.noaa.gov/GOES/HRIT/products.html" rel="noopener noreferrer" target="_blank"> more information to be included</a>, such as images from other weather satellites around the globe. The satellites also merge satellite-image data and emergency and weather information into a single link that can be simultaneously picked up by one receiver, instead of needing two as previously.</p><p>For fine dish-pointing adjustments, I was guided by watching the signal in the frequency spectrum analyzer built into <a href="https://www.satdump.org/about/" rel="noopener noreferrer" target="_blank">SatDump</a>, an open-software package designed for decoding satellite transmissions picked up by SDR receivers. I groaned when no matter how I adjusted the dish, I could barely get the signal above the noise. But much to my surprise, I nonetheless started seeing an image of the Earth begin to form on the display.
</p><p>
	The original GOES-R design specified that receiving ground dishes would have to be <a href="https://www.noaasis.noaa.gov/GOES/HRIT/broadcast.html" rel="noopener noreferrer" target="_blank">at least one meter</a> in diameter, but the folks at KrakenRF have built their feeds around <a href="https://www.mouser.com/datasheet/2/412/QPL9547_Data_Sheet-1854301.pdf" rel="noopener noreferrer" target="_blank">a new ultralow-noise amplifier</a> that can make the weaker signal gathered by their smaller dish usable. Soon I had pictures of the Earth in multiple wavelengths, both raw and in false color, with and without the superimposed outlines of states and countries, plus a wide assortment of other charts plotting rainfall and wind speeds for different areas.
</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A line drawing of the Atlantic ocean with a grid of wind-speed markers." class="rm-shortcode" data-rm-shortcode-id="01b037d57aeffc147b889d13e1ad88ab" data-rm-shortcode-name="rebelmouse-image" id="e854b" loading="lazy" src="https://spectrum.ieee.org/media-library/a-line-drawing-of-the-atlantic-ocean-with-a-grid-of-wind-speed-markers.png?id=58548735&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The GOES satellites also broadcast information uploaded from the U.S. National Weather Service, such as this chart of marine wind speeds.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">Stephen Cass/National Weather Service</small>
</p><p>
	My next test was to do a spot of radio astronomy, swapping out the L-band feed for the galactic hydrogen emission feed. Getting results was a much longer process: First I had to point the dish at a bit of the sky where I knew the Milky Way <em><em>wasn’t</em></em> to obtain baseline data (done with the help of the <a href="https://stellarium-web.org/" rel="noopener noreferrer" target="_blank">Stellarium astronomy site</a>). Then I pointed the dish straight up and waited for the rotation of the Earth to bring the Milky Way into view. Pulling the signal out of the noise is a slow process—you have to integrate 5 minutes of data from the receiver—but eventually a nice curve formed that indicated I was still safely within the embrace of the spiral arms of our home galaxy. Much more sophisticated radio astronomy <em><em>can</em></em> be done, especially if you mount the dish on a scanning platform to generate 2D maps. But I swapped back the L-band feed just to marvel at how our planet looks from 36,000 kilometers away!
</p>]]></description><pubDate>Fri, 28 Mar 2025 14:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/software-defined-radio</guid><category>Goes</category><category>Noaa</category><category>Satellite</category><category>Sdr</category><category>Software-defined-radio</category><category>Type-departments</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-satellite-dish-mounted-on-a-portable-mast-on-a-building-roof-in-front-of-the-new-york-city-skyline-a-cable-from-the-dish-conn.png?id=58540271&amp;width=980"></media:content></item><item><title>This $100 Muon Detector Lets You Harness the Cosmos</title><link>https://spectrum.ieee.org/diy-muon-tomography</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/inside-a-mine-tunnel-a-tripod-supports-a-rectangular-enclosure-a-cutaway-diagram-shows-two-sensor-boards-separated-by-layer-of.png?id=56565917&width=1245&height=700&coordinates=0%2C412%2C0%2C413"/><br/><br/><p>In the mid-1960s, the Nobel Prize–winning physicist Luis Alvarez had a wild idea. He proposed using muons, highly penetrating subatomic particles created when cosmic rays strike Earth’s atmosphere, to search for hidden chambers within one of the pyramids of Giza.</p><p>These muon particles are heavyweight cousins of electrons that travel close to the speed of light. They can penetrate through many meters of solid rock, including the limestone and granite blocks used to build the pyramids. But some of the muons will be absorbed by this dense material, meaning that they can be used to essentially “X-ray” a pyramid, revealing its inner structure. So in 1968, Alvarez and his colleagues began making muon measurements from a chamber located at the base of the Pyramid of Khafre.</p><p>They didn’t find a hidden chamber, but they did confirm the feasibility of what has come to be called <a href="https://en.wikipedia.org/wiki/Muon_tomography" rel="noopener noreferrer" target="_blank">muon tomography</a>. Physicists have since used the technique to discover <a href="https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.2.023017" rel="noopener noreferrer" target="_blank">hidden access shafts above tunnels</a>, <a href="https://www.nature.com/articles/ncomms4381" rel="noopener noreferrer" target="_blank">study magma chambers within volcanos</a>, and even <a href="https://spectrum.ieee.org/harnessing-cosmic-rays-to-peer-into-fukushimas-deadly-reactors" target="_self">probe the damaged reactors at Fukushima</a>. And, in 2017, muon measurements finally <a href="https://spectrum.ieee.org/muon-imaging-finds-hidden-chamber-in-great-pyramid-of-giza" target="_self">revealed a hidden chamber in one of the pyramids of Giza</a>—just not the pyramid that Alvarez had chosen to explore.</p><p>You too can perform similar experiments with equipment that you can build yourself for only US $100 or so.</p><p>While some well-documented designs are available for low-cost muon detectors (in particular, the <a href="http://cosmicwatch.lns.mit.edu/" rel="noopener noreferrer" target="_blank">Cosmic Watch</a> project from MIT), I decided to pursue a simpler—and slightly cheaper—approach. I purchased two <a href="https://www.amazon.com/gp/product/B0B45WCBRM/" rel="noopener noreferrer" target="_blank">Geiger-counter kits</a>, each costing only $23. Although it’s called a “kit,” this board in fact comes fully assembled minus the key component: a Geiger-Müller (or GM) tube for detecting ionizing radiation. It also comes with no documentation.</p><p>The lack of documentation wasn’t a problem once I found <a href="https://www.richardmudhar.com/blog/2023/10/cajoe-ebay-geiger-counter-kit/" rel="noopener noreferrer" target="_blank">a good source for information about this board</a>—including a pointer to<a href="https://master.dl.sourceforge.net/project/geigerlog/Articles/GeigerLog-Radiation-v1.1%28CAJOE%29-Support-v1.0.pdf" rel="noopener noreferrer" target="_blank"> valuable instructions</a> for how to set the tube’s anode voltage.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="Key components for the muon detector" class="rm-shortcode" data-rm-shortcode-id="6d4591bc5cef309c8117827e4543c318" data-rm-shortcode-name="rebelmouse-image" id="a9adf" loading="lazy" src="https://spectrum.ieee.org/media-library/key-components-for-the-muon-detector.png?id=56566029&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The muon detector uses two Geiger-Müller tubes [top], each inserted into a sensor board [bottom right]. Both boards are connected to an Arduino Nano microcontroller [bottom left].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>For the GM tubes, I decided to buy what I understood to be good ones: Russian-made <a href="https://mightyohm.com/blog/2014/11/a-spotters-guide-to-the-sbm-20-geiger-counter-tube/" rel="noopener noreferrer" target="_blank">SBM-20 tubes</a>. Many of these are listed on eBay by sellers in Ukraine, but I was able to obtain a pair of such tubes from a supplier in the United States for just $49.</p><p>“Why two kits and two tubes?” you might ask. It’s because GM tubes don’t react just to muons. Most of the time, they’re triggered by ionizing particles given off by radioactive substances in the environment, such as the daughter products of radon in the air.</p><p class="pull-quote"><span>Proving that the results reflected the flux of cosmic-ray muons wasn’t difficult.</span></p><p><span></span>To distinguish the high-energy cosmic-ray muons from the other, lower-energy particles isn’t hard, though. Just apply what physicists call the <a href="https://en.wikipedia.org/wiki/Coincidence_method" target="_blank">coincidence method</a>: Detect only when two nearby tubes are triggered practically simultaneously, meaning one particle has barreled through both tubes. The two tubes in my device are separated by <a href="https://www.amazon.com/gp/product/B083GNJMXZ" target="_blank">25-millimeter spacers</a>, making it unlikely that a particle coming from a nearby radioactive decay would be energetic enough to pass through both tubes. I reduced the likelihood even more by placing a layer of <a href="https://www.amazon.com/gp/product/B09WDWHK1X/" rel="noopener noreferrer" target="_blank">fishing-sinker lead</a> between the tubes.</p><p>To turn the stacked pair of GM counters into a coincidence detector, I hooked up the output of each board (oddly labeled VIN, which usually means a pin for a voltage supply input!) to a spare <a href="https://www.arduino.cc/en/Guide/ArduinoNano" rel="noopener noreferrer" target="_blank">Arduino Nano</a>, programmed to record a hit only when one board registers a count within 1 millisecond of the other. Naturally this means the detector can recognize only muons with trajectories roughly aligned with the plane of the GM tubes so that the muons pass through both tubes.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A diagram showing the outlines of two tubes separated by a thin layer of lead. Red lines pass through both tubes and the lead, while green lines stop inside one of the tubes or within the lead. A chart below shows a red line following a curve from 1.1 muon counts per minute at zenith angle of 0 degrees to 0 zero counts per minute at a zenith angle of 90 degrees. Black measurement bars follow the red line closely, except toward 90 degrees where they show a muon flux of 0.1 counts per minute above zero. " class="rm-shortcode" data-rm-shortcode-id="60d94e422c1fb04c49c56e1fd6594690" data-rm-shortcode-name="rebelmouse-image" id="62974" loading="lazy" src="https://spectrum.ieee.org/media-library/a-diagram-showing-the-outlines-of-two-tubes-separated-by-a-thin-layer-of-lead-red-lines-pass-through-both-tubes-and-the-lead-w.png?id=56566076&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">Geiger-Müller tubes are activated by ionizing radiation, but unlike cosmic-ray muons [red particles], most terrestrial sources [green particles] are not powerful enough to travel through the detector’s two tubes. By registering only activations that occur almost simultaneously, we can plot the muon flux as a function of the angle from vertical of the detector, with the observed data following the predicted model closely</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>Proving to myself that the results indeed reflected the flux of cosmic-ray muons wasn’t difficult: I just measured the count rate as a function of how far away from vertical my detector was oriented. You see, the flux of cosmic-ray muons coming in vertically from the sky is greater than the flux of muons traveling horizontally. Between these extremes, the flux should have a cosine-squared dependence on the angle as the detector’s plane rotates from vertical to horizontal.</p><p>So I set about counting events with my device oriented at different angles from vertical, allowing at least 12 hours for each measurement. The results were pretty consistent with the expected cosine-squared variation. For example, when completely horizontal, the detector registered a value that was less than 10 percent of that obtained when vertical, but it wasn’t zero.</p><p>Getting nonzero muon counts even when horizontal isn’t so surprising. With only a 2.5-centimeter separation between the two 1-cm-diameter tubes, my detector’s angular resolution is pretty broad (±22 degrees). So even when I set the unit to sense horizontal flux, it was surely detecting muons coming in from as much as 22 degrees above the horizon.</p><p>With a working muon detector in hand, I set off to probe the Earth—or at least a small part of it—by visiting the <a href="https://historicsites.nc.gov/all-sites/reed-gold-mine" rel="noopener noreferrer" target="_blank">Reed Gold Mine</a>, in Midland, N.C., the first commercial gold mine in the United States. I spent about two and a half hours in the mine, making five 30-minute measurements. I easily detected the increasingly thick layer of rock above the mine’s main horizontal tunnel. My detector was even able to sense the presence of a vertical shaft at one spot, as the absence of rock allowed more muons to reach me than I measured nearby in the tunnel.</p><p>These measurements take a long time because you need to accumulate enough counts to provide reasonable statistical precision. So you’ll need patience. But it’s not a bad way to harness the power of the cosmos, even deep underground!</p><p><em>This article appears in the March 2025 print issue as “See the World With Muons.”</em></p>]]></description><pubDate>Mon, 24 Feb 2025 15:00:04 +0000</pubDate><guid>https://spectrum.ieee.org/diy-muon-tomography</guid><category>Arduino</category><category>Geiger-counter</category><category>Muons</category><category>Remote-sensing</category><category>Tomography</category><category>Type-departments</category><dc:creator>David Schneider</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/inside-a-mine-tunnel-a-tripod-supports-a-rectangular-enclosure-a-cutaway-diagram-shows-two-sensor-boards-separated-by-layer-of.png?id=56565917&amp;width=980"></media:content></item><item><title>Build a Perfect Cryptographic Machine</title><link>https://spectrum.ieee.org/diy-one-time-pad-machine</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-cutaway-diagram-of-a-boxy-device-with-a-power-supply-and-some-electronics-boards-inside-a-receipt-printer-two-leds-a-switch.png?id=55997357&width=1245&height=700&coordinates=0%2C507%2C0%2C507"/><br/><br/><p>Like many nerds, I have an interest in cryptography rooted in the wartime exploits of codebreaker and <em><em>Ur</em></em>-computer scientist <a href="https://spectrum.ieee.org/turing-and-the-test-of-time" target="_self">Alan Turing</a>. So I’ve followed with interest <em><em>IEEE Spectrum’s</em></em> reporting on the burgeoning field of <a href="https://spectrum.ieee.org/post-quantum-cryptography-2668949802" target="_self">postquantum cryptography</a>. These techniques are designed to frustrate even the immense potential of quantum computing, a technology light-years beyond the electromechanical bombe that Turing used to break the German Enigma cipher. I’m sure those new cryptographic methods will work just fine. But there is one encryption scheme, known even in Turing’s time, that is mathematically secure against not just quantum computers but <em><em>any</em></em> computer that will ever be invented: the one-time pad.</p><p>A one-time pad is a series of random letters or numbers—typically 250 digits. The sender and receiver each have a copy of the pad, which is used for both encryption and decryption, following some <a href="https://ciphermachinesandcryptology.com/papers/one_time_pad.pdf" rel="noopener noreferrer" target="_blank">simple but strict rules for pen and paper</a>. It’s a cipher in which the key changes in an utterly unpredictable way after each character. Without predictability, there’s nothing for an attacking computer to get its teeth into.</p><p>However, even the most junior codebreaker in possession of two messages encrypted with the same pad would be able to strip off the encryption and read both. It’s therefore critical to destroy each pad after you’ve used it. And it’s a bad idea to store the pad on a thumb drive or something similar, because computers and storage devices have a habit of leaving residues of data around, even after the data has been officially deleted.</p><p>The one-time pad comes with some other significant limitations. The digits have to be <em><em>truly</em></em> random—the numbers generated by the pseudo-random algorithms typically used by computers won’t cut it. And because you can use a given pad only once, you need a whole bunch of them if you want to send more than a single message. Plus, the pads need to be physically printed and shared by hand—you can’t send them over a network.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="An illustration of the major components of the Pad-O-Matic." class="rm-shortcode" data-rm-shortcode-id="359283bc79f2820b4e7d5d0c317a806a" data-rm-shortcode-name="rebelmouse-image" id="90383" loading="lazy" src="https://spectrum.ieee.org/media-library/an-illustration-of-the-major-components-of-the-pad-o-matic.png?id=55997689&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The random-number generator uses a collection of 74HC-series logic chips [top right] to digitize electrical noise and present it as a random byte to an Arduino Uno Minima [top left]. The generator can produce roughly one byte every 200 microseconds, and the Uno converts this into a single digit and builds up a series of 50 pads with 250 digits each, which it sends to the printer [bottom].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>I decided to build a machine that makes dealing with those problems a little easier. My Pad-O-Matic is built around <a href="https://www.adafruit.com/product/597" rel="noopener noreferrer" target="_blank">a CSN-A2 thermal receipt printer</a> I’d bought on a whim a few years back. The printer is connected to the most transparent technology stack I could find: a tortured transistor, a few logic chips, and a microcontroller with about <a href="https://github.com/IEEESpectrumHandsOn/Pad-O-Matic" target="_blank">200 lines of my code</a>. This code does nothing more complicated than division, because if I’ve learned one thing about cryptography, it’s that unless you really know what you’re doing, trying to be a clever clogs is a recipe for failure. The Pad-O-Matic is completely stand-alone.</p><p>The thermal receipt printer in the Pad-O-Matic lets me print a whole series of pads. I still have to physically share the pads, but at least they’re in a compact roll. My correspondent and I can then tear off and destroy each pad after it’s been used.</p><p class="pull-quote"><span>Without predictability, there’s nothing for an attacking computer to get its teeth into.</span></p><p><span></span>I still needed a good source of randomness—some fundamentally unpredictable physical process to convert into equally unpredictable bits. Fortunately, that problem was already solved for me. I found <a href="https://makezine.com/projects/really-really-random-number-generator/" target="_blank">a neat little battery-powered circuit from <em><em>Make:</em></em> magazine</a> that relies on the electrical noise produced by forcing electrons the wrong way across a transistor’s base and emitter terminals while leaving the collector terminal unconnected. <em><em>Make:</em></em>’s generator is a simplified version of a circuit by Aaron Logue, but <em><em>Make:</em></em> fortunately has a copy of the original schematic. This uses 12 and 5 volts instead of the 18 and 5 volts used by <em><em>Make:</em></em>’s version, so I could use an old power supply I had that also provides enough extra current to drive the thermal printer. The original circuit also has two nice additional features for the cost of a few extra chips.</p><p>The first feature is a clean microcontroller interface. It sends one byte at a time in parallel, alerting the microcontroller every time a new byte is available. An alert is needed because the length of time needed to generate a random byte varies slightly due to the other nice feature: automatic<em><em> debiasing</em></em>, using four flip-flops and an XOR gate. <a href="https://en.wikipedia.org/wiki/Randomness_extractor#Von_Neumann_extractor" target="_blank">Debiasing</a> means that even if the electrical-noise generator tends toward, say, more 0s than 1s, the final output will be statistically balanced.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="Along the top a trace shows a voltage erratically switching between 0- and 5-volt levels, with the 0 V level occurring more frequently. Lines indicate the times when the voltage level is sampled, converting 5 V into a 1 and the 0 V into a 0. The 1s and 0s are divided into pairs, with a row of digits beneath them showing that whenever the pairs consist of the same bit, they are discarded. The unmatched pairs are converted into a byte, here 101011110, or 175, which is then converted into a single digit, 5." class="rm-shortcode" data-rm-shortcode-id="51692fc584cb718f3b1b1b155a1ccd1f" data-rm-shortcode-name="rebelmouse-image" id="84577" loading="lazy" src="https://spectrum.ieee.org/media-library/along-the-top-a-trace-shows-a-voltage-erratically-switching-between-0-and-5-volt-levels-with-the-0-v-level-occurring-more-freq.png?id=55999390&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The Pad-O-Matic samples electrical noise at regular intervals to create a stream of bits. To prevent the final numbers from being biased toward those with many 0s or 1s, pairs of bits are compared. Only if they differ are they examined further, with the leading digit being passed along. Eight of these debiased bits are packed into a byte, which is then subjected to modular division to produce a random number between 0 and 9.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>For my microcontroller, I finally got to use an<a href="https://store.arduino.cc/products/uno-r4-minima?srsltid=AfmBOor5vkKOh7BqTUdeata8EVh7FZVz_QXfHlWuChR7TOVTx0IZzLnA" rel="noopener noreferrer" target="_blank"> Arduino Uno R4 Minima</a>. Although this latest version of the beloved Uno came out about 18 months ago, I hadn’t found a project that needed it—until now. Its bigger memory—32 kilobytes of RAM versus<a href="https://store-usa.arduino.cc/products/arduino-uno-rev3?gad_source=1&gclid=Cj0KCQiAj9m7BhD1ARIsANsIIvDTUYqNncnwinwh8c__I1lL043M5A0guC7oRQuIIlqw-FuSYLl0h-oaAiaPEALw_wcB" rel="noopener noreferrer" target="_blank"> 2 KB in the Rev3</a>—is essential, because the Pad-O-Matic has to generate an entire series of pads—50 in my case—and hold it in memory. With 250 digits per pad, that requires over 12 KB. As the digits live only in RAM, there’s no risk of them leaving any trace of themselves behind.</p><p>The microcontroller produces digits from the incoming random bytes by first throwing away any byte with a value over 250. Then it performs <a href="https://en.wikipedia.org/wiki/Modulo" rel="noopener noreferrer" target="_blank">modular division</a> by 10 on each remaining byte, leaving digits in the range of 0 to 9. </p><p>I chose 50 pads per series, even though I had the memory for more, because I actually have to print one series to keep and a copy to share, and then generate and print another series and its copy: The first series is for sending messages from me to my secret correspondent, and the second series is for them to send messages to me. This eliminates the risk of accidentally using the same pad when messages cross each other. A total of 100 pads just about uses up one roll of thermal paper.</p><p>I put the whole thing in a wooden enclosure, and presto! At the press of a button, the Pad-O-Matic whirs into life, spitting out perfect—and now marginally more convenient!—cryptographic security.</p>]]></description><pubDate>Wed, 29 Jan 2025 15:30:03 +0000</pubDate><guid>https://spectrum.ieee.org/diy-one-time-pad-machine</guid><category>Arduino</category><category>Cryptography</category><category>One-time-pad</category><category>Type-departments</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-cutaway-diagram-of-a-boxy-device-with-a-power-supply-and-some-electronics-boards-inside-a-receipt-printer-two-leds-a-switch.png?id=55997357&amp;width=980"></media:content></item><item><title>Build a Better DIY Seismometer</title><link>https://spectrum.ieee.org/build-a-better-diy-seismometer</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-frame-with-a-long-supporting-beam-has-an-upright-mast-at-one-end-a-cable-and-pivot-hold-another-beam-at-a-low-angle-to-the-gr.png?id=55388497&width=1245&height=700&coordinates=0%2C352%2C0%2C353"/><br/><br/><p>In September of 2023, <a href="https://spectrum.ieee.org/diy-seismometer" target="_self"><u>I wrote in these pages</u></a> about using a Raspberry Pi–based seismometer—a <a href="https://raspberryshake.org/" rel="noopener noreferrer" target="_blank"><u>Raspberry Shake</u></a>—to record earthquakes. But as time went by, I found the results disappointing. In retrospect, I realize that my creation was struggling to overcome a fundamental hurdle.</p><p>I live on the tectonically stable U.S. East Coast, so the only <a href="https://spectrum.ieee.org/volcano-eruption" target="_blank">earthquakes</a> I could hope to detect would be ones taking place far away. Unfortunately, the signals from distant quakes have relatively low vibrational frequencies, and the compact geophone sensor in a Raspberry Shake is meant for higher frequencies.</p><p>I had initially considered other sorts of DIY seismometers, and I was put off by how large and ungainly they were. But my disappointment with the Raspberry Shake drove me to construct a seismometer that represents a good compromise: It’s not so large (about 60 centimeters across), and its resonant frequency (about 0.2 Hertz) is low enough to make it better at sensing distant earthquakes.</p><p>My new design is for a horizontal-pendulum seismometer, which contains a pendulum that swings horizontally—or almost so, being inclined just a smidge. Think of a fence gate with its two hinges not quite aligned vertically. It has a stable position in the middle, but when it’s nudged, the restoring force is very weak, so the gate makes slow oscillations back and forth.</p><p>The backbone of my seismometer is a <a href="https://www.amazon.com/gp/product/B0CLGY8ZKB" rel="noopener noreferrer" target="_blank"><u>60-cm-long aluminum extrusion</u></a>. Or maybe I should call it the keel, as this seismometer also has what I would describe as a mast, another piece of aluminum extrusion about 25 cm long, attached to the end of the keel and sticking straight up. Beneath the mast and attached to the bottom of the keel is an aluminum cross piece, which prevents the seismometer from toppling over.</p><p>The pendulum—let’s call it a boom, to stick with my nautical analogies—is a 60-cm-long bar cut from 0.375-inch-square aluminum stock. At one end, I attached <a href="https://www.amazon.com/gp/product/B01M0U89OC" rel="noopener noreferrer" target="_blank"><u>a 2-pound lead weight</u></a> (one intended for a diving belt), using plastic cable ties.</p><p>To allow the boom to swing without undue friction, I drilled a hole in the unweighted end and inserted <a href="https://www.amazon.com/gp/product/B0CX92K9DK" rel="noopener noreferrer" target="_blank"><u>the carbide-steel tip of a scribing tool</u></a>. That sharp tip rests against a shallow dimple in a small steel plate screwed to the mast. To support the boom, I used some shifter cable from a bicycle, attached by looping it through a couple of strategically drilled holes and then locking things down using <a href="https://www.amazon.com/gp/product/B01LYX1SN7" rel="noopener noreferrer" target="_blank"><u>metal sleeves</u></a> crimped onto the ends of the cable.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="Key components of the seismometer." class="rm-shortcode" data-rm-shortcode-id="ae2828ee2e9db4cd4632dc75173c834c" data-rm-shortcode-name="rebelmouse-image" id="6e3ec" loading="lazy" src="https://spectrum.ieee.org/media-library/key-components-of-the-seismometer.png?id=55388507&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">Establishing the response of the seismometer to vibrations is the role of the end weight [top left] and dampening magnets [top right]. A magnet is also used with a Hall effect sensor [middle right] that is read by a microcontroller [middle left]. Data is stored on a logging board with a real-time clock [bottom]. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>I fabricated a few other small physical bits, including leveling feet and a U-shaped bracket to prevent the boom from swinging too far from equilibrium. But the main challenges were how to sense earthquake-induced motions of the boom and how to prevent it from oscillating indefinitely.</p><p>Most DIY seismometers use a magnet and coil to sense motion as the moving magnet induces a current in the fixed coil. That’s a tricky proposition in a long-period seismometer, because the relative motion of the magnet is so slow that only very faint electrical signals are induced in the coil. One of the <a href="https://physicsopenlab.org/2019/08/22/horizontal-pendulum-seismometer/" rel="noopener noreferrer" target="_blank"><u>more sophisticated designs</u></a> I saw online called for an LVDT (<a href="https://www.omega.com/en-us/resources/lvdt-sensors" rel="noopener noreferrer" target="_blank"><u>linear variable differential transformer),</u></a> but such devices seem hard to come by. Instead, I adopted a strategy I hadn’t seen used in any other homebrewed seismometer: <a href="https://www.ti.com/lit/an/slya051b/slya051b.pdf?ts=1726439947497" rel="noopener noreferrer" target="_blank"><u>employing a Hall-effect magnetometer to sense position</u></a>. All I needed was a small neodymium magnet attached to the boom and <a href="https://www.amazon.com/gp/product/B0CQVG659B" rel="noopener noreferrer" target="_blank"><u>an inexpensive Hall-effect sensor board</u></a> positioned beneath it. It worked just great. </p><p class="pull-quote"><span>I figured the immense excursions must reflect some sort of gross malfunction!</span></p><p><span></span>The final challenge was damping. Without that, the pendulum, once excited, would oscillate for too long. My initial solution was to attach to the boom an aluminum vane immersed in a viscous liquid (namely, oil). That worked, but I could just see the messy oil spills coming.</p><p>So I tacked in the other direction and built a magnetic damper, which works by having the aluminum vane pass through a strong magnetic field. This induces eddy currents in the vane that oppose its motion. To the eye, <a href="https://www.youtube.com/watch?v=0b0V0impJ_E" target="_blank"><u>it looks like the metal is caught in a viscous liquid</u></a>. The challenge here is making a nice strong magnetic field. For that, I collected all the neodymium magnets I had on hand, kludged together a U-shaped steel frame, and attached the magnets to the frame, mimicking a horseshoe magnet. This worked pretty well, although my seismometer is still somewhat underdamped.</p><p>Compared with the fussy mechanics, the electronics were a breeze to construct. I used a US $9 <a href="https://www.amazon.com/gp/product/B0981FXQG8" target="_blank"><u>data-logging board</u></a> that was designed to accept an Arduino Nano and that includes both a real-time clock chip and an SD card socket. This allowed me to record the digital output of the Hall sensor at 0.1-second intervals and store the time-stamped data on a microSD card.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A stack of four lines, each covering 15 minutes intervals. Oscillations can be seen at the end of the second trace and the start of the third." class="rm-shortcode" data-rm-shortcode-id="fb0178f4437f482f52ec4745113158a3" data-rm-shortcode-name="rebelmouse-image" id="25f43" loading="lazy" src="https://spectrum.ieee.org/media-library/a-stack-of-four-lines-each-covering-15-minutes-intervals-oscillations-can-be-seen-at-the-end-of-the-second-trace-and-the-start.png?id=55388510&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">My homebrew seismometer recorded the trace of an earthquake occurring roughly 1,500 kilometers away, beginning at approximately 17:27 and ending at 17:37.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The first good test came on 10 November 2024, when a <a href="https://earthquake.usgs.gov/earthquakes/eventpage/us7000nr0v/executive" rel="noopener noreferrer" target="_blank"><u>magnitude-6.8 earthquake struck just off the coast of Cuba</u></a>. Consulting the global <a href="https://stationview.raspberryshake.org/#/?lat=-0.00000&lon=0.00000&zoom=1.733" rel="noopener noreferrer" target="_blank"><u>repository of shared Raspberry Shake data</u></a>, I could see that units in Florida and South Carolina picked up that quake easily. But ones located farther north, including one close to where I live in North Carolina, did not.</p><p>Yet my horizontal-pendulum seismometer had no trouble registering that 6.8 earthquake. In fact, when I first looked at my data, I figured the immense excursions must reflect some sort of gross malfunction! But a comparison with <a href="https://www.iris.edu/app/station_monitor/#2024-11-10T16:49:50/N4-V58A/webicorder/" rel="noopener noreferrer" target="_blank"><u>the trace of a research-grade seismometer</u></a> located nearby revealed that the waves arrived in my garage at the very same time. I could even make out a precursor 5.9 earthquake about an hour before the big one.</p><p>My new seismometer is not too big and awkward, as many long-period instruments are. Nor is it too small, which would make it less sensitive to far-off seismic signals. In my view, this Goldilocks design is just right.</p>]]></description><pubDate>Thu, 02 Jan 2025 13:00:04 +0000</pubDate><guid>https://spectrum.ieee.org/build-a-better-diy-seismometer</guid><category>Arduino-nano</category><category>Horizontal-pendulum</category><category>Raspberry-pi</category><category>Seismology</category><category>Seismometer</category><category>Type-departments</category><dc:creator>David Schneider</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-frame-with-a-long-supporting-beam-has-an-upright-mast-at-one-end-a-cable-and-pivot-hold-another-beam-at-a-low-angle-to-the-gr.png?id=55388497&amp;width=980"></media:content></item><item><title>Hacking A Car-Radio Chip Into The Ultimate SDR Receiver</title><link>https://spectrum.ieee.org/hacking-a-car-radio-chip</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-control-panel-has-a-display-screen-three-buttons-and-two-rotary-controls-it-is-attached-to-a-small-circuit-board-connected.jpg?id=54979705&width=1245&height=700&coordinates=0%2C446%2C0%2C446"/><br/><br/><p>At a time when we all carry smartphones that can stream high-definition movies into our hands, the romance of listening to old-school analog broadcast radio nevertheless endures. For some it’s a break from the cookies, contracts, and terms of service that lurk behind every online activity. For folks like me though, a big part of the charm is the thrill that comes from pulling in a signal from thousands of kilometers away—and doing it the time-honored way: with an understanding of atmospheric conditions, antennas, and electronics.</p><p>This pastime of using varied knowledge and skills to pull in very distant stations is called DXing. Today, digital signal processing makes it possible to put stupendously capable receiver electronics into an economical and very portable package, so there’s never been a better time to be a DXer. And among these high-performance electronics, there’s arguably no better example than the <a href="https://www.nxp.com/products/audio-and-radio/hybrid-radio-and-audio/low-if-tuner-high-performance-one-chip:TEF668X" rel="noopener noreferrer" target="_blank"><u>TEF6686 chip</u></a>, introduced in 2013 by <a href="https://www.nxp.com/" rel="noopener noreferrer" target="_blank"><u>NXP Semiconductors</u></a> and revised multiple times since then. </p><p>The chip has been very successful in car radios, in part because of its low cost and high audio fidelity, but especially because of its astoundingly high sensitivity and selectivity to radio signals. The TEF6686 can receive both FM and AM, and can be configured to accommodate the different bandwidths used by stations in different countries. It can also decode a broadcast station’s digital RDS (<a href="https://support.denon.com/app/answers/detail/a_id/71/~/rds-for-fm-radio" rel="noopener noreferrer" target="_blank"><u>Radio Data System</u></a>) feed, which when present contains continuously updated information such as the title of a song currently playing.</p><p>The chip’s extreme selectivity and sensitivity results from its adept use of software-defined-radio and digital-signal-processing (DSP) technologies to filter out adjacent frequencies. This enables reception of very weak signals that would otherwise be drowned out by nearby broadcasts. The chip has proven irresistible to radio enthusiasts, attracted by features of the chip that go far beyond what is needed by a car radio. It can receive not just the commercial broadcast bands, but also the shortwave and long-wave bands. The chip can also provide instantaneous signal-strength information.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="Key components of the radio" class="rm-shortcode" data-rm-shortcode-id="575dc977dcb4f872b7da0f9691361fe3" data-rm-shortcode-name="rebelmouse-image" id="d217b" loading="lazy" src="https://spectrum.ieee.org/media-library/key-components-of-the-radio.jpg?id=54979710&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The TEF6686 chip can be found in a handy module [top left] that provides electromagnetic shielding and a through-hole interface. An ESP32-based development board [top middle] controls the module and performs signal processing. An LCD screen [bottom left] displays the user interface, which is controlled using buttons and rotary controls [bottom right]. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>As an active radio amateur (<a href="https://www.pe5pvb.nl/" rel="noopener noreferrer" target="_blank"><u>PE5PVB</u></a>) in the Netherlands, I became intrigued by the enthusiastic reviews I started seeing of the TEF6686. During the COVID lockdown of 2020, I started designing a completely open-source tuner that would wring the highest possible performance out of the chip for FM DXers. My enthusiasm grew when I found TEF6686 tuner modules on AliExpress. These contain a TEF6686 chip in a DIY-friendly package, suitable for through-hole soldering (the TEF6686 itself is a surface-mounted chip), and with radio-frequency shielding to help minimize interference. These modules are cheap—they can generally be found for around US $25.</p><p>I soon settled on a configuration consisting of two printed circuit boards connected by ribbon cable. There’s a main board, which contains the TEF6686 module and the microcontroller, and a display board, with a small OLED display and the switches and encoders that control the radio. I evaluated various versions of Arduino-compatible microcontrollers, and found that most were all too slow and had insufficient flash memory.</p><p>The microcontroller needs a lot of flash because it must store not only all the firmware that operates the radio, which is sent to the TEF6686 after every boot up, but it also must store the different fonts for the display, various images, as well as a database of North American call signs and of Canadian provinces and U.S. states (this info, coupled with other capabilities, enables the user to immediately see the call sign and state where the transmitter they are receiving is located). Eventually I settled on <a href="https://www.tinytronics.nl/nl/communicatie/bluetooth/esp32-wifi-en-bluetooth-board-cp2102" rel="noopener noreferrer" target="_blank"><u>a variant of</u></a> the <a href="https://www.espressif.com/en/products/socs/esp32" rel="noopener noreferrer" target="_blank"><u>ESP32</u></a> module, that had the speed and memory capacity I needed, but that still could be programmed using the popular <a href="https://docs.arduino.cc/software/ide-v1/tutorials/arduino-ide-v1-basics/" rel="noopener noreferrer" target="_blank"><u>Arduino IDE</u></a>.</p><p>In early 2021, I <a href="https://github.com/PE5PVB/TEF6686_ESP32" rel="noopener noreferrer" target="_blank"><u>released on GitHub</u></a> an initial version of the firmware and schematics for other DIYers. I also was in contact with a DIY Webshop in the Netherlands, <a href="https://www.amateurradioshop.nl/#consent" rel="noopener noreferrer" target="_blank">Team <u>AmateurRadioShop.nl</u></a>, which still sells <a href="https://www.amateurradioshop.nl/webshop/bouwkits/algemene-bouwkits/detail/1336/pe5pvb-tuner-teff6686-lcd-rds-24-inch-display.html" rel="noopener noreferrer" target="_blank"><u>a kit</u></a> of an earlier version of the radio. In the fall of 2021, I created a second version with a so-called human-machine interface (HMI) display from<a href="https://nextion.tech/" rel="noopener noreferrer" target="_blank"> <u>Nextion</u></a>. This display has a built-in processor, so I could hand off more user-interface tasks from the ESP32. This sped up the radio considerably, and also opened up some new graphical possibilities. In this version I also added Wi-Fi, which permits connection to online resources such as XDR GTK, a user interface that allows for fine computer control of the radio tuner, and RDS Spy, which decodes the RDS data into usable information in real time. If you want to build this version yourself, you’ll have to have your own printed circuit boards made up. But Gerber files, a bill of materials, and construction tips are available on <a href="https://www.pe5pvb.nl/tef6686/" rel="noopener noreferrer" target="_blank"><u>my Web site at </u><u>www.pe5pvb.nl</u></a>. Soldering it together will take about 2 hours. </p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A block diagram showing an ESP32 connected between a control panel and the TEF6686. The TEF6686 is further connected to an antenna and two amplifiers" class="rm-shortcode" data-rm-shortcode-id="6a4449a43503d9addbfdaa775f6f39ea" data-rm-shortcode-name="rebelmouse-image" id="c4695" loading="lazy" src="https://spectrum.ieee.org/media-library/a-block-diagram-showing-an-esp32-connected-between-a-control-panel-and-the-tef6686-the-tef6686-is-further-connected-to-an-anten.png?id=54979711&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The display and controls are directly connected to the microcontroller using general-purpose input/output pins, while the TEF6686 receiver chip is controlled via commands sent over a serial I2C interface. The left and right channels are amplified and passed to standard RCA audio sockets.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>For those who don’t feel like making a kit, there’s an option for you, too. Early in 2022, a Chinese hobbyist, Justin Peng, contacted me to say he had built a portable version out of my design. That summer, the first versions based on this design of his <a href="https://www.aliexpress.us/item/3256807059766138.html?spm=a2g0o.detail.pcDetailTopMoreOtherSeller.1.6452ICWYICWYsy&gps-id=pcDetailTopMoreOtherSeller&scm=1007.40050.354490.0&scm_id=1007.40050.354490.0&scm-url=1007.40050.354490.0&pvid=f7f417ca-b163-42b2-9281-9abce84f5b57&_t=gps-id:pcDetailTopMoreOtherSeller,scm-url:1007.40050.354490.0,pvid:f7f417ca-b163-42b2-9281-9abce84f5b57,tpp_buckets:668%232846%238110%231995&pdp_npi=4%40dis%21USD%21135.07%2163.36%21%21%21951.89%21446.52%21%40212e520d17286754412338025ed3c4%2112000040192487092%21rec%21US%21%21ABXZ&utparam-url=scene%3ApcDetailTopMoreOtherSeller%7Cquery_from%3A" rel="noopener noreferrer" target="_blank"><u>appeared on AliExpress</u></a>. In the months after that, interest in my open-source project exploded, and the radio was adopted by FM DXers worldwide.</p><p>In 2023, I was contacted by a Czech hobbyist, <a href="https://fmdx.org/founders.php" rel="noopener noreferrer" target="_blank"><u>Marek Farkaš</u></a>, who invited me to a group he was establishing on the <a href="https://discord.com/" rel="noopener noreferrer" target="_blank"><u>Discord social platform</u></a> with other hobbyists devoted to working on and improving software for this radio. In this team we now have a graphic designer, some folks who are specialists in RDS, others who are very skilled programers, and a Chinese fellow who wrote a version suitable for use by hardware designers looking to make a radio for the AliExpress market. Together, we completely reviewed the code and added a smoother graphical design, more connectivity, selectable languages, and other improvements.</p><p>I am very grateful to this team for all their hard work to make this open-source radio perhaps the highest-performing radio of its kind, ever. I hope you’ll try it out, and even if you don’t spend your time hunting for distant stations, rediscover the joy of high-quality FM radio broadcasting!</p><p><em>This article appears in the December 2024 print issue as “The Ultimate SDR Receiver.”</em></p>]]></description><pubDate>Sat, 30 Nov 2024 14:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/hacking-a-car-radio-chip</guid><category>Arduino</category><category>Digital-signal-processing</category><category>Diy-radio</category><category>Shortwave-radio</category><category>Software-defined-radio</category><category>Type-departments</category><dc:creator>Sjef Verhoeven</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/a-control-panel-has-a-display-screen-three-buttons-and-two-rotary-controls-it-is-attached-to-a-small-circuit-board-connected.jpg?id=54979705&amp;width=980"></media:content></item><item><title>Build a Sci-Fi Aerial Display</title><link>https://spectrum.ieee.org/diy-scifi-aerial-display</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-see-through-diagram-shows-light-from-a-flatscreen-being-bounced-around-inside-a-box-like-frame-an-image-of-nine-number-keys-f.png?id=53831336&width=1245&height=700&coordinates=0%2C123%2C0%2C123"/><br/><br/><p>On a star base far far away, a dashing hero presses a button on a control panel and a schematic appears in midair. Deftly touching her fingers to the ethereal display, the hero shuts down an energy shield and moves on with her secret mission. If you’ve watched any science fiction, you’re probably familiar with this kind of scenario. But what you may not know is that while star bases and energy shields are still beyond us, floating displays are not.</p><p>By this I mean displays that produce two-dimensional images that truly float in empty air and can be interacted with, not displays based on the <a href="https://en.wikipedia.org/wiki/Pepper%27s_ghost" rel="noopener noreferrer" target="_blank">Pepper’s ghost illusion</a>, where an image is projected onto a transparent surface that has to be kept away from prying fingers. The optical principles to make floating images are well understood, and since the pandemic stoked interest in touch-free controls of all kinds, a number of companies such as <a href="https://www.holdings.toppan.com/en/news/2021/09/newsrelease210915.html" rel="noopener noreferrer" target="_blank">Toppan</a> and <a href="https://global.kyocera.com/newsroom/social/2022/000667.html" rel="noopener noreferrer" target="_blank">Kyocera</a> have attempted to commercialize such aerial displays. However, rollouts have been slow, and the intended applications—elevator controls and the like—are not exactly cool. </p><p>I decided to build my own aerial display, one that would honor the sci-fi awesomeness of the concept.</p><p>I’m no stranger to building offbeat displays. In 2022 I presented in <em><em>IEEE Spectrum</em></em>’s Hands On my <a href="https://spectrum.ieee.org/mechanical-tv" target="_self">color electromechanical display</a>, which harked back to <a href="https://spectrum.ieee.org/first-tv" target="_self">the very first days of television</a>. This time, as I was going for something almost from the future, I decided to style my system after the kind of props seen in <em><em>Star Wars</em></em> movies. But first, I needed to get the optics working.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="Major components of the aerial display." class="rm-shortcode" data-rm-shortcode-id="eb76d8d7b4fd415a522d99fe5700b211" data-rm-shortcode-name="rebelmouse-image" id="9c362" loading="lazy" src="https://spectrum.ieee.org/media-library/major-components-of-the-aerial-display.png?id=53831382&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The heart of the aerial display is a bright flat screen [top] powered by a single-board Intel-based computer [bottom left]. Detecting fingertips is the job of an Arduino Nano and three distance sensors [bottom right].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><h2>How Do Aerial Displays Work?</h2><p>A little optical refresher: Normally, rays from a light source, such as a display, spread out from the source as distance increases. If these diverging rays are, say, reflected by a mirror, the eye perceives the display as being located behind the mirror. This is known as a <a href="https://en.wikipedia.org/wiki/Virtual_image" rel="noopener noreferrer" target="_blank"><em><em>virtual image</em></em></a>. But if you can get the light rays that are emanating from the display to converge at some point in space before spreading out again, the eye perceives the display as if it were located at the point of convergence, even if it’s in midair. This is known as a <a href="https://en.wikipedia.org/wiki/Real_image" rel="noopener noreferrer" target="_blank"><em><em>real image</em></em></a>.</p><p>The key to making this convergence happen in midair is to use a retroreflective material. Normal reflectors follow the familiar rule that the angle of incidence equals the angle of reflection—that is, a light ray coming into a mirror at a shallow angle from the left will bounce off at the same shallow angle and continue traveling toward the right. But a retroreflector bounces incident light straight back on itself. So, if you mounted a retroreflector directly in front of a screen, all the diverging rays would be reflected back along their own paths, creating a real image as they converge at the surface of the screen. Obviously, this is completely pointless in itself, so we need to introduce another optical element—a semireflector, or beam splitter.</p><p class="pull-quote">This tech is within reach of most makers today—no hyperdrives required!</p><p>This material reflects about half the incident light falling on it and lets the other half pass straight through. And here’s the clever bit: The screen and retroreflector are mounted at 90 degrees to each other, and the semireflector is placed opposite that right angle, putting it at 45 degrees to both the screen and the retroreflector. Now let’s follow the light: The diverging rays emitted from the screen hit the beam splitter, and half are reflected toward the retroreflector, which bounces them back toward the beam splitter. The semireflector allows half of those now-converging rays to pass through. As they finally converge in the air above the display, the rays form a real image. </p><p>Clearly, this optical legerdemain is inefficient, with most of the original light being lost to the system. But it wasn’t hard to find a small, modern flat-screen panel bright enough to produce a passable aerial image, at least under indoor (or star-base) lighting conditions. To drive this 7-inch display, I used a <a href="https://www.lattepanda.com/lattepanda-3-delta" rel="noopener noreferrer" target="_blank">LattePanda 3</a>, which is an Intel-based single-board computer capable of running Windows or Linux and supporting multiple displays. (A full bill of materials is available on <a href="https://www.hackster.io/mac70/floating-display-274ee5" rel="noopener noreferrer" target="_blank">my project page</a> on hackster.io).</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A screen and sheet of retroreflector material sit at angles of 45 degrees to a sheet of a beam splitter. Rays follow the path of light through the system." class="rm-shortcode" data-rm-shortcode-id="ca38c4e2654051734440dfc361d19d43" data-rm-shortcode-name="rebelmouse-image" id="3f25e" loading="lazy" src="https://spectrum.ieee.org/media-library/a-screen-and-sheet-of-retroreflector-material-sit-at-angles-of-45-degrees-to-a-sheet-of-a-beam-splitter-rays-follow-the-path-of.png?id=53831374&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The display creates a image in midair by bouncing the diverging rays from a bright screen off a beam splitter, which reflects half the rays toward a retroreflector. Unlike a mirror, which would make the rays diverge even further, the retroreflector sends converging rays back toward the beam splitter, which lets half of them through to form a real, if dim, floating image.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><h2>Finding the Right Retroreflector</h2><p>My biggest obstacle was finding a suitable retroreflector material. I eventually settled on a foil that I could cut to the dimensions I desired, produced a sharp image, and wasn’t too expensive. This was <a href="https://www.reflecto.shop/reflective-films/high-gain-films/orafol-oralite-photoelectric-sheeting-3010" rel="noopener noreferrer" target="_blank">Oralite 3010 prismatic photoelectric sheeting</a>, and I was able to buy a 77-centimeter-by-1-meter roll (the shortest available) for about US $90.</p><p>The next step was to make the display interactive. After some experimentation, I settled on a $5 <a href="https://www.digikey.com/en/product-highlight/s/stmicroelectronics/vl53l4cx-time-of-flight-sensor" rel="noopener noreferrer" target="_blank">laser-based, time-of-flight sensor</a> that reports distance measurements along a narrow cone. I mounted three of these sensors to cover three columns in the plane of the aerial display and connected them to an <a href="https://store-usa.arduino.cc/products/arduino-nano" rel="noopener noreferrer" target="_blank">Arduino Nano</a> via <a href="https://www.ti.com/lit/an/sbaa565/sbaa565.pdf" rel="noopener noreferrer" target="_blank">I2C</a>. When a user’s fingertip enters a sensor’s detection cone, the Nano looks to see if the fingertip’s distance from the sensor falls into one of three predefined ranges. With three sensors and three segments per sensor, the aerial display has nine areas that can react to fingers. The area being activated is reported back to the LattePanda via USB.</p><p>The optical components and computer were all mounted in a 33 x 25 x 24-centimeter frame made out of aluminum extrusion bars. I also mounted a small touchscreen on the front that lets me control what the LattePanda shows on the aerial display. I added side panels to the frame and attached metallized 3D-printed strips and other adornments that made it look like something that wouldn’t be out of place on the set of a sci-fi show.</p><p>The result works beautifully and is as futuristic as I’d hoped, yet also demonstrates that this tech is within reach of most makers today—no hyperdrives required!</p>]]></description><pubDate>Sun, 20 Oct 2024 13:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/diy-scifi-aerial-display</guid><category>Aerial-displays</category><category>Arduino</category><category>Floating-displays</category><category>Retroflectors</category><category>Science-fiction</category><category>Type-departments</category><dc:creator>Markus Mierse</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-see-through-diagram-shows-light-from-a-flatscreen-being-bounced-around-inside-a-box-like-frame-an-image-of-nine-number-keys-f.png?id=53831336&amp;width=980"></media:content></item><item><title>Build a No-Fuss Particle Detector</title><link>https://spectrum.ieee.org/diy-handheld-radiation-detector</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/against-a-backdrop-of-particle-tracks-a-hand-holds-a-rectangular-device-a-little-larger-than-a-deck-of-cards.png?id=53683760&width=1245&height=700&coordinates=0%2C297%2C0%2C297"/><br/><br/><p>There’s nothing like particle physics to make you aware that we exist in an endless three-dimensional pinball game. All around us, subatomic particles arc, collide, and barrel along with merry abandon. Some originate <a href="https://hps.org/publicinformation/ate/faqs/faqradbods.html" rel="noopener noreferrer" target="_blank">within our own bodies</a>, others come from the<a href="https://spectrum.ieee.org/the-icecube-neutrino-detector-at-the-south-pole-hits-paydirt" target="_self"> far ends of the cosmos</a>. But detecting this invisible tumult requires equipment, which can be costly. I wanted to create a way to detect at least some of the pinballs for less than US $15.</p><p>My main reason was to have a new teaching tool. I’m doing a Ph.D. in the <a href="https://www.institut3b.physik.rwth-aachen.de/cms/~fslr/particlephysics3b/?lidx=1" rel="noopener noreferrer" target="_blank">Physics Institute III B</a> at <a href="https://www.rwth-aachen.de/cms/~a/root/?lidx=1" rel="noopener noreferrer" target="_blank">RWTH Aachen University</a>, and I realized such a detector would help satisfy my teaching obligations while tapping into my interests in physics, electronics, and software design.</p><p>Fortunately, I didn’t have to start from scratch. Oliver Keller at CERN’s S’Cool Lab has created <a href="https://scoollab.web.cern.ch/diy-particle-detector" rel="noopener noreferrer" target="_blank">a DIY particle detector</a> that relies on inexpensive silicon photodiodes to detect alpha and beta particles (helium nuclei and free electrons whizzing through the air, respectively) and estimate their energy. Normally, photodiodes are used to respond to light, such as the signals used in fiber-optic communications. But a charged particle striking the photodiode will also produce a pulse of current, with higher-energy particles generating bigger pulses. In practice, given typical conditions and the sensitivity of the photodiodes, this primarily means detecting beta particles.</p><p>In Keller’s design, these pulses are amplified, converted to voltages, and transmitted via a cable from an audio jack on the detector to the microphone input of a laptop or smartphone. The data is then digitized and recorded. </p><p>A colleague of mine had built the CERN device, but I realized there was room for improvement. Passing the analog pulse signal through the length of an audio cable left the detector prone to noise from various sources. In addition, the design requires its own power source, in the form of a 9-volt battery. Apart from the hassle of having a separate battery, this also means that if you miswire the device, you’ll send an unacceptable voltage into an expensive smartphone!</p><h2>Reducing Amplification Noise</h2><p>I decided I would solve these problems by bringing the digitization to the photodiodes. The closer I could get it, the less noise I’d have to contend with. Noise-resistant digitized data could then be sent via a USB connection, which could also supply power to the detector. </p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="Three PCBs stacked on top of each other." class="rm-shortcode rm-resized-image" data-rm-shortcode-id="2066f18ea76409ce2d5366cdac3e7866" data-rm-shortcode-name="rebelmouse-image" id="c444d" loading="lazy" src="https://spectrum.ieee.org/media-library/three-pcbs-stacked-on-top-of-each-other.png?id=53683796&width=980" style="max-width: 100%"/>
<small class="image-media media-caption" placeholder="Add Photo Caption..." style="max-width: 100%;">The BetaBoard uses three types of printed circuit board: The cover [top] and a body board [middle] have no circuit traces and are used to create a light-tight and electromagnetically shielded enclosure; the bottom board hosts a photodiode detector array and an RP2040 microcontroller. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit..." style="max-width: 100%;">James Provost</small></p><p>Of course, to digitize the signal from the photodiodes, I would need some onboard processing power. I settled on the <a href="https://www.raspberrypi.com/products/rp2040/" rel="noopener noreferrer" target="_blank">RP2040</a> microcontroller. Although it does have some known <a href="https://spectrum.ieee.org/pi-pico-gamma-ray-detector" target="_self">problems with its analog-to-digital converter</a>, you can work around them, and the chip has more than enough compute power as well as a built-in USB controller.</p><p>In my first design of my so-called BetaBoard, I created a single printed circuit board populated with the RP2040, an array of photodiodes, and a set of <a href="https://www.microchip.com/en-us/product/mcp6232#document-table" rel="noopener noreferrer" target="_blank">low-noise amplifier</a> integrated circuits. I wrapped the board in aluminum tape to prevent light from triggering the photo detectors. The results proved the concept, but while I’d eliminated the noise from the audio cable, I discovered I’d introduced a new source of noise: the USB power supply.</p><p>Higher-frequency noise—over 1 kilohertz—from the USB connection comes from data and polling signals flowing over the interface. Lower-frequency noise originates in the AC power supply for the host computer—50 hertz here in Europe. I filtered out the high-frequency noise by inserting a low-pass RC filter before the amplifiers’ supply voltage pins and liberally using capacitors in the rest of the circuitry. Filtering out the 50-Hz noise in hardware is tricky, so my solution was to just integrate a digital high-pass filter into the software I wrote for the RP2040. (Hardware and software files are available from <a href="https://github.com/timbk/BetaBoard/tree/main" rel="noopener noreferrer" target="_blank">my Github repository</a>.)</p><p>The software also provides a serial interface to the outside world: A human or a program can send commands via the USB cable and get data back. I wrote a Python script to record data and generate visualizations.</p><p>Another improvement I made to my initial design was to eliminate the need to wrap the board in aluminum tape (or place it in a container, as in Keller’s original version). </p><p>To do that, I designed two other types of PCB with the same external dimensions as the original board, but without any circuitry. The first type has two large cutouts: an open area over the photodiode array and amplifiers, and another area over the RP2040 and its supporting circuitry. The photodiode cutout is surrounded by a broad metal fill on the back and front of the PCB, with the fills connected by vias. By stacking two of this type of PCB on the circuit board containing the components, I created an enclosure that provides shielding against electromagnetic interference. </p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A diagram showing P-region, depletion layer, and N-region stacked on top of each other, with an incident particle creating charge carriers that are swept into the P and N regions. A chart of voltage against time shows a spike." class="rm-shortcode" data-rm-shortcode-id="632ac6c2d6984e37605c94979c573ce0" data-rm-shortcode-name="rebelmouse-image" id="7abac" loading="lazy" src="https://spectrum.ieee.org/media-library/a-diagram-showing-p-region-depletion-layer-and-n-region-stacked-on-top-of-each-other-with-an-incident-particle-creating-charg.png?id=53683792&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">A photodiode has a junction between positively and negatively doped regions, with a neutral depletion layer forming in between. Incoming light or charged particles [red line] creates charge carriers in the depletion region. This produces a spike in current between the doped regions. The height of the spike is proportional to the energy of the particle.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>The second type of PCB acts as a cover for the stack, with a smaller cutout over the photodiode array, over which I placed some black tape—enough to block light but still allow beta particles to reach the photodiodes.</p><p> The result is a robust detector, albeit not the most sensitive in the world. I estimate that where a research-grade detector would register 100 counts per second from a given beta emitter, I’m getting about 10. But you <em><em>can</em></em> do meaningful measurements with it. My next step is to give it the ability to detect alpha particles as well as beta particles, as Keller’s version can do. I could do this now by modifying a $10 photodiode, but I’m experimenting with ways to use the cheaper photodiodes used in the rest of the design. I’m also working on the documentation so that it can be used in classroom settings that don’t have the luxury of having the detector designer present! </p>]]></description><pubDate>Thu, 26 Sep 2024 13:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/diy-handheld-radiation-detector</guid><category>Type-departments</category><category>Radiation-detector</category><category>Beta-detector</category><category>Rp2040</category><category>Photodiodes</category><dc:creator>Tim Kuhlbusch</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/against-a-backdrop-of-particle-tracks-a-hand-holds-a-rectangular-device-a-little-larger-than-a-deck-of-cards.png?id=53683760&amp;width=980"></media:content></item><item><title>Escape Proprietary Smart Home Tech With This DIY Panel</title><link>https://spectrum.ieee.org/smart-home-assistant-control-panel</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-control-panel-with-an-lcd-display-panel-and-numerous-buttons-and-light-is-affixed-to-a-wall.png?id=53547058&width=1245&height=700&coordinates=0%2C333%2C0%2C333"/><br/><br/><p>
	Over the last few years, I’ve added a fair amount of smart-home technology to my house. Among other things, I can control lights and outlets, monitor the status of various appliances, measure how much electricity and water I’m using, and even cut off the water supply in the event of a leak. All this technology is coordinated through a hub, which I originally accessed through a conventional browser-based interface. But scrolling and clicking through screens to find the reading or setting I want is a) slow and b) boring. I wanted an interface that was fast and fun—a physical control panel with displays and buttons.
</p><p>
	Something like the control room in the nuclear power plant in 1979’s <a href="https://www.youtube.com/watch?v=bIGH1AfIS18" rel="noopener noreferrer" target="_blank"><em><em>The China Syndrome</em></em></a>. I was about 10 years old when I saw that movie, and my overwhelming thought while watching Jack Lemmon trying to avert a meltdown was, “Boy, those panels look neat!” So they became my North Star for this design.
</p><p>
	Before I could work on the aesthetic elements, however, I had to consider how my panel was going to process inputs and outputs and communicate with the systems in my home. The devices in my home are tied together using the open source <a href="https://www.home-assistant.io/" rel="noopener noreferrer" target="_blank">Home Assistant</a> platform. Using an open source platform means I don’t have to worry that, for example, I suddenly won’t be able to turn on my lights due to a forced upgrade of a proprietary system, or wonder if someone in the cloud is monitoring the activity in my home.
</p><p>
	The heart of my Home Assistant setup is a hub powered by an old PC running Linux. This handles wireless connections with my sensors, appliances, and other devices. For commercial off-the-shelf equipment—like my energy meter—this communication is typically via <a href="https://z-wavealliance.org/" rel="noopener noreferrer" target="_blank">Z-Wave</a>. My homebrew devices are connected to the GPIO pins of a Raspberry Pi, which relays their state via Wi-Fi using the <a href="https://mqtt.org/" rel="noopener noreferrer" target="_blank">MQTT standard protocol</a> for the Internet of Things. However, I decided on a wired Ethernet connection between the control panel and my hub PC, as this would let me use Power over Ethernet (PoE) to supply electricity to the panel.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A variety of electronic components such as individual LEDs and seven segment displays, buttons, and switches." class="rm-shortcode" data-rm-shortcode-id="b57a82d4b2ac51765333b2d7bdf96417" data-rm-shortcode-name="rebelmouse-image" id="8f94a" loading="lazy" src="https://spectrum.ieee.org/media-library/a-variety-of-electronic-components-such-as-individual-leds-and-seven-segment-displays-buttons-and-switches.png?id=53548480&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The different types of components used in the control panel include a touchscreen display [A], LED displays [B], Raspberry Pis [C], Power over Ethernet boards [D], and an emergency stop button [E]. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>
	In fact, I use <em><em>two</em></em> Ethernet connections, because I decided to divide the functionality of the control panel across two model 3B+ Raspberry Pis, which cost about US $35 each (a complete bill of materials can be found on <a href="https://github.com/alanb128/ha-panel" rel="noopener noreferrer" target="_blank">my GitHub repository</a>). One Pi drives a touchscreen display, while the other handles the buttons and LEDs. Each is fitted with a $20 add-on <a href="https://www.raspberrypi.com/products/poe-hat/" rel="noopener noreferrer" target="_blank">PoE “hat”</a> to draw power from its Ethernet connection.</p><p>Driving all the buttons and LEDs requires over 50 I/O signals, more than can be accommodated by the GPIO header found on a Pi. Although this header has 40 pins, only about 26 are usable in practice. So I used three $6 <a href="https://www.adafruit.com/product/5346" rel="noopener noreferrer" target="_blank">I2C expanders</a>, each capable of handling 16 I/O signals and relaying them back via a two-wire data bus.
</p><p class="pull-quote">I don’t have to worry that I suddenly won’t be able to turn on my lights due to a forced upgrade.</p><p><strong></strong>The software that drives each Pi also has its functionality separated out. This is done using <a href="https://spectrum.ieee.org/raspberry-pi-cluster-computer" target="_self">Docker containers</a>: software environments that act as self-contained sandboxes. The Pi responsible for the touchscreen has three containers: One runs a browser in kiosk mode, which fetches a graphical display from the Home Assistant hub. A second container runs a Python script, which translates touchscreen inputs—such as pressing an icon for another information screen—into requests to the hub. A third container runs a local Web server: When the kiosk browser is pointed to this local server instead of the hub, the screen displays internal diagnostic information that is useful for troubleshooting.
</p><p>
	The other Pi has two containers running Python scripts. One handles all the button inputs and sends commands to the hub. The other requests status information from the hub and updates all the LEDs accordingly.
</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="The first Raspberry Pi has containers labeled \u201ctouch screen commands\u201d, \u201cdiagnsotic web server\u201d and \u201cKiosk Web Browser.\u201d The second Raspberry Pi has containers labelled \u201cButton Script\u201d and \u201cLED script.\u201d" class="rm-shortcode" data-rm-shortcode-id="2325b919775cc641aaa3be8b2ea28e95" data-rm-shortcode-name="rebelmouse-image" id="be1c1" loading="lazy" src="https://spectrum.ieee.org/media-library/the-first-raspberry-pi-has-containers-labeled-u201ctouch-screen-commands-u201d-u201cdiagnsotic-web-server-u201d-and-u201ckio.png?id=53548724&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">Input and output functions are split across software containers running on the panel’s Raspberry Pis. These communicate with a hub to send commands and get status updates. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>
	These containers run on top of <a href="https://www.balena.io/os" rel="noopener noreferrer" target="_blank">BalenaOS</a>, an operating system that’s designed for running these sandboxes on edge as well as embedded devices like the Pi. Full disclosure: I’m the edge AI enablement lead for <a href="https://www.balena.io/" rel="noopener noreferrer" target="_blank">Balena</a>, the company responsible for BalenaOS, but I started using the operating system before I joined the company because of its container-based approach. You can run Docker containers using the <a href="https://www.raspberrypi.com/software/" rel="noopener noreferrer" target="_blank">Raspberry Pi OS</a>, but BalenaOS makes it easier to manage containers, including starting, stopping, and updating them remotely.
</p><p>
	You might think that this software infrastructure is overkill for simply reading the state of some buttons and illuminating some lights, but I like containers because they let me work on one subsystem without worrying about how it will affect the rest of the system: I can tinker with how button presses are sent to the hub without messing up the touchscreen.
</p><p>
	The buttons and various displays are mounted in a set of 3D-printed panels. I first mapped these out, full size, on paper, and then created the 3D print files in <a href="https://www.tinkercad.com/" rel="noopener noreferrer" target="_blank">TinkerCAD.</a> The labels for each control, as well as a schematic of my home’s water pipes, were printed as indentations in each segment, and then I filled them with white spackle for contrast. I then mounted the array of panels in an off-the-shelf $45 “floater” frame.
</p><p>
	By a small miracle of the maker spirits, the panel segments and the frame all fit together nicely on the first try. I mounted the finished panel in a hallway of my home, somewhat to the bemusement of my family. But I don’t mind: If I ever have a water leak, I’ll get to press the big emergency button to shut off the main valve with all the aplomb of Jack Lemmon trying to stop a nuclear meltdown!
</p>]]></description><pubDate>Thu, 29 Aug 2024 15:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/smart-home-assistant-control-panel</guid><category>Type-departments</category><category>Smart-home</category><category>Home-automation</category><category>Home-assistant</category><category>Raspberry-pi</category><category>Docker</category><dc:creator>Alan Boris</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-control-panel-with-an-lcd-display-panel-and-numerous-buttons-and-light-is-affixed-to-a-wall.png?id=53547058&amp;width=980"></media:content></item><item><title>Citizen Scientists Track Radiation in Ukraine's War Zones</title><link>https://spectrum.ieee.org/ukraine-war-radiation</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-group-of-men-smiling-for-a-portrait-in-an-outside-setting.jpg?id=53511480&width=1245&height=700&coordinates=0%2C32%2C0%2C268"/><br/><br/><p>
	Citizen science, where volunteers with or without scientific training contribute to science-based projects, energizes thousands of ongoing operations world-wide. Volunteers might report bird sightings to track biodiversity or use their personal computers to help classify galaxies. Few of these efforts are directly related to emergency situations.
</p><p>
	But the <a href="https://safecast.org/" target="_blank">Safecast</a> citizen science group was born in response to a major nuclear crisis in Japan—the 2011 disaster at the <a href="https://spectrum.ieee.org/24-hours-at-fukushima" target="_blank">Fukushima Daiichi nuclear power plant</a>. Safecast is now bringing its expertise in radiation monitoring to Ukraine in partnership with <a href="https://www.savednipro.org/en/" target="_blank">SaveDnipro</a>, a Ukrainian non-profit that disseminates environmental data. They hope to provide warnings if the Russian invasion of Ukraine triggers similar catastrophes.
</p><p>
	In March 2011 a tsunami severely damaged Japan’s Fukushima Daiichi plant, which released radioactive materials that forced the evacuation of <a href="https://www.unscear.org/unscear/uploads/documents/publications/UNSCEAR_2020_21_Annex-B_Attach_A-11.pdf" target="_blank">more than 100,000</a> people. Safecast soon formed to build portable radiation sensors and to do its own <a href="https://spectrum.ieee.org/measuring-radiation-in-fukushima-with-pocket-geigers-and-bgeigies" target="_blank">data collecting about radiation levels</a>; the group hoped to provide independent information sources for an anxious populace. Safecast’s <a href="https://www.linkedin.com/in/azby-brown-a84609b/?originalSubdomain=jp" target="_blank">Azby Brown</a>, a designer and academic who was born in the United States but has long been based in Japan, experienced the Fukushima event. “I was scared,” he recalls, “I had a small child and wife.” He stresses the lack of reliable information even six months later. This uncertain situation led him to join Safecast, and he has since become its lead researcher.
</p><p>
	Now, with military activity threatening Ukraine’s nuclear power plants, Safecast and SaveDnipro volunteers have established a radiation monitoring network. One worrisome location is the <a href="https://www.iaea.org/newscenter/focus/chernobyl/faqs" rel="noopener noreferrer" target="_blank">Chernobyl Exclusion Zone</a> (CEZ), the essentially uninhabited 2,600-square-kilometer site of history’s worst nuclear accident, the Chernobyl reactor explosion of 1986. Ukraine also has four operating nuclear plants including Zaporizhzhia nuclear power plant (ZNPP), Europe’s biggest. Russian troops took over the CEZ immediately after they invaded in February 2022, then later occupied ZNPP. The risk of a radioactive release as a result of military action at these sites has <a href="https://www.iaea.org/newscenter/pressreleases/update-245-iaea-director-general-statement-on-situation-in-ukraine" rel="noopener noreferrer" target="_blank">alarmed</a> the International Atomic Energy Agency (IAEA), especially after a fire and a nearby drone strike at ZNPP in recent weeks—fortunately without the release of radiation.
</p><p>
	Aware of these nuclear concerns, Safecast contacted SaveDnipro soon after the Russian invasion. SaveDnipro’s technical director, <a href="https://www.linkedin.com/in/pavlentij/" target="_blank">Pavlo Tkachenko</a>, says he first learned of Safecast through a Twitter message from Azby Brown. Apprehensive about the CEZ and ZNPP, Tkachenko requested mobile radiation monitors from Safecast to gather the first data after Russian troops left the CEZ in March 2022 (findings that showed no increased radiation). This collaboration inspired plans for a full network with 100 new units permanently monitoring radiation in real time throughout Ukraine.
</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="a small gray and black box on a pole with a blurry building in the background" class="rm-shortcode rm-resized-image" data-rm-shortcode-id="f5368062cda8ee96384a8a779c0eaa21" data-rm-shortcode-name="rebelmouse-image" id="11612" loading="lazy" src="https://spectrum.ieee.org/media-library/a-small-gray-and-black-box-on-a-pole-with-a-blurry-building-in-the-background.jpg?id=53511529&width=980" style="max-width: 100%"/>
<small class="image-media media-caption" placeholder="Add Photo Caption..." style="max-width: 100%;">    A Radnote radiation detector keeps watch in Lviv, Ukraine.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit..." style="max-width: 100%;">    Azby Brown/Safecast </small>
</p><p style="text-align: justify;">
	In May 2024, Azby Brown and several collaborators arrived in Ukraine to install the first batch of Safecast’s Radnote sensors. Two of the team members, Ray and Neil Ozzie, are leaders of a company called <a href="https://blues.com/" rel="noopener noreferrer" target="_blank">Blues Inc.</a> that specializes in internet-of-things connectivity and that provided the assembled Radnote sensors. Safecast lead engineer Joe Moross, who has long worked in radiation monitoring through a family business and through Safecast’s Fukushima effort, tells <em>Spectrum</em> in an email that the device is a weather-proof, book-sized unit weighing less than a kilogram (1.9 pounds). Its solar panel, power cell, and rechargeable batteries provide reliable stand-alone power for a Geiger counter even under emergency conditions. The radiation data goes to a power-efficient <a href="https://blues.com/notecard-cellular/" target="_blank">Blues Notecard</a>, which uploads it in real time at intervals that can be adjusted to either conserve power or track fast-changing radiation levels. After testing the units for eight months, Moross believes they’ll last for ten years or more.
</p><p>
	On August 5, 2024, Safecast and SaveDnipro announced the installation and activation of the first 25 detectors at varied locations, shown at SaveDnipro’s site <a href="https://www.saveecobot.com/en/platform/savednipro-and-safecast" rel="noopener noreferrer" target="_blank">SaveEcoBot</a>. The effort overcame the challenges of working during wartime, in poor weather, and during air raid alerts. Moross tells <em>Spectrum</em> that “it is impossible to overstate the importance of SaveDnipro and Pavlo Tkachenko” in finding sensor sites, managing logistics, and gaining local cooperation. Tkachenko says that personal contacts with officials and ordinary Ukrainians made it possible to install the sensors in record time, and also built “the main thing…trust from the community.”
</p><p>
	Brown also emphasizes the importance of individual interactions to smooth the path for independent citizen-based organizations. “It takes one person inside the [government] agency who ‘gets it’ to make things happen,” he says, adding that “often it’s not going to be the top decision maker but a technical person who understands.<strong>” </strong>From his experience with Safecast, Brown says, he has  learned that “there’s a tremendous amount of good will on the part of citizens who want to participate.” He says this energy should be tapped by educating citizens and giving them tasks “that they feel are meaningful and will be valued.”
</p>]]></description><pubDate>Tue, 27 Aug 2024 12:00:03 +0000</pubDate><guid>https://spectrum.ieee.org/ukraine-war-radiation</guid><category>Chernobyl-exclusion-zone</category><category>Citizen-science</category><category>Radiation-monitoring</category><category>Safecast</category><category>Ukraine-conflict</category><category>Fukushima-nuclear-disaster</category><dc:creator>Sidney Perkowitz</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/a-group-of-men-smiling-for-a-portrait-in-an-outside-setting.jpg?id=53511480&amp;width=980"></media:content></item><item><title>Photonic Chip Cuts Cost of Hunting Exoplanets</title><link>https://spectrum.ieee.org/photonic-integrated-circuit</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/view-of-a-see-through-box-with-red-and-green-circles-in-front-sitting-on-a-counter.jpg?id=53153617&width=1245&height=700&coordinates=0%2C163%2C0%2C164"/><br/><br/><p>At 6.5 meters in diameter, the <a href="https://spectrum.ieee.org/james-webb-telescope-optics" target="_self">James Webb Space Telescope’s primary mirror</a> captures more light than any telescope that’s ever been launched from Earth. But not every astronomer has US $10 billion to spend on a space telescope. So to help bring the cost of space-based astronomy down, researchers at <a href="https://nrc.canada.ca/en/corporate/contact-us/nrc-directory-science-professionals/ross-cheriton" target="_blank">the National Research Council of Canada</a> in Ottawa are working on a way to process starlight on a tiny optical chip. <a href="https://nrc.canada.ca/en/corporate/contact-us/nrc-directory-science-professionals/ross-cheriton" target="_blank">Ross Cheriton, a photonics researcher there</a>, and his students built and tested a CubeSat prototype with a new kind of photonic chip. The goal is to lower the barrier to entry for astronomical science using swarms of lower-cost spacecraft.<br/></p><p>“We hope to enable smaller space telescopes to do big science using highly compact instrument-on-chips,” Cheriton says, who is also affiliated with the Quantum and Nanotechnology Research Centre in Ottawa.</p><p><a href="https://spectrum.ieee.org/photonic-chip" target="_self">Photonics integrated circuits (PICs)</a> use light instead of electricity to process information, and they’re in wide use <a href="https://spectrum.ieee.org/optical-interconnects" target="_self"><u>slinging trillions and trillions of bits around data centers</u></a>. But only recently have astronomers begun to examine how to use them to push the boundaries of what can be learned about the universe.</p><p>Ground-based telescopes are plagued by Earth’s atmosphere, where turbulence blurs incoming light, making it difficult to focus it onto a camera chip. In outer space, telescopes can peer at extremely faint objects in non-visible wavelengths without correcting for the impact of turbulence. That’s where Cheriton aims to boldly go with a PIC filter that detects very subtle gas signatures during an exoplanet “eclipse” called a transit. </p><p>The main motivation for putting photonic chips in space is to reduce the size, weight, and cost of components, because it can be produced en masse in a semiconductor foundry. “The dream is a purely fiber and chip-based instrument with no other optics,” says Cheriton. Replacing filters, lenses, and mirrors with a chip also improves stability and scalability compared to ordinary optical parts.</p><p><a href="https://spectrum.ieee.org/cubesat" target="_self">CubeSats</a>—inexpensive, small, and standardized satellites—have proved to be a cost-effective way of deploying small instrument payloads. “The compact nature of PICs is a perfect match for CubeSats to study bright exoplanet systems James Webb doesn’t have time to stare at,” says Cheriton.</p><p>For a total mission cost of less than $1 million—compared to the <a href="https://www.nbcnews.com/think/opinion/james-webb-space-telescope-cost-nasa-billions-pictures-are-rcna38813" target="_blank">Webb’s $10 billion</a>—an eventual CubeSat mission could stare at a star for days to weeks while it waits for a planet to cross the field of view. Then, it would look for slight changes in the star’s spectrum that are associated with how the planet’s atmosphere absorbs light—telltale evidence of gasses of a biological origin.</p><h2>Smaller spectroscopy</h2><p>As a proof-of-concept, Cheriton guided a team of undergraduate students who <a href="https://sites.google.com/view/capstoneteseract/home?authuser=0" rel="noopener noreferrer" target="_blank">spent eight months</a> designing and integrating a PIC into a custom <a href="https://www.endurosat.com/products/3u-cubesat-structure/" rel="noopener noreferrer" target="_blank">3U CubeSat</a> (10 centimeter x 10 cm x 30 cm) platform. Their silicon nitride photonic circuit sensor proved itself capable of detecting the absorption signatures of CO<sub>2</sub> in incoming light.</p><p>In their design, light entering the CubeSat’s collimating lens gets focused into a fiber and then pushed to the photonic chip. It enters an etched set of waveguides that includes a ring resonator. Here, light having a specific set of wavelengths builds in intensity over multiple trips around the ring, and is then output to a detector. Because only a select few wavelengths constructively interfere—those chosen to match a gas’s absorption spectrum—the ring serves as a comb-like filter. After the light goes through the ring resonator, the signal from the waveguide gets passed to an output fiber and onto a camera connected to a Raspberry Pi computer for processing. A single pixel’s intensity therefore serves as a reading for a gas’s presence.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="red light with small black boxes" class="rm-shortcode rm-resized-image" data-rm-shortcode-id="afc3cfef9bf51b4a47adf37840c0581b" data-rm-shortcode-name="rebelmouse-image" id="580a6" loading="lazy" src="https://spectrum.ieee.org/media-library/red-light-with-small-black-boxes.png?id=53153627&width=980" style="max-width: 100%"/>
<small class="image-media media-caption" placeholder="Add Photo Caption..." style="max-width: 100%;">Light travels through a waveguide on a photonic integrated circuit.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit..." style="max-width: 100%;">Teseract</small></p><p>Because it’s built on a chip, the sensor could be multiplexed for observing several objects or sense different gasses simultaneously. Additionally, all the light falling on a single pixel means that the signal is more sensitive than a traditional spectrometer, says Cheriton. Moreover, instead of hunting for peaks in a full spectrum, the technology looks for how well the absorption spectrum matches that of a specific gas, a more efficient process. “If something is in space, you don’t want to send gigabytes of data home if you don’t have to,” he says.</p><p>Space travel is still a long way off for the astrophotonic CubeSat. The current design does not use space-qualified components. But Cheriton’s students tested it in the lab for red light (635 nm) and CO<sub>2</sub> in a gas cell. They used a “ground station” computer to transmit all commands and receive all results—and to monitor the photovoltaics and collect data from the flight control sensors onboard their CubeSat.</p><p>Next, the team plans to test whether their sensor can detect oxygen with the silicon nitride chip, a material that was chosen for its transparency to the gas’s 760 nm wavelength. Success would leave them well positioned to meet what Cheriton calls the next huge milestone for astronomers: looking for an earth-like planet with oxygen.</p><p>The work was presented at the Optica (formerly Optical Society of America) <a href="https://www.optica.org/events/congress/advanced_photonics_congress/" rel="noopener noreferrer" target="_blank">Advanced Photonics</a> conference in July.</p>]]></description><pubDate>Mon, 12 Aug 2024 13:01:51 +0000</pubDate><guid>https://spectrum.ieee.org/photonic-integrated-circuit</guid><category>Photonic-integrated-circuits</category><category>Exoplanets</category><category>Astronomy</category><category>Cubesats</category><category>Photonic-integrated-circuit</category><dc:creator>Rachel Berkowitz</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/view-of-a-see-through-box-with-red-and-green-circles-in-front-sitting-on-a-counter.jpg?id=53153617&amp;width=980"></media:content></item><item><title>Build a Radar Cat Detector</title><link>https://spectrum.ieee.org/feral-cat-radar-detector</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-see-through-illustration-shows-a-cat-relaxing-inside-a-windowless-shelter-a-box-with-two-lights-is-pressed-against-the-side-o.jpg?id=52966652&width=1245&height=700&coordinates=0%2C276%2C0%2C276"/><br/><br/><p>
	You have a closed box. There may be a live cat inside, but you won’t know until you open the box. For most people, this situation is a <a href="https://en.wikipedia.org/wiki/Schr%C3%B6dinger%27s_cat" rel="noopener noreferrer" target="_blank">theoretical conundrum</a> that probes the foundations of quantum mechanics. For me, however, it’s a pressing practical problem, not least because physics completely skates over the vital issue of how annoyed the cat will be when the box is opened. But fortunately, engineering comes to the rescue, in the form of a new US $50 maker-friendly <a href="https://www.sparkfun.com/products/24540" rel="noopener noreferrer" target="_blank">pulsed coherent radar sensor from SparkFun</a>.
</p><p>
	Perhaps I should back up a little bit. Working from home during the pandemic, my wife and I discovered a colony of feral cats living in the backyards of our block in New York City. We reversed the colony’s growth by doing <a href="https://www.nyc.gov/site/doh/health/health-topics/trap-neuter-return-of-feral-cats-in-nyc.page" rel="noopener noreferrer" target="_blank">trap-neuter-return</a> (TNR) on as many of its members as we could, and we purchased three <a href="https://feralvilla-com.3dcartstores.com/Feralvilla-Outdoor-Cat-Shelter-II_p_14.html" rel="noopener noreferrer" target="_blank">Feralvilla outdoor shelters</a> to see our furry neighbors through the harsh New York winters. These roughly cube-shaped insulated shelters allow the cats to enter via an opening in a raised floor. A removable lid on top allows us to replace straw bedding every few months. It’s impossible to see inside the shelter without removing the lid, meaning you run the risk of surprising a clawed predator that, just moments before, had been enjoying a quiet snooze.
</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="A set of components, including an enclosure with two large holes for LEDs and what looks like cat ears on top. " class="rm-shortcode rm-resized-image" data-rm-shortcode-id="a0f10fbef28532c9f24b6cd51d97c25b" data-rm-shortcode-name="rebelmouse-image" id="50bee" loading="lazy" src="https://spectrum.ieee.org/media-library/a-set-of-components-including-an-enclosure-with-two-large-holes-for-leds-and-what-looks-like-cat-ears-on-top.jpg?id=52966715&width=980" style="max-width: 100%"/>
<small class="image-media media-caption" placeholder="Add Photo Caption..." style="max-width: 100%;">The enclosure for the radar [left column] is made of basswood (adding cat ears on top is optional). A microcontroller [top row, middle column] processes the results from the radar module [top row, right column] and illuminates the LEDs [right column, second from top] accordingly. A battery and on/off switch [bottom row, left to right] make up the power supply.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit..." style="max-width: 100%;">James Provost</small>
</p><p>
	 Feral cats respond to humans differently than socialized pet cats do. They see us as threats rather than bumbling servants. Even after years of daily feeding, most of the cats in our block’s colony will not let us approach closer than a meter or two, let alone suffer being touched. They have claws that have never seen a clipper. And they don’t like being surprised or feeling hemmed in. So I wanted a way to find out if a shelter was occupied <em><em>before</em></em> I popped open its lid for maintenance. And that’s where radar comes in.
</p><p>
	 SparkFun’s pulsed coherent radar module is based on <a href="https://www.acconeer.com/products/" rel="noopener noreferrer" target="_blank">Acconeer</a>’s low-cost A121 sensor. Smaller than a fingernail, the sensor operates at 60 gigahertz, which means its signal can penetrate many common materials. As the signal passes through a material, some of it is reflected back to the sensor, allowing you to determine distances to multiple surfaces with millimeter-level precision. The radar can be put into a “presence detector” mode—intended to flag whether or not a human is present—in which it looks for changes in the distance of reflections to identify motion.
</p><p>
	 As soon as I saw the announcement for SparkFun’s module, the wheels began turning. If the radar could detect a human, why not a feline? Sure, I could have solved my is-there-a-cat-in-the-box problem with less sophisticated technology, by, say, putting a pressure sensor inside the shelter. But that would have required a permanent setup complete with weatherproofing, power, and some way of getting data out. Plus I’d have to perform three installations, one for each shelter. For information I needed only once every few months, that seemed a bit much. So I ordered the radar module, along with a $30 <a href="https://www.sparkfun.com/products/19177" rel="noopener noreferrer" target="_blank">IoT RedBoard microcontroller</a>. The RedBoard operates at the same 3.3 volts as the radar and can configure the module and parse its output.
</p><p class="pull-quote">
	If the radar could detect a human, why not a feline?
</p><p>
	 Connecting the radar to the RedBoard was a breeze, as they both have <a href="https://www.sparkfun.com/qwiic" rel="noopener noreferrer" target="_blank">Qwiic</a> 4-wire interfaces, which provides power along with an<a href="https://www.i2c-bus.org/" rel="noopener noreferrer" target="_blank"> I2C serial connection</a> to peripherals. SparkFun’s <a href="https://github.com/sparkfun/SparkFun_Qwiic_XM125_Arduino_Library" rel="noopener noreferrer" target="_blank">Arduino libraries</a> and example code let me quickly test the idea’s feasibility by connecting the microcontroller to a host computer via USB, and I could view the results from the radar via a serial monitor. Experiments with our indoor cats (two defections from the colony) showed that the motion of their breathing was enough to trigger the presence detector, even when they were sound asleep. Further testing showed the radar could penetrate the wooden walls of the shelters and the insulated lining.
</p><p>
	 The next step was to make the thing portable. I added a small <a href="https://www.sparkfun.com/products/18286" rel="noopener noreferrer" target="_blank">$11 lithium battery</a> and spliced an on/off switch into its power lead. I hooked up two gumdrop LEDs to the RedBoard’s input/output pins and modified SparkFun’s sample scripts to illuminate the LEDs based on the output of the presence detector: a green LED for “no cat” and red for “cat.” I built an enclosure out of basswood, mounted the circuit boards and battery, and cut a hole in the back as a window for the radar module. (Side note: Along with tending feral cats, another thing I tried during the pandemic was 3D-printing plastic enclosures for projects. But I discovered that cutting, drilling, and gluing wood was faster, sturdier, and much more forgiving when making one-offs or prototypes.)
</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="An outgoing sine-wave pulse from the radar is depicted on top. A series of returning pulses of lower amplitudes and at different distances are depicted on the bottom." class="rm-shortcode" data-rm-shortcode-id="79c4d3217001ff0a0df2d8cd98197648" data-rm-shortcode-name="rebelmouse-image" id="d20ad" loading="lazy" src="https://spectrum.ieee.org/media-library/an-outgoing-sine-wave-pulse-from-the-radar-is-depicted-on-top-a-series-of-returning-pulses-of-lower-amplitudes-and-at-different.jpg?id=52966758&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The radar sensor sends out 60-gigahertz pulses through the walls and lining of the shelter. As the radar penetrates the layers, some radiation is reflected back to the sensor, which it detects to determine distances. Some materials will reflect the pulse more strongly than others, depending on their electrical permittivity. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>
	 I also modified the scripts to adjust the range over which the presence detector scans. When I hold the detector against the wall of a shelter, it looks only at reflections coming from the space inside that wall and the opposite side, a distance of about 50 centimeters. As all the cats in the colony are adults, they take up enough of a shelter’s volume to intersect any such radar beam, as long as I don’t place the detector near a corner.
</p><p>I performed in-shelter tests of the portable detector with one of our indoor cats, bribed with treats to sit in the open box for several seconds at a time. The detector did successfully spot him whenever he was inside, although it is prone to false positives. I will be trying to reduce these errors by adjusting the <a href="https://docs.acconeer.com/en/latest/radar_data_and_control/a121/index.html" rel="noopener noreferrer" target="_blank">plethora of available configuration settings</a> for the radar. But in the meantime, false positives are much more desirable than false negatives: A “no cat” light means it’s definitely safe to open the shelter lid, and my nerves (and the cats’) are the better for it.</p>]]></description><pubDate>Mon, 29 Jul 2024 14:00:02 +0000</pubDate><guid>https://spectrum.ieee.org/feral-cat-radar-detector</guid><category>Radar</category><category>Type-departments</category><category>Sparkfun</category><category>Internet-of-cats</category><category>Arduino</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/a-see-through-illustration-shows-a-cat-relaxing-inside-a-windowless-shelter-a-box-with-two-lights-is-pressed-against-the-side-o.jpg?id=52966652&amp;width=980"></media:content></item><item><title>DIY: Classic 555 Timer Kit</title><link>https://spectrum.ieee.org/discrete-555-timer</link><description><![CDATA[
<iframe frameborder="0" height="100%" scrolling="no" src="https://www.youtube.com/embed/ei7OKotML38?rel=0" width="100%"></iframe><br/><p>Follow along as we build and test one of our favorite kits of all time, the Discrete 555 Timer! Build a huge version of one of the most iconic and surprisingly versatile integrated circuits of all time from transistor and resistors. </p><p>The 555 chip has been used at one time or another by nearly every E.E. alive, and you can use it to detect pulses, make lights blink, debounce inputs, trigger alarms, and even make music (terrible music, but music nonetheless!). We first <a href="https://spectrum.ieee.org/build-your-own-giant-555-timer-chip" target="_blank">wrote up the kit</a> in our <a href="https://spectrum.ieee.org/type/hands-on/" target="_blank">Hands On column</a> in <em>Spectrum</em>, and this is second version, which features some improvements over the original.</p><p><strong>Chapters:</strong></p><p><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=0s" target="_blank">00:00</a> Introduction and hello! <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=39s" target="_blank">00:39</a> The 555 integrated circuit <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=65s" target="_blank">01:05</a> Inside the 555 <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=144s" target="_blank">02:24</a> Oscillator mode applications <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=186s" target="_blank">03:06</a> Origin of the 555 <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=208s" target="_blank">03:28</a> Unboxing the Discrete 555 timer kit <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=268s" target="_blank">04:28</a> Comparing the 555 kit to the 555 chip <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=321s" target="_blank">05:21</a> Soldering <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=354s" target="_blank">05:54</a> Kit creator Eric Schlaepfer and <a href="https://spectrum.ieee.org/open-circuits" target="_blank">his book “Open Circuits”</a> <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=420s" target="_blank">07:00</a> Problems with my jig! <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=453s" target="_blank">07:33</a> The voltage divider <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=606s" target="_blank">10:06</a> Inside Tea <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=785s" target="_blank">13:05</a> Transistors <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=824s" target="_blank">13:44</a> Cleaning up the leads <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=884s" target="_blank">14:44</a> Silkscreen details <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=1243s" target="_blank">20:43</a> Radio Shack soldering iron magic goo <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=1374s" target="_blank">22:54</a> Getting the decorative legs on <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=1476s" target="_blank">24:36</a> 555 chip test circuit <br/><a href="https://www.youtube.com/watch?v=ei7OKotML38&t=1515s" target="_blank">25:15</a> Wiring in the 555 kit</p>]]></description><pubDate>Tue, 23 Jul 2024 14:01:00 +0000</pubDate><guid>https://spectrum.ieee.org/discrete-555-timer</guid><category>555</category><category>Hands-on</category><category>Integrated-circuits</category><category>Timer</category><category>Electronics-kits</category><category>Chip-design</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/ieee-spectrum.jpg?id=53562079&amp;width=980"></media:content></item><item><title>Detect Migrating Birds With a Plastic Dish and a Cheap Microphone</title><link>https://spectrum.ieee.org/detect-migrating-birds-with-sound</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-cutaway-diagram-of-a-straight-sided-bucket-a-clear-covering-is-secured-over-the-mouth-of-the-bucket-underneath-the-covering.png?id=52505799&width=1245&height=700&coordinates=0%2C255%2C0%2C256"/><br/><br/><p>Birding is booming. You may realize your local nature spots are especially busy during seasonal migrations, when birds move between their summer and winter grounds. Species that you had been noticing disappear may have been replaced by ones that hadn’t been there before. Or you may have seen migrating birds on the wing—say, a flock of geese flying in their famous V-formation. Even if you’re not a dedicated birder, you’ve probably made such observations throughout your life. So it might come as a surprise to learn that you’ve been missing out on most of this action, which takes place at night. But, as I discovered, with some simple electronics and the right software, you can identify nocturnal migrators with ease!</p><p>Birds migrate at night for <a href="https://www.migratorybirdday.org/night-migration/" rel="noopener noreferrer" target="_blank">a few reasons</a>. One is that it helps them to avoid predators. Also, it allows them to use the stars for navigation. A less obvious reason is that traveling at night helps these birds avoid heat stress. And the night air tends to be less turbulent, making flying easier.</p><p>These nighttime flights are largely invisible. If you’re lucky, you might <a href="https://academic.oup.com/auk/article/83/4/547/5208519?login=false" rel="noopener noreferrer" target="_blank">view telltale silhouettes by training a telescope on the moon</a>. But during the Second World War, scientists realized that they could readily detect migrating birds using radar. Since then, ornithologists’ radar studies, particularly those that use <a href="https://birdcast.info/" rel="noopener noreferrer" target="_blank">modern weather radar</a>, have proved immensely successful in showing where and when birds migrate at night. </p><p>Radar echoes cannot, however, identify species. But there is another technique that can: recording the calls that birds make during their nocturnal travels.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="An illustration of acoustic detection components." class="rm-shortcode rm-resized-image" data-rm-shortcode-id="a533e3317a368ebb68bc3c315877864f" data-rm-shortcode-name="rebelmouse-image" id="80373" loading="lazy" src="https://spectrum.ieee.org/media-library/an-illustration-of-acoustic-detection-components.png?id=52505811&width=980" style="max-width: 100%"/>
<small class="image-media media-caption" placeholder="Add Photo Caption..." style="max-width: 100%;">Incoming sounds are amplified using a parabolic dish made from a plastic bird-feeder cover [top]. A microphone attached at the focal point of the dish is connected to a preamplifier [middle left], which in turns feeds an external sound card [middle right], which connects to a host computer via USB. A large gel-acid battery [bottom] provides plenty of power for long-term monitoring. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit..." style="max-width: 100%;">James Provost</small></p><p>When ornithologist Richard Graber and electrical engineer William Cochrane made <a href="https://sora.unm.edu/sites/default/files/journals/wilson/v071n03/p0220-p0236.pdf" rel="noopener noreferrer" target="_blank">the first systematic recordings of nocturnally migrating birds</a> in 1957, they used a microphone attached to a 2-meter-wide upward-facing parabolic dish. But you can get by today with a far more modest setup.</p><p>You could, for example, reproduce <a href="http://oldbird.org/index.htm" rel="noopener noreferrer" target="_blank">the gear designed by Bill Evans</a>. On his website he sells a microphone and preamp for this purpose along with guidance on how to package the equipment so that it will hold up to the elements. I explored a different approach, though, one that seemed easier and cheaper.</p><p>Evans’s preamp is designed to be insensitive to low frequencies, as these aren’t of interest when you’re recording bird calls. I figured that this feature wasn’t that important, so after testing a few inexpensive options for the microphone and preamplifier, I chose <a href="https://www.amazon.com/gp/product/B07CQBJDTZ" rel="noopener noreferrer" target="_blank">one on Amazon</a> for just US $9.</p><p>This circuit uses the venerable<a href="https://en.wikipedia.org/wiki/NE5532" rel="noopener noreferrer" target="_blank"> NE5532</a>, a low-noise, low-distortion dual op-amp design that’s been used in professional recording equipment since 1979. To make it directional, I unsoldered the condenser microphone from the board, attached a short length of audio cable to it, and mounted it at the focal point of an 8-inch-diameter parabolic dish—or, well, a reasonable approximation of a parabolic dish, as it’s actually a <a href="https://www.amazon.com/dp/B0B632W4GW/" rel="noopener noreferrer" target="_blank">rain guard for bird feeders</a>. You could also purchase <a href="https://www.amazon.com/Squirrel-Plastic-Outdoor-Protects-Hanging/dp/B0CM6WZ326/" rel="noopener noreferrer" target="_blank">a 16-inch-diameter one</a>, but the 8-inch dish served me admirably.</p><p>I found the focal point of this dish through trial and error and ran the output of the preamp into an <a href="https://support.creative.com/Products/ProductDetails.aspx?prodID=20055&prodName=Sound%20Blaster%20X-Fi%20Surround%205.1%20Pro" rel="noopener noreferrer" target="_blank">old Creative Labs Sound Blaster</a> external sound card, which had been collecting dust on my shelf. I suspect that just about any external sound card would work fine for this application, including <a href="https://www.amazon.com/dp/B00F7120TQ" rel="noopener noreferrer" target="_blank">the $34 StarTac model</a> that I use to good effect to <a href="https://spectrum.ieee.org/detect-solar-flares-and-gamma-ray-bursts-for-less-than-100" target="_self">monitor solar flares</a>.</p><p>To power the preamp, I used a 7-ampere-hour, 12-volt gel-cell battery, which is overkill. But the big battery would allow me to leave the thing running for weeks at a time. Following Evans’s advice, I housed everything in a 2-gallon paint bucket, stretching some plastic wrap over the top to keep rain out.</p><p>I placed my bucket o’ electronics on the roof of my porch, running a USB cable from the sound card, out the side of the bucket, and into my office through a window. Then I plugged it into a Windows laptop onto which I had installed Raven Lite, acoustic-spectrogram software <a href="https://store.birds.cornell.edu/products/raven-lite-2-0-free-license" rel="noopener noreferrer" target="_blank">made available for free</a> by the Cornell Lab of Ornithology.</p><p>Using Raven Lite to compute spectrograms showed just how sensitive this arrangement is. I could easily view, for example, the effect of completely inaudible sounds created by rubbing my thumb and forefinger together a couple of meters away from the microphone.</p><p>With the gear in place outside, I started recording at night, beginning in early March, arranging the Raven Lite software to record a series of 1-hour sound files. The great thing about Raven Lite is that you can review hours of recordings just by scanning through spectrograms visually. Checking out a 1-hour-long sound file takes just a few minutes.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A chart plotting frequency against time, showing a 10-second-long surge of acoustic activity. " class="rm-shortcode" data-rm-shortcode-id="0d2c4cea0a5a49521f400053c086be14" data-rm-shortcode-name="rebelmouse-image" id="ffd94" loading="lazy" src="https://spectrum.ieee.org/media-library/a-chart-plotting-frequency-against-time-showing-a-10-second-long-surge-of-acoustic-activity.png?id=52505820&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">This audiogram reveals the presence of bird calls. I uploaded the data to a server maintained by Cornell University that then uses AI to quickly identify the species. </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>These files, of course, picked up a lot of sounds: rumbling traffic, screeching cats, wailing sirens, and who knows what else. But once you’ve looked at spectrograms for a while, it becomes easy to pick out bird chirps. There is no shortage of local birds chirping during the day, but after sunset their ornithological cacophony abates, returning again some time before dawn.</p><p>The interval in between is where I went hunting for the sound of migrating birds. And after 10 days or so, I found my quarry: chirping that started shortly after midnight, rising in volume for a few minutes before fading away.</p><p>Using <a href="https://www.audacityteam.org/" rel="noopener noreferrer" target="_blank">Audacity</a>, a free audio editor, I extracted a few seconds of the loudest chirping and uploaded the file to <a href="https://birdnet.cornell.edu/" rel="noopener noreferrer" target="_blank">Birdnet</a>, where the good folks at the Cornell Lab of Ornithology provide a tool for identifying bird calls. It indicated that the species I had recorded was the <a href="https://en.wikipedia.org/wiki/Killdeer" rel="noopener noreferrer" target="_blank">killdeer</a>, a type of bird found throughout the continental United States, some populations of which are migratory.</p><p>Additional nights of recording and scanning spectrograms turned up other sounds that appeared to be from other kinds of birds on the move, including such migratory species as the <a href="https://en.wikipedia.org/wiki/Dark-eyed_junco" rel="noopener noreferrer" target="_blank">dark-eyed junco</a> and <a href="https://www.allaboutbirds.org/guide/Kentucky_Warbler/id#" rel="noopener noreferrer" target="_blank">Kentucky warbler</a>.</p><p>I’ve never been an accomplished bird watcher: I’d be hard pressed to distinguish a sparrow from a wren. So it’s rather satisfying to discover that, with some simple electronics and the right software, I am able to pick out different species of migratory birds flying high overhead through the inky darkness of the night.</p>]]></description><pubDate>Thu, 04 Jul 2024 15:00:02 +0000</pubDate><guid>https://spectrum.ieee.org/detect-migrating-birds-with-sound</guid><category>Remote-sensing</category><category>Birding</category><category>Bird-migration</category><category>Acoustics</category><category>Ai</category><dc:creator>David Schneider</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-cutaway-diagram-of-a-straight-sided-bucket-a-clear-covering-is-secured-over-the-mouth-of-the-bucket-underneath-the-covering.png?id=52505799&amp;width=980"></media:content></item><item><title>Build Long-Range IoT Applications Fast With Meshtastic</title><link>https://spectrum.ieee.org/build-iot-apps-with-meshtastic</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/an-illustration-of-a-handheld-device-with-an-antenna-small-keyboard-and-screen-opposite-a-stack-of-printed-circuit-board-module.jpg?id=52295388&width=1245&height=700&coordinates=0%2C260%2C0%2C261"/><br/><br/><p>Oh me, oh mesh! Many journalists in this business have at least one pet technology that’s never taken off in the way they think it should. Hypersonic passenger planes, deep-sea thermal-energy power plants, chording keyboards—all have their adherents, eager to jump at the chance of covering their infatuation. For me, it’s <a href="https://en.wikipedia.org/wiki/Wireless_mesh_network" rel="noopener noreferrer" target="_blank"><u>mesh radio</u></a> systems, which first captivated me while I was <a href="https://ieeexplore.ieee.org/document/1377876" rel="noopener noreferrer" target="_blank"><u>zipping around downtown Las Vegas back in 2004</u></a>. In that pre-smartphone, practically pre-3G era, I was testing a mesh network deployed by a local startup, downloading files at what was then a mind-boggling rate of 1.5 megabits per second in a moving car. Clearly, mesh and its ad hoc decentralized digital architecture were the future of wireless comms!</p><p>Alas, in the two decades since, mesh networking has been slow to displace conventional radio systems. It’s popped up on a small scale in things like the<a href="https://csa-iot.org/all-solutions/zigbee/" rel="noopener noreferrer" target="_blank"> <u>Zigbee</u></a> wireless protocol for the Internet of Things, and in recent years it’s become common to see Wi-Fi networks extended using mesh-based products such as the <a href="https://eero.com/shop/eero" rel="noopener noreferrer" target="_blank"><u>Eero</u></a>. But it’s still a technology that I think has yet to fulfill its potential. So I’ve been excited to see the emergence of the open-source <a href="https://meshtastic.org/" rel="noopener noreferrer" target="_blank"><u>Meshtastic protocol</u></a>, and the proliferation of maker-friendly hardware around it. I had to try it out myself.</p><p>Meshtastic is built on top of the <a href="https://spectrum.ieee.org/wearable-medical-devices-lora" target="_self"><u>increasingly popular LoRa</u></a> (long-range) technology, which relies on spread-spectrum methods to send low-power, low-bandwidth signals over distances up to about 16 kilometers (in perfect conditions) using unlicensed radio bands. Precise frequencies vary by region, but they’re in the 863- to 928-megahertz range. You’re not going to use a Meshtastic network for 1.5-Mb/s downloads, or even voice communications. But you can use it to exchange text messages, location data, and the like in the absence of any other communications infrastructure.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="Various small breakout boards above a standalone communicator with keyboard and screen" class="rm-shortcode rm-resized-image" data-rm-shortcode-id="3ab6a6293605c0519f77321833baf50c" data-rm-shortcode-name="rebelmouse-image" id="66379" loading="lazy" src="https://spectrum.ieee.org/media-library/various-small-breakout-boards-above-a-standalone-communicator-with-keyboard-and-screen.jpg?id=52295435&width=980" style="max-width: 100%"/>
<small class="image-media media-caption" placeholder="Add Photo Caption..." style="max-width: 100%;">The stand-alone communicator [bottom of illustration] can be ordered assembled, or you can build your own from open-source design files. The RAKwireless Meshtastic development board is based around plug-in modules, including the carrier board, an environmental sensor, I/O expander board, radio module, OLED screen, and LoRa and Bluetooth modules.</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit..." style="max-width: 100%;">James Provost</small></p><p>To test out text messaging, I bought three <a href="https://www.tindie.com/products/harukitoreda/heltxt-standalone-meshtastic-communicator/" rel="noopener noreferrer" target="_blank"><u>HelTXT handheld communicators</u></a> for US $85 each on Tindie. These are essentially just a battery, keyboard, small screen, ESP32-based microcontroller, and a LoRa radio in a 3D-printed enclosure. My original plan was to coerce a couple of my fellow <em><em>IEEE</em></em> <em><em>Spectrum</em></em> editors to spread out around Manhattan to get a sense of the range of the handhelds in a dense urban environment. By turning an intermediate device on and off, we would demonstrate the relaying of signals between handhelds that would otherwise be out of range of each other.</p><p>This plan was rendered moot within a few minutes of turning the handhelds on. A test “hello” transmission was greeted by an unexpected “hey.” The handhelds’ default setting is to operate on a public channel, and my test message had been received by somebody with a Meshtastic setup about 4 kilometers away, across the East River. Then I noticed my handheld had detected a bunch of other Meshtastic nodes, including one 5 km away at the southern tip of Manhattan. Clearly, range was not going to be an issue, even with a forest of skyscrapers blocking the horizon. Indeed, given the evident popularity of Meshtastic, it was going to be impossible to test the communicators in isolation! (Two <em><em>Spectrum</em></em> editors live in Minnesota, so I hope to persuade them to try the range tests with fewer Meshtastic users per square kilometer.)</p><p>I turned to my next test idea—exchanging real-time data and commands via the network. I bought a $25 <a href="https://store.rakwireless.com/products/wisblock-meshtastic-starter-kit" rel="noopener noreferrer" target="_blank"><u>WisBlock meshtastic starter kit</u></a> from RAKwireless, which marries a LoRA radio/microcontroller and an expansion board. This board can accommodate a selection of cleverly designed and <a href="https://store.rakwireless.com/collections/wisblock" rel="noopener noreferrer" target="_blank"><u>inexpensive plug-in hardware modules</u></a>, including sensors and displays. The radio has both LoRa and Bluetooth antennas, and there’s a <a href="https://meshtastic.org/docs/software/" rel="noopener noreferrer" target="_blank"><u>nice smartphone app</u></a> that uses the Bluetooth connection to relay text messages through the radio and configure many settings. You can also configure the radios via a USB cable and a <a href="https://meshtastic.org/docs/software/python/cli/" rel="noopener noreferrer" target="_blank"><u>Python command-line-interface program</u></a>.</p><p>In addition to basic things like establishing private encrypted channels, you can enable a number of software modules in the firmware. These modules are designed to accomplish common tasks, such as periodically reading and transmitting data from an attached environmental sensor plug-in. Probably the most useful software module is the serial module, which lets the Meshtastic hardware act as a gateway between the radio network and a second microcontroller running your own custom IoT application, communicating via a two- or three-wire connection.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="James Provost" class="rm-shortcode" data-rm-shortcode-id="3a77ac5d413413a091f1e427accc4e86" data-rm-shortcode-name="rebelmouse-image" id="695f4" loading="lazy" src="https://spectrum.ieee.org/media-library/james-provost.jpg?id=52295452&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">The Meshtastic protocol has seen significant evolution. In the initial system, any node that heard a broadcast would rebroadcast it, leading to local congestion [top row]. But now, signal strength is used as a proxy for distance, with more-distant nodes broadcasting first. Nodes that hear a broadcast twice will not rebroadcast it, reducing congestion [bottom row].</small><small class="image-media media-photo-credit" placeholder="Add Photo Credit...">James Provost</small></p><p>For my demo, I wired up a button and an LED to an <a href="https://www.adafruit.com/product/4064" rel="noopener noreferrer" target="_blank"><u>Adafruit Grand Central</u></a> board running CircuitPython. (I chose this board because its 3.3-volt levels are compatible with the RAKwireless hardware.) I programmed the Grand Central to send an <a href="https://en.wikipedia.org/wiki/ASCII" rel="noopener noreferrer" target="_blank"><u>ASCII</u></a>-encoded message to the RAKwireless radio over a serial connection when I pressed the button, and to illuminate the LED if it received an ASCII string containing the word “btn.”</p><p>On the radio side, I used a plug-in I/O expander to connect the serial transmit and receive wires. The tricky part was mapping the pin names as labeled on the adapter with the corresponding microcontroller pins. You need to know the microcontroller pins when setting up the receive and transmit pins with the serial module, as it doesn’t know how the adapter is set up. But after some paging through the documentation, I eventually <a href="https://meshtastic.org/docs/hardware/devices/rak/core-module/" rel="noopener noreferrer" target="_blank"><u>found the mapping</u></a>.</p><p>I pressed the button connected to my Grand Central microcontroller, and “button down” instantly popped up on my handheld communicators. Then I sent “btn,” and the LED lit up. Success! With that proof of concept done, pretty much anything else is doable as well.</p><p>Will makers building applications on top of Meshtastic lead to the mesh renaissance I’ve been waiting for? With more hands on deck, I hope to see some surprising uses emerge that will make the case for mesh better than any starry-eyed argument from me. </p>]]></description><pubDate>Wed, 29 May 2024 15:00:04 +0000</pubDate><guid>https://spectrum.ieee.org/build-iot-apps-with-meshtastic</guid><category>Lora</category><category>Mesh-radio</category><category>Type-departments</category><category>Meshtastic</category><dc:creator>Stephen Cass</dc:creator><media:content medium="image" type="image/jpeg" url="https://spectrum.ieee.org/media-library/an-illustration-of-a-handheld-device-with-an-antenna-small-keyboard-and-screen-opposite-a-stack-of-printed-circuit-board-module.jpg?id=52295388&amp;width=980"></media:content></item><item><title>Electronically Assisted Astronomy on the Cheap</title><link>https://spectrum.ieee.org/electronically-assisted-astronomy</link><description><![CDATA[
<img src="https://spectrum.ieee.org/media-library/a-camera-with-a-bulky-lens-and-a-finder-scope-sits-on-a-tripod-an-inset-shows-a-metal-clamp-and-an-adjustment-knob-around-the-l.png?id=52102638&width=1245&height=700&coordinates=0%2C145%2C0%2C145"/><br/><br/><p>I hate the eye strain that often comes with peering through a telescope at the night sky—I’d rather let a camera capture the scene. But I’m too frugal to sink thousands of dollars into high-quality astrophotography gear. The Goldilocks solution for me is something that goes by the name of electronically assisted astronomy, or EAA.</p><p>EAA <a href="https://cosmicpursuits.com/2204/the-basics-of-electronically-assisted-astronomy/" rel="noopener noreferrer" target="_blank"><u>occupies a middle ground</u></a> in amateur astronomy: more involved than gazing through binoculars or a telescope, but not as complicated as using specialized cameras, expensive telescopes, and motorized tracking mounts. I set about exploring how far I could get doing EAA on a limited budget.</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="Photo of the moon." class="rm-shortcode rm-resized-image" data-rm-shortcode-id="3ba36a752a6ad4f396ae8ae669cee1b4" data-rm-shortcode-name="rebelmouse-image" id="98d9c" loading="lazy" src="https://spectrum.ieee.org/media-library/photo-of-the-moon.png?id=52102741&width=980" style="max-width: 100%"/>
</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="Photo of a sun." class="rm-shortcode rm-resized-image" data-rm-shortcode-id="9d0e11e48799c472f7909abacaa1fb32" data-rm-shortcode-name="rebelmouse-image" id="4adb8" loading="lazy" src="https://spectrum.ieee.org/media-library/photo-of-a-sun.png?id=52102740&width=980" style="max-width: 100%"/>
</p><p class="shortcode-media shortcode-media-rebelmouse-image rm-resized-container rm-resized-container-25 rm-float-left" data-rm-resized-container="25%" style="float: left;">
<img alt="Photo of a nebula. " class="rm-shortcode rm-resized-image" data-rm-shortcode-id="7a6e332a57f147a6c686758f8f0efa89" data-rm-shortcode-name="rebelmouse-image" id="136ec" loading="lazy" src="https://spectrum.ieee.org/media-library/photo-of-a-nebula.png?id=52102735&width=980" style="max-width: 100%"/>
<small class="image-media media-caption" placeholder="Add Photo Caption..." style="max-width: 100%;">Electronically-assisted-astronomy photographs captured with my rig: the moon [top], the sun [middle], and the Orion Nebula [bottom] </small><small class="image-media media-photo-credit" placeholder="Add Photo Credit..." style="max-width: 100%;">David Schneider</small></p><p>First, I purchased a used <u>Canon T6 DSLR</u> on eBay. Because it had a damaged LCD viewscreen and came without a lens, it cost just US $100. Next, rather than trying to marry this camera to a telescope, I decided to get a telephoto lens: Back to eBay for a 40-year-old Nikon 500-mm F/8 “mirror” telephoto lens for $125. This lens combines mirrors and lenses to create a folded optical path. So even though the focal length of this telephoto is a whopping 50 centimeters, the lens itself is only about 15 cm long. A <a href="https://www.amazon.com/gp/product/B001G4QXLE" rel="noopener noreferrer" target="_blank"><u>$20 adapter</u></a> makes it work with the Canon.</p><p>The Nikon lens lacks a diaphragm to adjust its aperture and hence its depth of field. Its optical geometry makes things that are out of focus resemble doughnuts. And it can’t be autofocused. But these shortcomings aren’t drawbacks for astrophotography. And the lens has the big advantage that it can be <a href="https://en.wikipedia.org/wiki/Infinity_focus" rel="noopener noreferrer" target="_blank"><u>focused beyond infinity</u></a>. This allows you to adjust the focus on distant objects accurately, even if the lens expands and contracts with changing temperatures.</p><p>Getting the focus right is one of the bugaboos of using a telephoto lens for astrophotography, because the focus on such lenses is touchy and easily gets knocked off kilter. To avoid that, I built something (based on a design I found in <a href="https://www.cloudynights.com/topic/561918-focus-instability-support-nikkor-180mm-f28-ed/" rel="noopener noreferrer" target="_blank"><u>an online astronomy forum</u></a><u>) </u>that clamps to the focus ring and allows precise adjustments using a small knob.</p><p>My next purchase was a modified gun sight to make it easier to aim the camera. The version I bought (for $30 <a href="https://www.amazon.com/gp/product/B072BSLCQW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1" rel="noopener noreferrer" target="_blank"><u>on Amazon</u></a>) included an adapter that let me mount it to my camera’s hot shoe. You’ll also need a tripod, but you can purchase an adequate one for less than $30.</p><p class="pull-quote">Getting the focus right is one of the bugaboos of using a telephoto lens</p><p><span></span>The only other hardware you need is a laptop. On my Windows machine, I installed four free programs: Canon’s <a href="https://www.usa.canon.com/support/eos-utilities" target="_blank"><u>EOS Utility</u></a> (which allows me to control the camera and download images directly), Canon’s <a href="https://sas.image.canon/st/en/dpp.html" target="_blank"><u>Digital Photo Professional</u></a> (for managing the camera’s<a href="https://en.wikipedia.org/wiki/Raw_image_format" target="_blank"> <u>RAW format</u></a> image files), the <a href="https://www.gimp.org/" target="_blank"><u>GNU Image Manipulation Program</u></a> (GIMP) photo editor, and a program called<a href="http://deepskystacker.free.fr/english/index.html" target="_blank"> <u>Deep Sky Stacker</u></a>, which lets me combine short-exposure images to enhance the results without having Earth’s rotation ruin things.</p><p>It was time to get started. But focusing on astronomical objects is harder than you might think. The obvious strategy is to put the camera in “live view” mode, aim it at Jupiter or a bright star, and then adjust the focus until the object is as small as possible. But it can still be hard to know when you’ve hit the mark. I got a big assist from what’s known as a <a href="https://en.wikipedia.org/wiki/Bahtinov_mask" target="_blank"><u>Bahtinov mask</u></a>, a screen with angled slats you temporarily stick in front of the lens to create a diffraction pattern that guides focusing.</p><p class="shortcode-media shortcode-media-rebelmouse-image">
<img alt="A set of images showing dim celestial objects transiting across the frames. A final synthesized frame shows a clear, sharp image." class="rm-shortcode" data-rm-shortcode-id="014c1feb31b9c9fb8a62805467c8f1fa" data-rm-shortcode-name="rebelmouse-image" id="78be4" loading="lazy" src="https://spectrum.ieee.org/media-library/a-set-of-images-showing-dim-celestial-objects-transiting-across-the-frames-a-final-synthesized-frame-shows-a-clear-sharp-image.png?id=52102803&width=980"/>
<small class="image-media media-caption" placeholder="Add Photo Caption...">Stacking software takes a series of images of the sky, compensates for the motion of the stars, and combines the images to simulate long exposures without blurring. </small></p><p>After getting some good shots of the moon, I turned to another easy target: the sun. That required a solar filter, of course. I<a href="https://www.amazon.com/dp/B00DS7IFQS?psc=1&ref=ppx_yo2ov_dt_b_product_details" rel="noopener noreferrer" target="_blank"> <u>purchased one for $9</u></a> , which I cut into a circle and glued to a candy tin from which I had cut out the bottom. <a href="https://www.amazon.com/Simpkins-Travel-Sweet-Mixed-Fruit/dp/B002B7JGKU/ref=asc_df_B002B7JGKU&mcid=c59a99251e253ef69d598bc5c635db69?tag=bngsmtphsnus-20&linkCode=df0&hvadid=79920869196261&hvnetw=s&hvqmt=e&hvbmt=be&hvdev=c&hvlocint=&hvlocphy=&hvtargid=pla-4583520403592811&psc=1" rel="noopener noreferrer" target="_blank"><u>My tin</u></a> is of a size that slips perfectly over my lens. With this filter, I was able to take nice images of sunspots. The challenge again was focusing, which required trial and error, because strategies used for stars and planets don’t work for the sun.</p><p>With focusing down, the next hurdle was to image a <a href="https://en.wikipedia.org/wiki/Deep-sky_object" rel="noopener noreferrer" target="_blank"><u>deep-sky object</u></a>, or DSO—star clusters, galaxies, and nebulae. To image these dim objects really well requires a tracking mount, which turns the camera so that you can take long exposures without blurring from the motion of the Earth. But I wanted to see what I could do without a tracker.</p><p>I first needed to figure out how long of an exposure was possible with my fixed camera. A common rule of thumb is to take the focal length of your telescope in millimeters and divide by 500 to give you the maximum exposure duration in seconds. For my setup, that would be 1 second. A more sophisticated approach, called the NPF rule, factors in additional details regarding your imaging sensor. Using an<a href="https://sahavre.fr/wp/regle-npf-rule" rel="noopener noreferrer" target="_blank"> <u>online NPF-rule calculator</u></a> gave me a slightly lower number: 0.8 seconds. To be even more conservative, I used 0.6-second exposures.</p><p>My first DSO target was the <a href="https://en.wikipedia.org/wiki/Orion_Nebula" rel="noopener noreferrer" target="_blank"><u>Orion Nebula</u></a>, of which I shot 100 images from my suburban driveway. No doubt, I would have done better from a darker spot. I was mindful, though, to acquire <a href="https://practicalastrophotography.com/a-brief-guide-to-calibration-frames/" rel="noopener noreferrer" target="_blank"><u>calibration </u></a>frames—“flats” and “darks” and “bias images”—which are used to compensate for imperfections in the imaging system. Darks and bias images are easy enough to obtain by leaving the lens cap on. Taking flats, however, requires an even, diffuse light source. For that I used a $17 A5-size LED tracing pad placed on a white T-shirt covering the lens.</p><p>With all these images in hand, I fired up the Deep Sky Stacker program and put it to work. The resultant stack didn’t look promising, but postprocessing in GIMP turned it into a surprisingly detailed rendering of the Orion Nebula. It doesn’t compare, of course, with what somebody can do with a better gear. But it does show the kinds of fascinating images you can generate with some free software, an ordinary DSLR, and a vintage telephoto lens pointed at the right spot.</p><p><em>This article appears in the May 2024 print issue as “Electronically Assisted Astronomy.”</em></p>]]></description><pubDate>Sun, 28 Apr 2024 15:00:04 +0000</pubDate><guid>https://spectrum.ieee.org/electronically-assisted-astronomy</guid><category>Amateur-astronomy</category><category>Astrophotography</category><category>Electronically-assisted-astronom</category><category>Type-departments</category><dc:creator>David Schneider</dc:creator><media:content medium="image" type="image/png" url="https://spectrum.ieee.org/media-library/a-camera-with-a-bulky-lens-and-a-finder-scope-sits-on-a-tripod-an-inset-shows-a-metal-clamp-and-an-adjustment-knob-around-the-l.png?id=52102638&amp;width=980"></media:content></item></channel></rss>