On 3D Scanners And Giving Kinects A New Purpose In Life

The concept of a 3D scanner can seem rather simple in theory: simply point a camera at the physical object you wish to scan in, rotate around the object to capture all angles and stitch it together into a 3D model along with textures created from the same photos. This photogrammetry application is definitely viable, but also limited in the sense that you’re relying on inferring three-dimensional parameters from a set of 2D images and rely on suitable lighting.

To get more detailed depth information from a scene you’d need to perform direct measurements, which can be done physically or through e.g. time-of-flight (ToF) measurements. Since contact-free ways of measurements tend to be often preferred, ToF makes a lot of sense, but comes with the disadvantage of measuring of only a single spot at a time. When the target is actively moving, you can fall back on photogrammetry or use an approach called structured-light (SL) scanning.

SL is what consumer electronics like the Microsoft Kinect popularized, using the combination of a visible and near-infrared (NIR) camera to record a pattern projected onto the subject, which is similar to how e.g. face-based login systems like Apple’s Face ID work. Considering how often Kinects have been used for generic purpose 3D scanners, this raises many questions regarding today’s crop of consumer 3D scanners, such as whether they’re all just basically Kinect-clones.

Continue reading “On 3D Scanners And Giving Kinects A New Purpose In Life”

Mesa Project Adds Code Comprehension Requirement After AI Slop Incident

Recently [Faith Ekstrand] announced on Mastodon that Mesa was updating its contributor guide. This follows a recent AI slop incident where someone submitted a massive patch to the Mesa project with the claim that this would improve performance ‘by a few percent’. The catch? The entire patch was generated by ChatGPT, with the submitter becoming somewhat irate when the very patient Mesa developers tried to explain that they’d happily look at the issue after the submitter had condensed the purported ‘improvement’ into a bite-sized patch.

The entire saga is summarized in a recent video by [Brodie Robertson] which highlights both how incredibly friendly the Mesa developers are, and how the use of ChatGPT and kin has made some people with zero programming skills apparently believe that they can now contribute code to OSS projects. Unsurprisingly, the Mesa developers were unable to disabuse this particular individual from that notion, but the diff to the Mesa contributor guide by [Timur Kristóf] should make abundantly clear that someone playing Telephone between a chatbot and OSS project developers is neither desirable nor helpful.

That said, [Brodie] also highlights a recent post by [Daniel Stenberg] of Curl fame, who thanked [Joshua Rogers] for contributing a massive list of potential issues that were found using ‘AI-assisted tools’, as detailed in this blog post by [Joshua]. An important point here is that these ‘AI tools’ are not LLM-based chatbots, but rather tweaked existing tools like static code analyzers with more smarts bolted on. They’re purpose-made tools that still require you to know what you’re doing, but they can be a real asset to a developer, and a heck of a lot more useful to a project like Curl than getting sent fake bug reports by a confabulating chatbot as has happened previously.

Continue reading “Mesa Project Adds Code Comprehension Requirement After AI Slop Incident”

Segger’s Awkward USB-C Issue With The J-Link Compact Debugger

Theoretically USB-C is a pretty nifty connector, but the reality is that it mostly provides many exciting new ways to make your device not work as expected. With the gory details covered by [Alvaro], the latest to join the party is Segger, with its J-Link BASE Compact MCU debugger displaying the same behavior which we saw back when the Raspberry Pi 4 was released in 2019. Back then so-called e-marked USB-C cables failed to power the SBC, much like how this particular J-Link unit refuses to power up when connected using one of those special USB-C cables.

We covered the issue in great detail back then, discussing how the CC1 and CC1 connections need to be wired up correctly with appropriate resistors in order for the USB-C supply – like a host PC – to provide power to the device. As [Alvaro] discovered through some investigation, this unit made basically the same mistake as the RPi 4B SBC before the corrected design. This involves wiring CC1 and CC2 together and as a result seeing the same <1 kOhm resistance on the active CC line, meaning that to the host device you just hooked up a USB-C audio dongle, which obviously shouldn’t be supplied with power.

Although it’s not easy to tell when this particular J-Link device was produced, the PCB notes its revision as v12.1, so presumably it’s not the first rodeo for this general design, and the product page already shows a different label than for the device that [Alvaro] has. It’s possible that it originally was sloppily converted from a previous micro-USB-powered design where CC lines do not exist and things Just Work™, but it’s still a pretty major oversight from what should be a reputable brand selling a device that costs €400 + VAT, rather than a reputable brand selling a <$100 SBC.

For any in the audience who have one of these USB-C-powered debuggers, does yours work with e-marked cables, and what is the revision and/or purchase date?

Playing DOOM In Discord With A Special Image URL

Can you play DOOM in Discord? At first glance, that may seem rather nonsensical, as Discord is a proprietary chat service and neither a hardware device nor something else that may seem like an obvious target for being (ab)used for demon-shooting points. That is, until you look at Discord’s content embedding feature. This is where [PortalRunner]’s Doomcord hack comes into play, allowing you to play the entire game in a Discord client by submitting text messages after embedding a very special image URL.

Rather than this embedding being done in the client as done with e.g., IRC clients, the Discord backend handles the content fetching, caching, and handing off to clients. This system can easily be used with an animated GIF of gameplay, but having it be seen as a GIF file required adding .gif to the end of the URL to trick Discord’s backend into not simply turning it into a static PNG. After this, Discord’s throttling of message speed turned out to kill the concept of real-time gameplay, along with the server load.

Plan C thus morphed into using Chocolate Doom headless, rendering gameplay into cached video files by using the demo gameplay feature in DOOM. The Doomcord server template project provides a server if you want to give it a whirl yourself. Since this uses recorded gameplay, the switch was made from GIF to the WEBP format to save space, along with a cache expiry system. Just level 1 with all possible input sequences takes up 12 TB of disk space.

Continue reading “Playing DOOM In Discord With A Special Image URL”

The New Raspberry Pi 500+: Better Gaming With Less Soldering Required

When Raspberry Pi released the Pi 500, as essentially an RPi 5 integrated into a chiclet keyboard, there were rumors based on the empty spots on the PCB that a better version would be released soon. This turned out to be the case, with [Jeff Geerling] now taking the new RPi 500+ to bits for some experimentation and keyboard modding.

The 500’s case was not designed to be opened, but if you did, you’d find that there was space allocated for a Power-Over-Ethernet section as well as an M.2 slot, albeit with all of the footprints unpopulated. Some hacking later and enterprising folk found that soldering the appropriate parts on the PCB does in fact enable a working M.2 slot. What the 500+ thus does is basically do that soldering work for you, while sadly not offering a PoE feature yet without some DIY soldering.

Perhaps the most obvious change is the keyboard, which now uses short-travel mechanical switches – with RGB – inside an enclosure that is now fortunately easy to open, as you may want to put in a different NVMe drive at some point. Or, if you’re someone like [Jeff] you want to use this slot to install an M.2 to Oculink adapter for some external GPU action.

After some struggling with eGPU devices an AMD RX 7900 XT was put into action, with the AMD GPU drivers posing no challenge after a kernel recompile. Other than the Oculink cable preventing the case from closing and also losing the M.2 NVMe SSD option, it was a pretty useful mod to get some real gaming and LLM action going.

With the additions of a presoldered M.2 slot and a nicer keyboard, as well as 16 GB RAM, you have to decide whether the $200 asking price is worth it over the $90 RPi 500. In the case of [Jeff] his kids will have to make do with the RPi 500 for the foreseeable future, and the RPi 400 still finds regular use around his studio.

Continue reading “The New Raspberry Pi 500+: Better Gaming With Less Soldering Required”

Surprisingly Refined Perpetual Motion Device Teardown

Perpetual motion devices are either a gag, a scam, or as in the case of this particular toy that [Big Clive] bought on AliExpress, a rather fascinating demonstration of a contact-free inductive sensor combined with a pulsed magnet boost for the metal ball. A cool part about the device is that it comes with a completely clear enclosure, so you can admire its internals while it’s operating. Less cool was that after unboxing the device wasn’t working as the detector wasn’t getting the 12 V it needs to operate, requiring a bit of repairing first.

The crucial part of the perpetual motion device schematic with the sensor, MCU and coil. (Credit: bigclivedotcom, YouTube)
The crucial part of the perpetual motion device schematic with the sensor, MCU and coil. (Credit: bigclivedotcom, YouTube)

Based on the label on the bottom of the device with the creative model identifier P-toy-002, its standby current is 10 µA which ramps up to 3 A when it’s operating. This makes sense when you look at the two core components: the industrial inductive detector, and a rather big electromagnet that’s driven by a bank of three 10 mF, 35V capacitors, turning it into something akin to a coilgun. Annoyingly, an attempt was made to erase most of the IC package markings.

The circuitry isn’t too complex, fortunately, with an adjustable electromagnet coil voltage circuit combined with a MOSFET to provide the pulse, and a 78L12 regulator to generate the 12 VDC from the coil’s voltage rail for the sensor that is monitored by a MCU.

Continue reading “Surprisingly Refined Perpetual Motion Device Teardown”

RTINGS 10-Year Equivalent TV Longevity Update With Many Casualties

For the past two-and-half years Canadian consumer testing outfit RTINGS has been running an accelerated aging experiment across a large number of TVs available to a North-American audience. In their most recent update, we not only  find out about the latest casualties, but also the impending end of the experiment after 18,000 hours — as the TVs are currently failing left and right as they accelerate up the ascending ramp of the bathtub curve.

Some of these LEDs are dead, others are just wired in series. (Credit: RTINGS.com)
Some of these LEDs are dead, others are just wired in series.

The dumbest failure type has to be the TVs (such as the Sony X90J) where the failure of a single dead backlight LED causes the whole TV to stop working along with series-wired LED backlights where one dead LED takes out a whole strip or zone. Other failures include degrading lightguides much as with our last update coverage last year, which was when edge-lit TVs were keeling over due to overheating issues.

Detailed updates can be found on the constantly updating log for the experiment, such as on the failed quantum dot diffusor plate in a TCL QLED TV, as the quantum dots have degraded to the point of green being completely missing. Although some OLEDs are still among the ‘living’, they’re showing severe degradation – as pictured above – after what would be the equivalent of ten years of typical usage.

Once the experiment wraps up it will be fascinating to see who the survivors are, and what the chances are of still using that shiny new TV ten years from now.

Continue reading “RTINGS 10-Year Equivalent TV Longevity Update With Many Casualties”