Evan Heisman's Web Log

Jun 20, 2022

Android TV box as Ham Computer

(This post is very much a work-in-progress when posted, and I mostly wrote up from my notes on configuring the box)

I've been wanting to set up a couple of projects that would be best served by something like a Raspberry Pi - lightweight processes that are always on. Unfortunately, they're impossible to find. I had been considering replacing my TV computer (really my spouse's old laptop) with an Android/Chromecast device, and after a little research I found a review of one sold by Walmart for $20. That lead me to the question every nerd should ask when they see a device that cheap... does it run Linux? I didn't find an answer to that question, but I found many similar generic Android TV boxes for sale on various websites. Surely those run Linux, and of course they do.

(Side note: I've variously tried to run my ham projects on WSL and not had much luck on my old Windows 10 machine. Remote GUI was a pain, and Linux audio is always a difficulty. So back to a dedicated Linux box.)

There are a variety of these, powered by a number of SoC processors, but the Amlogic S9xx series seems well supported by the Armbian project, and readily available. (Note: After ordering this board, I found some concerns about Armbian's practices.)

After searching for various devices and comparing specifications with prices, I decided to buy one for around $30 that included 64GB eMMC storage and 4GB RAM, but only 100M ethernet. For $30, this should be sufficient for my ham shack machine, and maybe enough to run a few other services. Following their instructions, and these extra steps to configure booting.

Boot configuration

My model wasn't specifically listed (Sunisery H96 Max, says s905x2 CPU with 4G RAM), a similar sounding "X96 MAX" was available, so I ended up trying this dtb file: meson-g12a-x96-max.dtb. It seems to work. When trying to reboot the TV box into linux, don't forget to hit the reset button (inside the AV port) to enable multiboot.

Next Steps

Now that I have Linux booting on this device, I can work towards the following - WSJT-X configuration with SDR for 6m/VHF reception - Shack Control box to remotely turn on radio and run remote antenna switch. - APRS iGate with KISS TNC, GPS module, old 2m radio?

Concerns

  • Ethernet not functional: Have not investigated this one yet.
  • Unable to change passwords: Solution - I just needed to use sudo passwd from my account.
  • Long term support of Armbian?: Armbian states that their mission is to extend support for these unsupported ARM SoCs, which I greatly appreciate. I feel like I've been burned on dev boards going out of support before, so I'm still a little worried.
  • Power draw from small power supply: Plugging in my Griffin iMic USB sound card works fine. A beefier USB sound card (with RCA inputs and several more channels) appeared to draw too much power. I have a powered USB 2.0 hub that I should test it with.

Apr 17, 2022

Ham Radio in WSL

I have been trying to run my ham radio programs in WSL lately. I've poked around with WSL in the past to run a media servers, but never looked into it much in regards to hardware or porgrams with a GUI. Unfortunately, I haven't found a good SDR receiver software for Windows that will interface via audio with "soundcard" mode software, such as the WSJT-X.

So, I'm running my shack on an old (circa 2010-2012) gaming desktop that is stuck on Windows 10. I'd still like to play games on it, and I currently use the Windows side as a fileserver for backups. As a result, I don't want to boot into Linux just to keep a ham receiver running overnight.

Of course, an easier answer would be put move all this to a remote linux box running on a lower powered SBC. The downsides to that are that it costs money (and boy are Raspberry Pis expensive these days), and it's one more device to administer, whereas this experimentation only costs time.

I figure I'll need to make the following WSL features work to use it for ham radio:

I've tested these on my Windows 11 tablet, where I'm now stuck on SoapySDR/CubicSDR finding the RTLSDR receiver but not appearing to actually pull data from it. Now I need to try these steps again on my Windows 10 desktop. I'm stuck on the GUI working from there, I think I need to experiment with X Forwarding next.

Once I have those features working, I plan on testing WSJT-X and CubicSDR (which relies on SoapySDR).

Feb 05, 2022

Remote Control Power Supply

Motivation

I've been trying to operate my HF radio station remotely for the last month, using Windows Remote Desktop and WSJT-X to sit and make some FT8 contacts while drinking my morning coffee. This has worked well but I want to remove the step of having to remember to turn off my radio when I am done. The power supply and radio are mounted in a closed cabinet. Leaving the cabinet open invites exploration by our feline companion, while leaving it shut and powered up for long periods of time may result in the temperature rising more than I want.

I ordered a simple relay board and decided to put it inside of my power supply, to be triggered by a program on the computer to turn the station on and off. West Mountain Radio sells a network connected control and monitor system with Power Pole connectors that would be great for this, but it's also $280 which is a lot more than I want to spend for this little effort.

Progress

Last weekend after getting all the parts, I took a few moments out in my shop to drill out some holes and mount the relay board, and wire the relay into the circuit of the power supply. I had selected a relay that is adequate for the AC side of the power supply, which are more commonly available on a premade board than those capable of handling 12V/25A. I made a few mistakes wiring it up, first mistakenly wiring it in series with the light inside the switch, and then wiring it to be normally closed when the relay is not powered.

relay mounted in power supply. relay close up.

The final mistake I made was wiring up connector that I put on the back of my power supply. I had decided to use a 1/8" TRS connector to provide power, ground, and signal to the relay from the control board, but instead of soldering to the tip and ring pins, I soldered to pins used to indicate when the plug is removed! I connected ground to the shield, power to the ring, and signal to the tip, figuring this would ensure the least bad results if any of the pins made contact while inserting the plug.

bad plug wiring

After fixing the misconnected pins on the TRS socket, I needed to wire this up to my computer somehow. My temporary solution is to use an old Arduino (which has been flaky to program) to provide +5V and ground to power the relay whenever my computer is connected to it. Longer term, I am planning to develop a shack control board and software that can use an Arduino or similar board to monitor and control several aspects of my shack.

Nov 13, 2021

Projects

Woodworking

Ongoing:

Completed:

Someday:

  • Solid wood base for a custom record player
  • New legs for my desk

Ham Radio

Ongoing:

Someday:

Computers/Programming

Ongoing:

Completed:

Python

R

Someday:

  • Email migration from gmail

Nov 09, 2021

New blog

TODO items (updated occasionally)

  • get a decent theme working
    • turns out your pelican-themes directory needs to actually have themes in it! I naively cloned the pelican-themes github repo and got empty directories.
    • make markdown first level headers slightly smaller than post title.
    • add <h2> css to make slightly smaller than <h1>: updated theme's main.css, maybe there should be a better approach. Tried adding a second css file to template's base.html. Learned about the > operator in css. New css file works well enough.
  • Insert header image - on hold
    • need to modify base.html template; identify file, add static image.
  • upload a few photos of woodworking projects - in progress
  • upload some short descriptions of programming projects - in progress
  • add caption style using img + p in css