This is intended as sort of a useless desk toy that points at the location of the international space station in the sky. You can also tell it to point at other things, of course. Final goals are to make it fetch TLE data from the internet, and allow the user to wirelessly tell it what to point at. https://www.youtube.com/watch?v=brCzEvc-sUg
Currently: It's hard coded to point at a specific satellite. There's not enough program memory in arduino 328 to also fetch data from the internet while calculating orbital parameters. I'm using the 28BYJ stepper drivers aka darlington arrays, which means the steppers are really weak. This is only a problem during homing, which can be fixed by just making the homing speed slower. Although weirdly enough the homing seems to work flawlessly after a bit of a warmup period.
Sand the inside of the "orbitrack-gear-lower" so it slides smoothly along the shaft in "orbitrack-base-middle". Do the same for "orbitrack-gear-higher". Be careful when attaching the "pointergearv2" so you don't crack the sideways shaft on "orbitrack-gear-higher". I did but it turned out OK, with enough sanding. Turn the gears by hand to make sure they don't stick and turn freely. This required quite a bit of sanding on my part, but it is possible to do!
I used some opto-endstops that I had laying around. You could probably use the ones i've listed above, but I'm not sure they will fit. The endstops are attached by hot glue, though, so you could definitely make it work. The endstops are triggered by foil tape flags attached to steel wires. The steel wires need to be bent around the gears, and so that they interact with the little nubs that stick out the top of the gears. This is somewhat tricky, but luckily MIG welding wire is cheap and springy enough to be perfect for this application.
I used the box that the 28byj motors came in as the case. Six plastite screws are used to attach the mechanism to that box.
In my wiring photo you'll see a lot of stuff, most of it is not used for the functionality described (eg, pointing at space ships). I wanted to obtain data from the internet, and the code is there to do that, but the 328 simply can't handle it. That said, all you need to drive the pointer is a real time clock and the motor drivers. Use the wiring diagram (such as it is) to hook it up exactly as I've done. You definitely don't need to do it exactly like this, but that's what I did.
actually the motors are much more reliable if you plug their +5V into the arduino's +5V pin, if you are powering it via USB. I thought the Vin was the +5 USB voltage, but it isn't, and in fact is only used for external power.