29 Dec

computerised telescope

I designed and built a computerised telescope. Total cost of the materials: €38.40 (including shipping!)

Bill of materials. All the files.

I’ve been working on photogrammetry recently and needed to get some photos of things that are hard to see from ground level, so bought a really cheap zoom lens for my camera.

Turns out it wasn’t great for photogrammetry, but it got some really good photos of the moon!

But, that scope is designed to attach to a phone so it is horizontal, not vertical as would be needed if looking up at the sky.

It occured to me that if I design an eyepiece mount for the scope to attach a small computer such as the ESP32-Cam, then I could point it anywhere I want without risking the camera falling off.

So I did:

I then decided I’d build a full-on mount for the whole thing.

I needed to find the center of balance of the scope and build a strap there that could be used to hold the telescope when turning it up or down:

Notice in the above picture that I have bolts coming out of the sides and a rectangular block there. The bolts are so I can connect the scope to a scaffold, and the rectangular block lets me slot a geared arm on so when the arm is moved, the scope is moved as well. This controls the “altitude” of the telescope:

The next step was to build a very large geared base that the telescope would rotate on. Notice that I have gears on the inside and a groove going all around the top of the circle:

I then created a platform that would sit on that base, and “rollers” to act as wheels (with 10mm pieces of 4mm steel for axles). and attached stepper motors in place to control the azimuth (rotation of the base) and altitude (rotation of the swing assembly):

The final physical work was to create mounts for the electronics needed to control power, then install those electronics and cable it up. I got tired of designing and ended up gluing a few last things in place. My design, my rules. Cat is optional:

A few important things to note about the design are that
1. it’s battery-powered, so there’s no awkward power issues
2. the ESP32-Cam has Wifi on board, so no awkward cabling needed
3. I added a battery charger to the setup so there’s no need to replace the battery (the 18650 battery holders don’t like to let go of the batteries…)
4. the ESP32-Cam has 10 GPIO ports. 2 of them don’t work as far as I can tell, and 1 of the others is linked to the onboard camera flash (very bright!). I need 8 for the project. So, the camera flash now lights up every time the telescope rotates. annoying but I didn’t want to do any circuit surgery.

There were a number of ways I could approach programming. I chose to use a simple idea:
1. the ESP32-Cam uploads a photo to a website every 10 seconds, and downloads and executes move instructions. simple. this way we offload all programming to the website itself.
2. the website displays the most recently uploaded photo to the user, and shows the current azimuth and altitude of the telescope.
3. the user can request the telescope to move to a new azimuth/altitude.

All code and design files were uploaded to GitHub.

Ireland being Ireland, I then needed to wait for the clouds to go away so I could get a photo of the moon.

update (2021-01-03): The first proper photo was taken last night with the camera in SVGA mode. I had to adjust the settings to reduce the exposure quite a lot:

Not terrible, but the camera also has a UXGA mode. Here’s a clipped version:

I’m not sure why that turned out green, but then the camera is probably not designed for looking at the sky at night with low exposure settings.

It would be possible to improve the telescope without replacing too much by changing the OV2640 camera for an OV5640 instead. that’s a 5MP camera (vs the 2MP of the OV2640).

Overall, I’m happy with the project. The end result can probably be cleaned up a bit, but I’ll leave that for another project when I’ll probably rebuild the whole thing and add some new features such as tracking, GPS and compass modules, and automated star-finding. And a better camera.