Raspberry Pi 4B Telescope Control

Raspberry Pi 4B in Argon 40 case
Raspberry Pi 4B in an Argon 40 Neo Case

I hoped to use the Raspberry Pi 4B where the Raspberry Pi 3B seemed a little weak for the job. The 4B beats the 3B by 7% just from the clock speed. It helps that it has 4GB of RAM, too, but I wanted the disk I/O to be more responsive. To that end, a USB-3 to mSATA enclosure with a 240GB SSD that I had in my stash was added to one of the USB-3 ports. The Raspberry Pi boots off of the USB-SSD.

Raspberry Pi 4B with external SSD
Raspberry Pi 4B with external SSD

The external drive has the right chipset in it, according to this site. It does work with either USB-2 or USB-3, given a good cable. It's much, much faster than the MicroSD card. The SSD gives about a 7x improvement in performance over the Class 10 U1 MicroSD. To set it up to boot from the USB drive, I followed this article. At some point this will be obsolete, since the Raspberry Pi folks are adding USB boot back into the Pi 4B firmware.

To install kstars and indi (with all drivers) just do this:

wget -O - https://www.astroberry.io/repo/key | sudo apt-key add -
sudo su -c "echo 'deb https://www.astroberry.io/repo/ buster main' > /etc/apt/sources.list.d/astroberry.list"
sudo apt update
sudo apt install indi-full gsc kstars-bleeding
sudo apt upgrade

The next thing to do is to run KStars, click the Ekos button, and the Indi Control Panel. Set up the server with locally connected devices, select the devices for the telescope, camera, and focuser, and configure the communication. Test it by hitting the "Run" button followed by the "Connect" button. The devices should all connect and go ready. If they do, go ahead and end the Indi Control Panel, Ekos, and KStars.

So, the focuser, filterwheel camera and flat field box are sitting on my bench, and the telescope is somewhere between here and Tijuana in the back of a truck. It has issues. In the mean time, I'm running the telescope simulator, SBIG CCD, QHYCFW1, FlipFlat, and the Moonlite focuser. I made a file named 'indi' that runs the server command, so the Pi doesn't need to run KStars and Ekos to serve. The contents of the file:

indiserver -m 100 \
indi_moonlite_focus \
indi_qhycfw1_wheel \
indi_sbig_ccd \
indi_simulator_telescope \
indi_flipflat

The file needs the have the execute bit set:

chmod +x indi

Now we're ready to run. In a terminal in VNC or an ssh session, I run indi:

./indi

It prints the startup log message:

2020-07-22T18:57:39: startup: indiserver -m 100 indi_moonlite_focus indi_qhycfw1_wheel indi_sbig_ccd indi_simulator_telescope indi_flipflat 

And it's now a Raspberry Pi 4B Indi server.

I only load KStars/Ekos/Indi together on the Pi when I polar align or check the alignment of the secondary mirror. I have a VNC client on my phone, and I connect to the Pi and watch the donuts on the screen as I make adjustments.

Raspberry Pi 4B and Mac Mini
Raspberry Pi 4B vs. Mac Mini

The Pi 4B isn't as peppy as the 2.3GHz i7 Mac Mini, but it is plenty fast, and takes much less space at the scope. I have been asked why I don't run Ekos and the server both on the Pi, and to that I have to say Indi is a client-server app. I use a Mac Pro with its great GUI, scads of memory and three monitors as the Client in the house, and the Pi, with its small size and more than adequate power as the server at the telescope. The Mac Pro handles plate solving, running scripts to move the image files to their final directories, autofocusing, etc. The Pi handles mirror alignment, polar alignment, and the interfaces to camera, telescope and focuser. The network takes care of getting the images back to the client nicely.

Raspberry Pi 4B Argon40 Neo case mod
"Case mod" - drill some holes

The Pi 4B generates some heat, getting to 54°C indoors when nearly idle. I decided to try to solve the problem by drilling holes in the top cover and installing an Argon40 fan hat. The fan just clears the cover, so when it runs with the cover on, it makes much more noise than when the cover is off. But this is going to be run outside, so I really want the cover on. To keep the leaves out of the fan, if nothing else.

The temperature settles in at 25-27°C above ambient without the fan, but with the fan it drops to 9-12°C above ambient. Right now it is 39°C outside. Without the fan it would run at 64-66°C, and with the fan it would be between 48 and 51°C.