2023-10-26

Cyberdecking the Raspberry Pi 400 on the Eurostar to Brussels

There I was, sitting on the Eurostar to Brussels when I remembered that I had with me a Raspberry Pi 400, an Adafruit CYBERDECK HAT and a Joy-IT 3.5" display. I'd been traveling with the Pi using it connected to hotel TVs via HDMI and with whatever USB-C I could connect to for power. But with two hours of time to sit, it was CYBERDECK TIME!


Of course that meant booting the Raspberry Pi with no display attached at all because the Joy-IT display needs a special driver which I had not installed. I had, however, set up the Pi to try to find the wireless network on my phone's Personal Hotspot.

Multicast DNS to the rescue


So... I booted up what looked like a keyboard and then used Termius on my phone to connect to the name I'd previously set for the Pi: cyberdeck.local. .local DNS names are interesting because they aren't resolved by the standard DNS resolver method but through Multicast DNS using the Avahi daemon running on Debian on the Pi. 

Oct 26 12:28:41 cyberdeck avahi-daemon[558]: Server startup complete. Host name is cyberdeck.local.

That allowed Termius to find the device on the shared Personal Hotspot network.


From there I was able to make the Pi download the relevant Joy-IT driver and start configuring. And I hit a roadblock. The instructions for configuring it are in a PDF. And the iPhone stubbornly allowed me to select but not copy the relevant lines to add to /boot/config.txt


I really did not want to flip back and forth between nano running in Termius and this PDF, and was worried I'd bork config.txt and have an unbootable machine. 

Modern problems require modern solutions


But then I remembered that the iPhone Photos app can OCR text! So, I took a screenshot of the PDF and 
was able to select and copy the text from a photo of a PDF.


I pasted that into /boot/config.txt (and double-checked the OCR) and hand edited /boot/cmdline.txt to add the fbcon=map:10 to the console= line.

And it worked! A quick sudo reboot and I had a working CYBERDECK!


After I finally got home I realized that as nice as the little screen and connector are, they are very flimsy and I really needed something to stabilize them. So it was off to OpenSCAD to design a bracket that fits between the display and the Pi and gives it some stability.

Here's the thing in OpenSCAD.


And here's the printed item.


The triangular portion rests against the corner of the Pi; the two slots match two parts of the display PCB that stick out. It's possible to screw the thing to the display PCB as there are two holes in the PCB for that purpose.

If you need to build one of these, here's the code:

difference() {
  linear_extrude(70)
    polygon([[0,1.5], [0,20], 
             [8,20],  [8,25],  [11,25], [11,19], 
             [18,19], [14,12], [20, 9], [18,1.5],
             [0,1.5]]);
    
  for (z = [13, 51]) {
    translate([8, 21, z])
      rotate([0,90,0])
        linear_extrude(3) square([11,2]);
  }
} 

And here's what it looks like in place.


Now I have a lightweight machine that I can travel with and either use with the small screen or connect to a TV via HDMI. It can tether to my phone or connect to local WiFi and has an Ethernet port (I discovered that in some hotels the Ethernet going to the TV actually has Internet connectivity). The Pi needs about 5W so I can power it from USB-C power supplies and even portable batteries.

So, now I'm ready for anything.

2023-10-14

"Hacker News" for retro computing and gaming

I noticed over time that I was drawn to the retro computing or gaming posts on Hacker News. So, I've set up a dedicated web site in the same style called Two Stop Bits. The site works pretty much exactly the same as Hacker News because it's running my modified version of the Hacker News source code as released with the Arc language.

If you're interested in reading about (and posting about) retro computing or gaming feel free to stop by.

2023-10-10

The demise of my Aiwa HV-MX100 VCR

Around 25 years ago I bought an Aiwa HV-MX100 VCR for $799 in Fry's Electronics. This particular VCR is multisystem and can handle NTSC, PAL, SECAM (and variants) for recording or playback. It was very, very useful for watching movies from around the world.


It had been sitting unused for many years and I decided to see if it was still working. First step was to take a look inside at the state of capacitors (and particularly) inside the power supply.


It was pretty clean inside and removing and inspecting the power supply didn't show any obviously dying capacitors.



So, it was worth powering it on. I did so and it almost immediately went into standby; that's a sure fire indication of "something's wrong with the mechanism". So, time to remove the mechanical parts. The electronics all look very clean and there's no corrosion or dirt.

But can you spot something out of place? It's the belt that connects the motor to the mechanism. Part of it is laying on the PCB.


The little brush that's meant to clean the head drum was disintegrating into dust, so I removed it completely and decided to live without it. It's of dubious value anyway.



Next I cleaned the mode switch mechanism that allows the VCR to know what position all the moving parts are in. It can get corroded or stuck and so seemed like a good thing to do.


The belt that connects the motor to the mechanism had melted into a black mess and needed to be cleaned off the capstans. Only a short section remained attached to the motor. Happily, WebSpareParts had a replacement.


I was feeling pretty good about the repair when I made a horrible discovery. The head drum was completely jammed. That's a very bad sign. Of all the things I don't want to try to fix it's the head drum. And finding a replacement would not be easy. 

No one manufactures VCRs any more and it would be hard to find the same one (I'd likely have to buy another VCR of the same type and scavenge the head drum... at which point I might as well buy a working VCR).


So, having decided this VCR was likely not going to get fixed I did something I'd have never done in the past: opened the head drum. It's the most sensitive part of the whole machine. And inside I discovered:


Given that it looks like it's made of aluminium, I'm guessing that's aluminium oxide. Of all the parts in this machine to corrode it had to be this one!

I did clean it all up and reassemble everything. And I did get an image and sound out of the machine but between the auto-tracking going wild and the fact that there's a nasty noise coming from the head drum the machine is no longer useable.

I guess the question is... do I try to find someone in Europe with the same machine who wants to part with it for spare parts?