New Part Day: Flush-mount Touchscreen For Retro PC Build

I recently had the opportunity to purchase an early version of a new display, and it happened to be just the thing I needed to make a project work. That display is the Elecrow 11.6″ CrowVision touchscreen slated for release in 2024. Preorders are being accepted on Crowd Supply.

I had an idea for a retro-inspired PC build that was just waiting for a screen like this. I’ll talk about the display and what’s good about it, then showcase the build for which it was the missing piece. If you’ve got a project waiting for something similar, maybe this part will provide what you need or at least turn on some new ideas.

What Is It?

The CrowVision 11.6″ 1366 x 768 touchscreen has an HDMI input, USB output for touch data, and accepts 12 V DC. It’s made to interface easily with a Raspberry Pi or other SBC (single-board computer).

Personally I consider a display like this to be the minimum comfortable size for using desktop type applications in a windowed environment. Most displays in this space are smaller. But aside from that, what helps make it useful for embedding into a custom enclosure is the physical layout and design.

Since I was looking for the largest display that could be flush-mounted in an enclosure without a lot of extra space around the display’s sides, it was just what I needed. The integrated touchscreen is a nice bonus.

Continue reading “New Part Day: Flush-mount Touchscreen For Retro PC Build”

Cowgol Development Environment Comes To Z80 And CP/M

Cowgol on Z80 running CP/M ties together everything needed to provide a Cowgol development environment (including C and assembler) on a Z80 running the CP/M operating system, making it easier to get up and running with a language aimed to be small, bootstrapped, and modern.

Cowgol is an experimental modern language for (very) small systems.

The Zilog Z80 was an 8-bit microprocessor common in embedded systems of the 1970s and 1980s, and CP/M was a contemporary mass-market operating system. As for Cowgol? It’s an Ada-inspired compiler toolchain and programming language aimed at very small systems, such as the Z80.

What’s different about Cowgol is that it is intended to be self-hosted on these small systems; Cowgol is written in itself, and is able to compile itself. Once one has compiled the compiler for a particular target architecture (for example, the Z80) one could then use that compiler on the target system to compile and run programs for itself.

Thankfully, there’s no need to start from scratch. The Cowgol on Z80 running CP/M repository (see the first link of this post) contains the pre-compiled binaries and guidance on using them.

Cowgol is still under development, but it works. It is a modern language well-suited to (very) small systems, and thanks to this project, getting it up and running on a Z80 running CP/M is about as easy as such things can get.

Thanks to [feinfinger] for the tip!

Intentional Filament Stringing Helps Santa Soar

Stringing is when a 3D printer’s hot end moves through open air and drags a wisp of melted plastic along with it. This is normally undesirable, but has in the past been done intentionally to create some unconventional prints. Moonlight Santa from [3dprintbunny] shows considerable refinement in the technique, complete with color changes that really make the result pop.

Using a 3D printer’s stringing in a constructive way is something that has been leveraged really well. We remember seeing a lion with a fantastic mane by combining this method with a little post-processing and a blast from a heat gun. The technique has also been applied to make brush bristles (the printer strings filament across two handles, and after printing it is cut in half to make two brushes.)

This isn’t [3dprintbunny]’s first rodeo, either. We loved seeing her show what kind of objects were possible by using clever design, with no reliance on custom G-code or weird slicer tricks. The color changes by filament swaps really make this new one stand out.

Making Visual Anagrams, With Help From Machine Learning

[Daniel Geng] and others have an interesting system of generating multi-view optical illusions, or visual anagrams. Such images have more than one “correct” view and visual interpretation.

What’s more, there are quite a few different methods on display: 90 degree flips and other (orthogonal) image rotations, color inversions, jigsaw permutations, and more. The project page has a generous number of examples, so go check them out!

The team’s method uses pre-trained diffusion models — more commonly known as the secret sauce inside image-generating AIs — to evaluate and work to combine the differences between different images, and try to combine and apply it in a way that results in the model generating a good visual result. While conceptually straightforward, this process wasn’t really something that could work without diffusion models driven by modern machine learning techniques.

The visual_anagrams GitHub repository has code and the research paper goes into details on implementation, limitations, and gives guidance on obtaining good results. Image generation is just one of the rapidly-evolving aspects of recent innovations, and it’s always interesting to see unusual applications like this one.

Mozilla Lets Folks Turn AI LLMs Into Single-File Executables

LLMs (Large Language Models) for local use are usually distributed as a set of weights in a multi-gigabyte file. These cannot be directly used on their own, which generally makes them harder to distribute and run compared to other software. A given model can also have undergone changes and tweaks, leading to different results if different versions are used.

To help with that, Mozilla’s innovation group have released llamafile, an open source method of turning a set of weights into a single binary that runs on six different OSes (macOS, Windows, Linux, FreeBSD, OpenBSD, and NetBSD) without needing to be installed. This makes it dramatically easier to distribute and run LLMs, as well as ensuring that a particular version of LLM remains consistent and reproducible, forever.

This wouldn’t be possible without the work of [Justine Tunney], creator of Cosmopolitan, a build-once-run-anywhere framework. The other main part is llama.cpp, and we’ve covered why it is such a big deal when it comes to running self-hosted LLMs.

There are some sample binaries available using the Mistral-7B, WizardCoder-Python-13B, and LLaVA 1.5 LLMs. Just keep in mind that if you’re on a Windows platform, only the LLaVA 1.5 will run, because it’s the only one that squeaks under the 4 GB limit on executable files that Windows has. If you run into issues, check out the gotchas list for troubleshooting tips.

LED Tester Also Calculates Resistor For Target Voltage

[mircemk] built a slick-looking LED tester with a couple handy functions built in. Not only can one select a target current to put through an LED, but by providing a target voltage, the system will automatically calculate the necessary series resistor. If for example the LED is destined for 14 V, this device will not only show how the LED looks at the chosen current, but will calculate the required resistor to get the same results on a 14 V system.

The buttons on the left control the target current and the voltage of the destination system. Once an LED is connected it will light up and the display indicates the LED’s forward voltage, the LED current, and the calculated series resistor value to obtain the same result at the selected target voltage. It’s a handy way to empirically dial in LED brightness values without needing to actually set up any particular test environment.

On the inside there’s little more than a handful of passive components, an Arduino, an LCD display, and a few buttons. This kind of tool reminds us of the highly clever component testers that hit the hobbyist scene years ago, showing what kind of advanced tricks a modern microcontroller is capable of with the right programming. (Here’s a look at how those work, if you’re interested in some deeper details.)

[mircemk] demonstrates his tool in the video, embedded below. We particularly like the attention he paid to the enclosure, giving it a very functional layout. It goes to show that when designing something, it’s never too early to consider enclosure and UI layout.

Continue reading “LED Tester Also Calculates Resistor For Target Voltage”

Radio Emissions Over Sunspots Challenge Models Of Stellar Magnetism

Sustained radio emissions originating from high over a sunspot are getting researchers thinking in new directions. Unlike solar radio bursts — which typically last only minutes or hours — these have persisted for over a week. They resemble auroral radio emissions observed in planetary magnetospheres and some stars, but seeing them from about 40,000 km above a sunspot is something new. They don’t seem tied to solar flare activity, either.

The signals are thought to be the result of electron cyclotron maser (ECM) emissions, which involves how electrons act in converging geometries of magnetic fields. These prolonged emissions challenge existing models and ideas about how solar and stellar magnetic processes unfold, and understanding it better could lead to a re-evaluation of existing astrophysical models. Perhaps even leading to new insights into the behavior of magnetic fields and energetic particles.

This phenomenon was observed from our very own sun, but it has implications for better understanding distant stellar bodies. Speaking of our sun, did you know it is currently in it’s 25th Solar Cycle? Check out that link for a reminder of the things the awesome power of our local star is actually capable of under the right circumstances.