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.

Retrotechtacular: Manufacturing Philco Germanium Transistors

There was a time when all major corporations maintained film production departments to crank out public relations pieces, and the electronic industry was no exception. Indeed, in the sea-change years of the mid-20th century, corporate propaganda like this look at Philco transistor manufacturing was more important than ever, as companies tried to pivot from vacuum tubes to solid-state components, and needed to build the consumer electronics markets that would power the next few decades of rapid growth.

The film below was produced in 1957, just a decade since the invention of the transistor and only a few years since Philco invented the surface-barrier transistor, the technology behind the components. It shows them being made in their “completely air-conditioned, modern plant” in Pennsylvania. The semiconductor was germanium, of course — the narrator only refers to “silly-con” transistors once near the end of the film — but the SBT process, with opposing jets of indium sulfate electrolyte being used to both etch the germanium chip and form the collector and emitter of the transistor, is a fascinating process, and these transistors were quite the advance back in the day. It’s interesting, too, to watch the casual nature of the manufacturing process — no clean rooms, no hair nets, and only a lab coat and “vacuum welcome mats” to keep things reasonably clean.

As in most such corporate productions, superlatives abound, so be prepared for quite a bit of hyperbole on the part of the Mid-Atlantic-accented narrator. And we noticed a bit of a whoopsie near the end, when he proudly intoned that Philco transistors would be aboard the “first Earth satellite.” They were used in the radio of Explorer 1, but the Russians had other ideas about who was going to be first.

And speaking of propaganda, don’t forget that at around this time, vacuum tube companies were fighting for their lives too. That’s where something like this designer’s guide to the evils of transistors came from.

Continue reading “Retrotechtacular: Manufacturing Philco Germanium Transistors”

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”