IR Point And Shoot Has A Raspberry Heart In A 35mm Body

Photography is great, but sometimes it can get boring just reusing the same wavelengths over and over again. There are other options, though and when [Malcolm Wilson] decided he wanted to explore them, he decided to build a (near) IR camera. 

The IR images are almost ethereal.
Image : Malcom Wilson.

The housing is an old Yashica Electro 35 — apparently this model was prone to electrical issues, and there are a lot of broken camera bodies floating around– which hides a Pi NoIR Camera v3. That camera module, paired with an IR pass filter, makes for infrared photography like the old Yashica used to do with special film. The camera module is plugged into a Pi Zero 2 W, and it’s powered by a PiSugar battery. There’s a tiny (0.91″) OLED display, but it’s only for status messages. The viewfinder is 100% optical, as the designers of this camera intended. Point, shoot, shoot again.

There’s something pure in that experience; we sometimes find stopping to look at previews pulls one out of the creative zone of actually taking pictures. This camera won’t let you do that, though of course you do get to skip on developing photos. [Malcom] has the Pi set up to connect to his Wifi when he gets home, and he grabs the RAW (he is a photographer, after all) image files via SSH.  Follow the link above to [Malcom]’s substack, and you’ll get some design details and his python code.

The Raspberry Pi Foundation’s NoIR camera shows up on these pages from time to time, though rarely so artistically. We’re more likely to see it spying on reptiles, or make magic wands work.  So we are quite grateful to [Malcom] for the tip, via Petapixel. Yes, photographers and artists of all stripes are welcome to use the tips line to tell us about their work.

Follow the links in this article for more images like this.
Image: Malcom Wilson

The Hackaday Summer Reading List: No AI Involvement, Guaranteed

If you have any empathy at all for those of us in the journalistic profession, have some pity for the poor editor at the Chicago Sun-Times, who let through an AI-generated summer reading list made up of novels which didn’t exist.  The fake works all had real authors and thus looked plausible, thus we expect that librarians and booksellers throughout the paper’s distribution area were left scratching their heads as to why they’re not in the catalogue.

Here at Hackaday we’re refreshingly meat-based, so with a guarantee of no machine involvement, we’d like to present our own summer reading list. They’re none of them new works but we think you’ll find them as entertaining, informative, or downright useful as we did when we read them. What are you reading this summer? Continue reading “The Hackaday Summer Reading List: No AI Involvement, Guaranteed”

splice-cad assembly

Splice CAD: Cable Harness Design Tool

Cable harness design is a critical yet often overlooked aspect of electronics design, just as essential as PCB design. While numerous software options exist for PCB design, cable harness design tools are far less common, making innovative solutions like Splice CAD particularly exciting. We’re excited to share this new tool submitted by Splice CAD.

Splice CAD is a browser-based tool for designing cable assemblies. It allows users to create custom connectors and cables while providing access to a growing library of predefined components. The intuitive node editor enables users to drag and connect connector pins to cable wires and other pinned connectors. Those familiar with wire harnesses know the complexity of capturing all necessary details, so having a tool that consolidates these properties is incredibly powerful.

Among the wire harness tools we’ve featured, Splice CAD stands out as the most feature-rich to date. Users can define custom connectors with minimal details, such as the number of pins, or include comprehensive information like photos and datasheets. Additionally, by entering a manufacturer’s part number, the tool automatically retrieves relevant data from various distributor websites. The cable definition tool is equally robust, enabling users to specify even the most obscure cables.

Once connectors, cables, and connections are defined, users can export their designs in multiple formats, including SVG or PDF for layouts, and CSV for a detailed bill of materials. Designs can also be shared via a read-only link on the Splice CAD website, allowing others to view the harness and its associated details. For those unsure if the tool meets their needs, Splice CAD offers full functionality without requiring an account, though signing in (which is free) is necessary to save or export designs. The tool also includes a version control system, ideal for tracking design changes over time. Explore our other cable harness articles for more tips and tricks on building intricate wire assemblies.

Continue reading “Splice CAD: Cable Harness Design Tool”

This Week In Security: Anthropic, Coinbase, And Oops Hunting

Anthropic has had an eventful couple weeks, and we have two separate write-ups to cover. The first is a vulnerability in the Antropic MCP Inspector, CVE-2025-49596. We’ve talked a bit about the Module Context Protocol (MCP), the framework that provides a structure for AI agents to discover and make use of software tools. MCP Inspector is an Open Source tool that proxies MCP connections, and provides debugging information for developers.

MCP Inspector is one of those tools that is intended to be run only on secure networks, and doesn’t implement any security or authentication controls. If you can make a network connection to the tool, you can control it. and MCP Inspector has the /sse endpoint, which allows running shell commands as a feature. This would all be fine, so long as everyone using the tool understands that it is not to be exposed to the open Internet. Except there’s another security quirk that intersects with this one. The 0.0.0.0 localhost bypass.

The “0.0.0.0 day exploit” is a bypass in essentially all the modern browsers, where localhost can be accessed on MacOS and Linux machines by making requests to 0.0.0.0. Browsers and security programs already block access to localhost itself, and 127.0.0.1, but this bypass means that websites can either request 0.0.0.0 directly, or rebind a domain name to 0.0.0.0, and then make requests.

Continue reading “This Week In Security: Anthropic, Coinbase, And Oops Hunting”

160-core RISC V Board Is The M.2 CoProcessor You Didn’t Know You Needed

Aside from GPUs, you don’t hear much about co-processors these days. [bitluni] perhaps missed those days, because he found a way to squeeze a 160 core RISC V supercluster onto a single m.2 board, and shared it all on GitHub.

OK, sure, each core isn’t impressive– he’s using CH32V003, so each core is only running at 48 MHz, but with 160 of them, surely it can do something? This is a supercomputer by mid-80s standards, after all.  Well, like anyone else with massive parallelism, [bitluni] decided to try a raymarcher. It’s not going to replace RTX anytime soon, but it makes for a good demo.

Like his previous m.2 project, an LED matrix,  the cluster is communicating over PCIe via a WCH CH382 serial interface. Unlike that project, blinkenlights weren’t possible: the tiny, hair-thin traces couldn’t carry enough power to run the cores and indicator LEDs at once. With the power issue sorted, the serial interface is the big bottleneck. It turns out this cluster can crunch numbers much faster than it can communicate. That might be a software issue, however, as the cluster isn’t using all of the CH382’s bandwidth at the moment. While that gets sorted there are low-bandwidth, compute-heavy tasks he can set for the cluster. [bitluni] won’t have trouble thinking of them; he has a certain amount of experience with RISCV microcontroller clusters.

We were tipped off to this video by [Steven Walters], who is truly a prince among men. If you are equally valorous, please consider dropping informational alms into our ever-present tip line

Continue reading “160-core RISC V Board Is The M.2 CoProcessor You Didn’t Know You Needed”

A plywood box with a clear plastic front is shown. Three needle gauges are visible on the front of the box, as well as a digital display, several switches, and some indicator lights. At the right of the box, a short copper tube extends from the box.

Building An X-Ray Crystallography Machine

X-ray crystallography, like mass spectroscopy and nuclear spectroscopy, is an extremely useful material characterization technique that is unfortunately hard for amateurs to perform. The physical operation isn’t too complicated, however, and as [Farben-X] shows, it’s entirely possible to build an X-ray diffractometer if you’re willing to deal with high voltages, ancient X-ray tubes, and soft X-rays.

[Farben-X] based his diffractometer around an old Soviet BSV-29 structural analysis X-ray tube, which emits X-rays through four beryllium windows. Two ZVS drivers power the tube: one to drive the electron gun’s filament, and one to feed a flyback transformer and Cockroft-Walton voltage multiplier which generate a potential across the tube. The most important part of the imaging system is the X-ray collimator, which [Farben-X] made out of a lead disk with a copper tube mounted in it. A 3D printer nozzle screws into each end of the tube, creating a very narrow path for X-rays, and thus a thin, mostly collimated beam.

To get good diffraction patterns from a crystal, it needed to be a single crystal, and to actually let the X-ray beam pass through, it needed to be a thin crystal. For this, [Farben-X] selected a sodium chloride crystal, a menthol crystal, and a thin sheet of mica. To grow large salt crystals, he used solvent vapor diffusion, which slowly dissolves a suitable solvent vapor in a salt solution, which decreases the salt’s solubility, leading to very slow, fine crystal growth. Afterwards, he redissolved portions of the resulting crystal to make it thinner.

The diffraction pattern generated by a sodium chloride crystal. A slide is shown with a dark black dot in the middle, surrounded by fainter dots.
The diffraction pattern generated by a sodium chloride crystal.

For the actual experiment, [Farben-X] passed the X-ray beam through the crystals, then recorded the diffraction patterns formed on a slide of X-ray sensitive film. This created a pattern of dots around the central beam, indicating diffracted beams. The mathematics for reverse-engineering the crystal structure from this is rather complicated, and [Farben-X] hadn’t gotten to it yet, but it should be possible.

We would recommend a great deal of caution to anyone considering replicating this – a few clips of X-rays inducing flashes in the camera sensor made us particularly concerned – but we do have to admire any hack that coaxed such impressive results out of such a rudimentary setup. If you’re interested in further reading, we’ve covered the basics of X-ray crystallography before. We’ve also seen a few X-ray machines.

A man’s hand is visible holding a large, potato-shaped object in the foreground. A short, white, cylindrical structure is on the top of the potato, with black wires bending back into the potato. A smaller rectangular structure is to one side of it, and a red alligator clip connects to a nail protruding from the potato.

Building A Potato-based GLaDOS As An Introduction To AI

Although not nearly as intimidating as her ceiling-mounted hanging arm body, GLaDOS spent a significant portion of the Portal 2 game in a stripped-down computer powered by a potato battery. [Dave] had already made a version of her original body, but it was built around a robotic arm that was too expensive for the project to be really accessible. For his latest project, therefore, he’s created a AI-powered version of GLaDOS’s potato-based incarnation, which also serves as a fun introduction to building AI systems.

[Dave] wanted the system to work offline, so he needed a computer powerful enough to run all of his software locally. He chose an Nvidia Jetson Orin Nano, which was powerful enough to run a workable software system, albeit slowly and with some memory limitations. A potato cell unfortunately doesn’t generate enough power to run a Jetson, and it would be difficult to find a potato large enough to fit the Jetson inside. Instead, [Dave] 3D-printed and painted a potato-shaped enclosure for the Jetson, a microphone, a speaker, and some supplemental electronics.

A large language model handles interactions with the user, but most models were too large to fit on the Jetson. [Dave] eventually selected Llama 3.2, and used LlamaIndex to preprocess information from the Portal wiki for retrieval-augmented generation. The model’s prompt was a bit difficult, but after contacting a prompt engineer, [Dave] managed to get it to respond to the hapless user in an appropriately acerbic manner. For speech generation, [Dave] used Piper after training it on audio files from the Portal wiki, and for speech recognition used Vosk (a good programming exercise, Vosk being, in his words, “somewhat documented”). He’s made all of the final code available on GitHub under the fitting name of PotatOS.

The end result is a handheld device that sarcastically insults anyone seeking its guidance. At least Dave had the good sense not to give this pernicious potato control over his home.