Introduction

As well as the telescope pier I like to have a DSLR (an astro-modified Canon EOS 450D) on a Skywatcher Star Adventurer mount around in the garden. It makes for a nice little mobile arrangement that can be set up at a moment’s notice. Usually the set up consists of the camera, a lens warmer, power for the mount and an intervalometer for controlling the timing of pictures being captured.

Having really enjoyed setting up a Raspberry Pi 4 running KStars, EKOS and INDI for the pier based telescope I thought that putting a ‘one stop’ solution together, able to do the same as the above plus a few extras, for the DSLR would be a great little side project.

There are a few little limitations that I like to be able to overcome with the current DSLR set up.

Battery life on the DSLR is pretty short usually, and getting shorter as the battery ages. I am currently getting about three to three and a half hours. To do longer star trails and so on, ideally I would like that limitation to go altogether.

The mount and heater are powered with a portable battery, and again diminishing battery life proves to be a bit of an issue.

Lastly, a minor point; messing about with SD cards or plugging the camera into a laptop to get the images. It would be nice to be able to do that remotely without wires or carrying cards about.

Requirements

I decided that the control box would have to be able to fulfil the following requirements:

  • Provide power for the DSLR, lens warmer and Skywatcher mount
  • Download image data from the DSLR to local storage
  • Be able to send and receive data over my local network (WiFi or ethernet) for remote desktop control and downloading images
  • Be powered from a 12 V power supply
  • Perform the above tasks reliably and ideally in a single, and reasonably weather-proof package

Plan

The overall idea for the box is that it is supplied power via a 12 V DC and has the ability to be connected to my local network via Ethernet. Why not WiFi, you might ask? I have never had really trouble-free operation with discrete devices running on WiFi; in other words, once they become unresponsive for some reason, one ends up having to walk to where they are and plug them in anyway. Having a wired connection just eliminates a frequent source of problems as far as I am concerned.

Surprisingly, perhaps, an ethernet connection and a 12 V supply can be achieved over a single CAT5 cable; read on at Power and Network on a Single Cable for seeing how that’s possible. The peripherals have a couple of different power requirements, thankfully all of which can be supplied using USB 5 V power distribution:

  • Canon EOS 450D requires 7.1 V, achievable via a USB powered battery insert
  • Lens warmer required 5 V but has a USB connector
  • Raspberry Pi, 5 V powered via a USB C input
  • Skywatcher mount, 5 V powered via a mini USB input

I had a search for something that would be capable of taking a 12 V input and stepping it down to 5 V with USB ports (not data, just power). Turns out, such a thing exists in the form of a 4 port USB power supply, I think for the automotive market - 12V To 5V 5A Step Down 4 Port USB DC Power Supply Module Mobile Tablets Charger as it was titled on eBay. Just make sure that if you do get one of these, always be sceptical regarding the current rating. It may well not be capable of having 5 A drawn from it!

With the above in mind I built up a list of things that would have to be purchased to start the project, namely:

  • Raspberry Pi Model 4B
  • 32 Gig SD Card
  • IP66 Project Box
  • 1 x short USB C lead (Pi power supply)
  • 2 x Mini USB leads
  • 1 x USB to 7.1 V Canon power pack
  • 1 x 5 V / 5 A 4 port USB power supply, stepping down from 12 V + (sold in pairs)
  • 5 V 40mm cooling fan

Next job was then to hit a well known auction site and do some shopping with the exception of the Raspberry Pi which would come from my usual supplier RS online.

Construction

The build took only a few hours once all the bits that I needed had arrived. Post being what it is at the moment (COVID-19 times) I had to wait a few weeks rather than a few days, but never mind… keeps one in suspense! The Raspberry Pi and USB power supply

astropi-dslr Parts

astrpi-dslr Parts

Power and Network on a Single Cable

Yes, it’s possible! As long as you are not after gigabit transfer speeds from the control box to somewhere else on your network; not a problem for me!

Use of sending power down 4 redundant lines in Ethernet.

PinFunctionWire Colour (T568B )
1TX+white/orange stripe
2TX-orange solid
3RX+white/green stripe
412 V DC #1blue solid
5Gnd #1white/blue stripe
6RX-green solid
712 V DC #2white/brown stripe
8Gnd #2brown solid

 

You can probably see that there are a couple of spare pairs of wires…

Power and network cable for astropi-dslr

Power and network cable for astropi-dslr

LED for power and activity - no, go for a simple acrylic light pipe arrangement.

astrpi-dslr "on" light

astrpi-dslr “on” light

Stuff

The astropi-dslr Internals

The astropi-dslr Internals

Things

Testing

Network issues where the Pi won’t connect. Aha, /etc/rc.local needs editing with an ethtool command.

# Limit net adapter speed to less than gigabit
ethtool -s eth0 speed 100 duplex full autoneg off

So it goes awry here when I start to connect all the bits. Low voltage causing the Pi to reset.

Result

Here it is

astropi-dslr_outside-setup

Up and running in the garden

Overnight Problem - Random Shutdown

So I decided to run an overnight test by setting up a sequence of 120 frames, 120 seconds each. Set the session running before bed and left it going by itself until the early hours. Waking up and checking the drive contents the following morning it becomes apparent that the Pi has rebooted itself at some point; only 93 frames had been taken and the uptime on the Pi was less than three hours.

The first step was to take a look at some system logs on the Pi. As it turns out I was lucky with my first strike - the kernel log at /var/log/kern.log:

pi@astropi-dslr:/var/log $ tail -f /var/log/kern.log
May 14 01:41:09 astropi-dslr kernel: [12360.802989] brcmfmac: power management disabled
May 14 01:43:35 astropi-dslr kernel: [12506.779127] Under-voltage detected! (0x00050005)
May 14 01:43:39 astropi-dslr kernel: [12510.939093] Voltage normalised (0x00000000)
May 14 01:45:37 astropi-dslr kernel: [12629.501028] Under-voltage detected! (0x00050005)
May 14 01:45:42 astropi-dslr kernel: [12633.660920] Voltage normalised (0x00000000)
May 14 01:46:25 astropi-dslr kernel: [12676.809172] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
May 14 01:46:25 astropi-dslr kernel: [12676.809181] brcmfmac: power management disabled
May 14 01:47:38 astropi-dslr kernel: [12750.151926] Under-voltage detected! (0x00050005)
May 14 01:47:44 astropi-dslr kernel: [12756.381870] Voltage normalised (0x00000000)
May 14 01:49:41 astropi-dslr kernel: [12872.863049] Under-voltage detected! (0x00050005)
May 14 01:49:45 astropi-dslr kernel: [12877.023085] Voltage normalised (0x00000000)
May 14 01:51:41 astropi-dslr kernel: [12992.812574] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
May 14 01:51:41 astropi-dslr kernel: [12992.812589] brcmfmac: power management disabled
May 14 01:51:43 astropi-dslr kernel: [12995.584406] Under-voltage detected! (0x00050005)
May 14 01:51:48 astropi-dslr kernel: [12999.744423] Voltage normalised (0x00000000)
May 14 01:53:44 astropi-dslr kernel: [13116.225814] Under-voltage detected! (0x00050005)
May 14 01:53:50 astropi-dslr kernel: [13122.465796] Voltage normalised (0x00000000)
May 14 01:56:57 astropi-dslr kernel: [13308.816476] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Test