[Adrian] has a lot of retrocomputers, so he uses an RGB to HDMI converter to drive modern monitors. In particular, he has a box that uses a programmable logic chip to read various RGB signals and ships them to a Raspberry Pi Zero to drive the HDMI output. Sounds great until, of course, something goes wrong.
A converter that had worked stopped working due to a bad board with the programmable logic chip on it. Unlike the retrocomputers, this board has little tiny surface mount components. A little analysis suggested that some of the chip pins were not accepting inputs.
Continue reading “Repairing An HDMI Adapter Doesn’t Go So Well”
Despite what it looks like in the movies, it is hard to communicate with astronauts from Earth. There are delays, and space vehicles don’t usually have a lot of excess power. Plus everything is moving and Doppler shifting and Faraday rotating. Even today, it is tricky. But how did Apollo manage to send back TV, telemetry, and voice back in 1969? [Ken Shirriff] and friends tell us part of the story in a recent post where he looks at the Apollo premodulation processor.
Things like weight and volume are always at a premium in a spacecraft, as is power. When you look at pictures of this solid box that weighs over 14 pounds, you’ll be amazed at how much is crammed into a relatively tiny spot. Remember, if this box was flying in 1969 it had to be built much earlier so there’s no way to expect dense ICs and modern packaging. There’s not even a printed circuit board. The components are attached to metal pegs in a point-to-point fashion. The whole thing lived near the bottom of the Command Module’s lower equipment bay.
Continue reading “Can You Hear Me Now? Lunar Edition”
Network Time Protocol (NTP) is one of the best ways to keep networked computers synchronized to the same time. It’s simple, lightweight, and not only allows computers to maintain a time standard together, but it also allows some computer manufacturers to save some money on hardware costs. The Raspberry Pi is perhaps the most well-known example of a low-cost computer without the extra expense of a real-time clock (RTC). While the Pi sets up NTP essentially automatically, other microcontrollers like the ESP32 don’t, but it is possible to configure them to use this time standard with some work.
For this project the MicroPython implementation for the ESP32 is required. MicroPython is a way of running Python code on microcontrollers or other embedded systems without all of the overhead that Python would normally require. Luckily enough, the NTP libraries are built right in so once MicroPython is running on the ESP32 it’s nearly as easy as calling the library. Of course you will have to make sure there is an internet connection, and then grab the time, sync it to the machine, and then set the timezone.
For a bonus exercise, the project’s creator [Bhavesh] suggests attempting to configure Daylight Savings Time, although this can be a surprisingly difficult problem to solve. In the meantime, there are a few other ways of installing a clock on a microcontroller like this one. An RTC module is an obvious choice, but you can also get incredibly accurate time by using a GPS module as well.
Ever since the world decided to transition from mechanical ball mice to optical mice, we have been blessed with computer pointing devices that don’t need regular cleaning and have much better performance than their ancestors. They do this by using what is essentially a tiny digital camera to monitor changes in motion. As we’ve seen before, it is possible to convert this mechanism into an actual camera, but until now we haven’t seen something like this on a high-performance mouse designed for FPS gaming.
For this project [Ankit] is disassembling the Logitech G402, a popular gaming mouse with up to 4000 dpi. Normally this is processed internally in the mouse to translate movement into cursor motion, but this mouse conveniently has a familiar STM32 processor with an SPI interface already broken out on the PCB that could be quickly connected to in order to gather image data. [Ankit] created a custom USB vendor-specific endpoint and wrote a Linux kernel module to parse the data into a custom GUI program that can display the image captured by the mouse sensor on-screen.
It’s probably best to not attempt this project if you plan to re-use the mouse, as the custom firmware appears to render the mouse useless as an actual mouse. But as a proof-of-concept project this high-performance mouse does work fairly well as a camera, albeit with a very low resolution by modern digital camera standards. It is much improved on older mouse-camera builds we’ve seen, though, thanks to the high performance sensors in gaming mice.
[Alyssa Rosenzweig] has been tirelessly working on reverse engineering the GPU built into Apple’s M1 architecture as part of the Asahi Linux effort. If you’re not familiar, that’s the project adding support to the Linux kernel and userspace for the Apple M1 line of products. She has made great progress, and even got primitive rendering working with her own open source code, just over a year ago.
Trying to mature the driver, however, has hit a snag. For complex rendering, something in the GPU breaks, and the frame is simply missing chunks of content. Some clever testing discovered the exact failure trigger — too much total vertex data. Put simply, it’s “the number of vertices (geometry complexity) times amount of data per vertex (‘shading’ complexity).” That… almost sounds like a buffer filling up, but on the GPU itself. This isn’t a buffer that the driver directly interacts with, so all of this sleuthing has to be done blindly. The Apple driver doesn’t have corrupted renders like this, so what’s going on?
Continue reading “Asahi GPU Hacking”
These days, mass storage for computers is pretty simple. It either uses a rotating disk or else it is solid state. There are a few holdouts using tape, too, but compared to how much there used to be, tape is all but dead. But it wasn’t that long ago that there were many kinds of mass storage. Tapes, disks, drums, punched cards, paper tape, and even stranger things. Perhaps none were quite so strange though as the IBM 2321 Data Cell drive — something IBM internally called MARS.
What is a data cell you might ask? A data cell was a mass storage device from IBM in 1964 that could store about 400 megabytes using magnetic strips that looked something like about a foot of photographic film. The strips resided inside a drum that could rotate. When you needed a record, the drum would rotate the strip you needed to the working part and an automated process would remove the strip in question, wrap it around a read/write head and then put it back when it was done.
Continue reading “Striping A Disk Drive The 1970 Way”
[Johnny] had a monitor that he was particularly fond of. The whole monitor appeared dead, and he decided to open it up and find out what could be wrong. He wound up fixing it — sort of — using a hairdryer. While we think his explanation of the problem is unlikely, we hate to armchair quarterback, and we applaud that he opened it up and got it working.
When something is dead, it is always a good idea to check the power and power supply, but that didn’t pan out in this case. In fact, the power supply board inside had what looked like reasonable voltage values throughout. The problem had to be something more subtle.
Continue reading “The Hair Dryer Monitor Fix”