Hackaday Links Column Banner

Hackaday Links: March 21, 2021

If you think you’re having a bad day at work, pity the poor sysadmin at Victoria University of Wellington in Australia New Zealand, who accidentally nuked the desktops of pretty much everyone at the university. This apparently happened last week and impacted everyone connected to the university network with a Windows machine, which had any files stored on their desktops deleted and also appears to have reset user profiles to the default state. This caused no end of consternation, especially among those who use their desktop folder to organize work in progress; we’d imagine more than one student at VUW is hating life right now for not storing work on a backed-up network drive. The problem seems to have started with an attempt to clean up files and profiles left behind by former students; how that escalated to nuking files on the desktop will require some ‘splaining.

Speaking of mea culpas, there was quite a dustup this week in the Cricut community. It started when the maker of CNC cutting machines announced its intention to limit uploads to their online design software unless the user signs up for a $10 a month account. After getting an earful from the users, the CEO of the company announced that these changes would be delayed until the end of 2021. That decision still didn’t sit well with the community, which includes a fair number of users designing PCBs, and two days later, the CEO announced that they were throwing in the towel on the whole plan, and that everything was going back to status quo ante. Story over? We’ll see — it seems like Cricut has tipped its hand here that they’re looking to extract more money from the users, and the need for that likely hasn’t gone away just because they relented. As Elliot Williams pointed out when we discussed the whole debacle, it’s easy to see how Cricut could start adding new features to the paid version of their software, basically abandoning the free user base. We’ll have to see how the obviously vociferous community responds to something like that.

Much interesting news from Mars this week, where the Perseverance rover is getting used to its new home and getting itself ready to roll. Late last week, Perseverance successfully dropped the “belly pan” that was covering the sensitive instruments under the rover, including the Adaptive Sample Caching system that will seal up Martian core samples and drop them out onto the surface for later pickup. This seemingly simple task was a critical one; had the pan not cleanly separated, the mission could have been severely impacted. Perseverance also did a little test drive this week, and recorded what it sounds like to drive on Mars. The audio clip is 16 minutes long, and the noises coming from the billion-dollar rover are just awful at times. We hear clunks and clanks and squeals galore, and while we’re sure they all have a good explanation and will provide valuable engineering data, they sound somewhat alarming to us.

But not so alarming as the sounds that must have come from a Jeep that suffered a bad tow job recently. The cringe-making story starts with a brand-new Jeep being towed on its wheels behind a motorhome, which allows the RV owners to park their rig and still have something to drive around in while they camp. The towed vehicle, or “pusher”, is normally equipped with a manual transmission, as towing with the wheels on the ground for extended distances is easier with them. Unfortunately, the Jeep’s owner set up the shift levers wrong and left the transmission in first gear, with the transfer case in low range. The linked article estimates the gearing ratios meant that the poor Jeep’s engine was being spun at something like 54,000 RPM; chances are good the engine exploded long before that point. The damage shown in the video accompanying the article is just brutal — the oil pan and bell housing are gone, the bottom of the crankcase is blown out, and at least two pistons and their share of the crankshaft are missing in action. We feel sorry for the owner, but really wish the Jeep had had a belly cam like the one on Perseverance.

Arduino CLI For I/O Pin Testing

Need to quickly toggle or read some logic signals without the hassle of writing a quick program? [Thor_x86], aka [Eric], built an Arduino sketch that does just that — and he threw in the ability to send (or receive) serial messages, too. This is a neat idea — kind of a simplified Bus Pirate.

We should warn you that this is an early release, and there are a few minor issues which we are sure [Eric] will iron out soon. We discovered the function strtol() was misspelled in cmd_send.cpp, and there are some configuration #defines which need to be sorted out in file parsePin.cpp, depending on which Arduino module you are running. We got it running on an Arduino Leonardo the quickest, because it has support for Serial1().

Don’t be discouraged by these glitches in this rev 0 deployment — [Eric] has really made quite a nice tool here. Check his GitHub repository for updates (or submit corrections yourself). All in all, it’s a good addition to your digital tool box. On a completely unrelated note, we really like [Eric]’s USB cable with the right-angle micro connector, grungy though it may be.

Besides the standard tools like Bus Pirate, GreatFET, FTDI modules, etc., are there any similar tools you like to use for bit banging and serial testing? Let us know in the comments below.

Arduino And FPGA Done Differently

FPGA guru [Max Maxfield] recently took a look at the XLR8 (pronounced accelerate) board from a company called Alorium. On the surface, it looks like another Arduino UNO clone. But instead of a CPU, it contains an Intel MAX10 FPGA that runs a softcore AVR processor. Of course, that’s only part of the story. If the board was just a mock Arduino using an FPGA, that’s not very interesting for practical purposes. However, by incorporating accelerator blocks or XBs, you can add FPGA modules to the soft CPU. [Max] shows an example that you can see in the video below where an FPGA block controls servos more easily than a standard Arduino. There’s also a version that looks like an Arduino Nano, but can clock much faster as well as use the XBs.

In addition to prebuilt XBs, there is a workflow to build your own if you are familiar with working with FPGAs. The products aren’t exactly new, but we enjoyed [Max’s] take on the product. We also appreciated the simple code examples showing exactly how you would convert a program to use the accelerated functions. Continue reading “Arduino And FPGA Done Differently”

Flip-Dots Enter The Realm Of Fine Art

Flip-dot displays look and sound awesome. At least to all of us electronics geeks who dumpster dive for second-hand panels to add to our collections of esoteric display technology. But there are people thinking beyond the yellow/white dots on a black background. [BreakfastNY] have produced a new take on what a flip-dot display can be with color and a bit of theatrics.

Mechanically these are standard pixels that use an electromagnetic coil to pivot a disc between two states. But immediately you’ll see the inert display has a mosaic printed right on the dots. It gets even more fun to realize the same image is present on the rear of the dots but in a different color palette. In the case of this piece, entitled Empire State, it looks like a sunny day on one side and an overcast day on the reverse.

We wondered what this art collective was up to when they began selling flip-dot modules they had designed back in 2016. Having those kinds of connections meant they were able to sweet-talk their manufacturing partners into custom printing colors on the discs during manufacture. The group continues to use their camera-based interactivity that represents silhouettes on the display. The innovative color palette still lets that work quite well, but one really interesting animation choice here is an indeterminate flutter of the pixels. It builds a Matrix-style waterfall animating into the image, beckoning the viewer to walk over with the ulterior motive that this brings them within camera range.

If you want to give the flutter effect a try for yourself, you might want to peek at the 30 FPS flip-dot driver we saw a few weeks back as a responsive option.

Continue reading “Flip-Dots Enter The Realm Of Fine Art”

The Long Journey Ahead For Linux On Apple Silicon

An old joke from the Linux community about its prevalence in computing quips that Linux will run on anything, including some animals. While the joke is a little dated, it is true that Linux can run on just about any computing platform with a certain amount of elbow grease. The current exception is the new Apple M1 silicon, although one group called Asahi Linux is currently working to get Linux running on this novel hardware as well.

While the Apple M1 is specifically built to run macOS, there’s no technical reason why Linux couldn’t run on it once all of the kinks are ironed out. This progress report from last month outlines some of the current areas of focus, especially around booting non-Mac kernels. The new Apple silicon runs on an ARM processor and because of this it functions more like an embedded device than a PC with standardized BIOS or UEFI. This means a lot of workarounds to the proprietary boot process have to be created to get a Linux kernel to boot. Luckily there are already versions of Linux that run on ARM so a lot of work has already been done, but there’s still much ahead.

While it’s probably best to buy an x86 machine for the time being if you need a Linux on your own personal machine, it seems like only a matter of time until all of the barriers to Linux are overcome on the M1 silicon. If Linux is able to take advantage of some of the efficiency and performance benefits of these chips, it could be a game-changer in the Linux world and at least give us all another option for hardware. Of course, we will still be needing software that can run on ARM, too.

Thanks to [Mark] for the tip!

Video Ram Transplant Doubles RTX 3070 Memory To 16 GB

Making unobtainium graphics cards even more unobtainable, [VIK-on] has swapped out the RAM chips on an Nvidia RTX 3070. This makes it the only 3070 the world to work with 16 GB.

If this sounds familiar, it’s because he tried the same trick with the RTX 2070 back in January but couldn’t get it working. When he first published the video showing the process of desoldering the 3070’s eight Hynix 1 GB memory chips and replacing them with eight Samsung 2 GB chips he hit the same wall — the card would boot and detect the increased RAM, but was unstable and would eventually crash. Helpful hints from his viewers led him to use an EVGA configuration GUI to lock the operating frequency which fixed the problem. Further troubleshooting (YouTube comment in Russian and machine translation of it) showed that the “max performance mode” setting in the Nvidia tool is also a solution to stabilize performance.

The new memory chips don’t self-report their specs to the configuration tool. Instead, a set of three resistors are used to electronically identify which hardware is present. The problem was that [VIK-on] had no idea which resistors and what the different configurations accomplished. It sounds like you can just start changing zero Ohm resistors around to see the effect in the GUI, as they configure both the brand of memory and the size available. The fact that this board is not currently sold with a 16 GB option, yet the configuration tool has settings for it when the resistors are correctly configured is kismet.

So did it make a huge difference? That’s difficult to say. He’s running some benchmarks in the video, both Unigine 2 SuperPosition and 3DMark Time Spy results are shown. However, we didn’t see any tests run prior to the chip swap. This would have been the key to characterizing the true impact of the hack. That said, reworking these with a handheld hot air station, and working your way through the resistor configuration is darn impressive no matter what the performance bump ends up being.

Continue reading “Video Ram Transplant Doubles RTX 3070 Memory To 16 GB”

Arduino Serial Vs SerialUSB

[Andrew] wonders why the SerialUSB() function on the Cortex M3-based Arduino Due is so much faster than Serial() on the Uno or Nano, and shares his observations in this short video. He sets up an experiment with a simple sketch on both boards and uses Wireshark to evaluate the results.

Data is sent in the USB packets in groups of four characters on the ATmega-based boards, but the entire string is put in a packet on the Due board. If you look under the hood, the answer is hiding in plain sight. While the Arduino family of boards connect to your computer using a USB virtual serial port, the ATmega ones have an actual serial connection on-board. For instance, on the Nano there is an FT232RL between the USB connector and the microprocessor (on an Arduino Uno board, a small ATMEGA8U2 is used instead of an FTDI chip, but the concept is the same). On the Arduino Due, the USB connects directly to the SAM3X8E processor.

This concept doesn’t apply only to Arduino boards, of course. On any serial connection between two computers, when a virtual USB device is used on both sides of the link (no actual serial signals involved), the serial baud rate is a fictional thing — data transfer speeds depends on USB alone. We are curious why the packets contain four characters in [Andrew]’s ATmega Wireshark captures — why not 1, 2, or 10? Is this something that can be controlled by the programmer, or is it fixed by the protocol and/or the FTDI chip? If you have the answer, let us know in the comments below. Continue reading “Arduino Serial Vs SerialUSB”