{"id":3714,"date":"2023-08-03T19:33:20","date_gmt":"2023-08-03T23:33:20","guid":{"rendered":"https:\/\/dft.wiki\/?p=3714"},"modified":"2026-06-08T16:37:55","modified_gmt":"2026-06-08T20:37:55","slug":"motorizing-pan-tilt-on-celestron-telescope","status":"publish","type":"post","link":"https:\/\/dft.wiki\/?p=3714","title":{"rendered":"Motorizing Pan Tilt on Celestron Telescope"},"content":{"rendered":"<p style=\"text-align: center;\">You got a Celestron 21024 FirstScope Telescope and&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3717\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-17-42-44x.png\" alt=\"\" width=\"684\" height=\"248\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-17-42-44x.png 684w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-17-42-44x-300x109.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p style=\"text-align: center;\">&#8230;what are you going to do with it during the day? <span style=\"text-decoration: underline;\"><strong>Hack it!!!<\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3770 size-full\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/animation_larger.gif\" alt=\"\" width=\"600\" height=\"338\" \/><\/p>\n<hr \/>\n<p><strong>SUMMARY<\/strong><\/p>\n<p>In this post I will walk through the basic steps and rationale used to develop a motorised mechanism to move both axes electronically.<\/p>\n<p>All source code and 3D files are free to use, share, and modify.<\/p>\n<p>Requirements: a 3D printer, soldering iron, and a DIY mindset.<\/p>\n<p>Out of scope: modifying or damaging the scope in any way (no screw holes or glue).<\/p>\n<hr \/>\n<p><strong>BILL OF MATERIALS<\/strong><\/p>\n<ul>\n<li>Mechanism (~$5)\n<ul>\n<li>FDM 3D Printer<\/li>\n<li>PLA Filament<\/li>\n<\/ul>\n<\/li>\n<li>Electronics (~$50)\n<ul>\n<li>Arduino UNO Rev3 [<a href=\"https:\/\/store-usa.arduino.cc\/products\/arduino-uno-rev3?selectedStore=us\">Link<\/a>] &#8211; Microcontroller<\/li>\n<li>Two 28BYJ-48 Stepper Motors<\/li>\n<li>ULN2003 Driver Module Board<\/li>\n<li>Small PCB<\/li>\n<li>Four push buttons<\/li>\n<\/ul>\n<\/li>\n<li>Software ($0)\n<ul>\n<li>Arduino IDE [<a href=\"https:\/\/www.arduino.cc\/en\/software\">Link<\/a>] &#8211; Integrated Development Environment<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr \/>\n<p><strong>MECHANICAL PARTS<\/strong><\/p>\n<p><strong>Body<\/strong><\/p>\n<ul>\n<li>STL File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/Body.stl\">Link<\/a>]<\/li>\n<li><span style=\"font-size: 1rem;\">SCAD File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/Body.scad\">Link<\/a>]<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3718 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-24-18-300x218.png\" alt=\"\" width=\"300\" height=\"218\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-24-18-300x218.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-24-18-1024x744.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-24-18-768x558.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-24-18.png 1222w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3719 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-26-05-300x218.png\" alt=\"\" width=\"300\" height=\"218\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-26-05-300x218.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-26-05-1024x744.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-26-05-768x558.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-26-05.png 1222w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Pan Gear<\/strong><\/p>\n<ul>\n<li>STL File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/PanGear.stl\">Link<\/a>]<\/li>\n<li><span style=\"font-size: 1rem;\">SCAD File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/PanGear.scad\">Link<\/a>]<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3720 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-41-29-300x130.png\" alt=\"\" width=\"300\" height=\"130\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-41-29-300x130.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-41-29-1024x443.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-41-29-768x332.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-41-29.png 1250w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Tilt Gear<\/strong><\/p>\n<ul>\n<li>STL File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/TiltGear.stl\">Link<\/a>]<\/li>\n<li><span style=\"font-size: 1rem;\">SCAD File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/TiltGear.scad\">Link<\/a>]<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3721 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-42-53-300x130.png\" alt=\"\" width=\"300\" height=\"130\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-42-53-300x130.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-42-53-1024x443.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-42-53-768x332.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-42-53.png 1250w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Small Gears (x2)<\/strong><\/p>\n<ul>\n<li>STL File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/SmallGear(2X).stl\">Link<\/a>]<\/li>\n<li><span style=\"font-size: 1rem;\">SCAD File &#8211; Included in the same SCAD files as the large gears.<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3722 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-58-00-300x271.png\" alt=\"\" width=\"300\" height=\"271\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-58-00-300x271.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-18-58-00.png 357w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Remote Control<\/strong><\/p>\n<ul>\n<li>STL Files [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/RemoteControlHousing.stl\">Link<\/a>] [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/RemoteControlLid.stl\">Link<\/a>] [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/RemoteControlButtons.stl\">Link<\/a>]<\/li>\n<li><span style=\"font-size: 1rem;\">SCAD File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/RemoteControl.scad\">Link<\/a>]<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3723 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-01-50-300x285.png\" alt=\"\" width=\"300\" height=\"285\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-01-50-300x285.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-01-50.png 765w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3724 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-06-11-300x268.png\" alt=\"\" width=\"300\" height=\"268\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-06-11-300x268.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-06-11-768x685.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-06-11.png 900w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3725 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-08-00-300x210.png\" alt=\"\" width=\"300\" height=\"210\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-08-00-300x210.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-08-00-768x538.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-08-00.png 900w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3726 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-10-28-300x213.png\" alt=\"\" width=\"300\" height=\"213\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-10-28-300x213.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-10-28.png 614w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Back Cover<\/strong><\/p>\n<ul>\n<li>STL Files [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/BackCover.stl\">Link<\/a>]<\/li>\n<li><span style=\"font-size: 1rem;\">SCAD File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/BackCover.scad\">Link<\/a>]<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3763\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-04-16-24-34-300x295.png\" alt=\"\" width=\"300\" height=\"295\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-04-16-24-34-300x295.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-04-16-24-34-768x756.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-04-16-24-34.png 811w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Smartphone Support (optional)<\/strong><\/p>\n<ul>\n<li>&lt;pending&gt;<\/li>\n<\/ul>\n<p><strong>Power Bank (optional)<\/strong><\/p>\n<ul>\n<li>STL Files [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/PowerBankBody.stl\">Link<\/a>] [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/PowerBankLid.stl\">Link<\/a>] [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/PowerBankButtonLightGuide.stl\">Link<\/a>]<\/li>\n<li><span style=\"font-size: 1rem;\">SCAD File [<a href=\"https:\/\/github.com\/davift\/FirstScope\/blob\/main\/PowerBank.scad\">Link<\/a>]<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3728 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-23-58-300x173.png\" alt=\"\" width=\"300\" height=\"173\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-23-58-300x173.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-23-58-768x444.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-23-58.png 896w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3729 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-19-21-300x198.png\" alt=\"\" width=\"300\" height=\"198\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-19-21-300x198.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-19-21.png 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3730 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-17-25-300x170.png\" alt=\"\" width=\"300\" height=\"170\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-17-25-300x170.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-17-25.png 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3731 size-medium\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-21-51-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-21-51-300x225.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Screenshot-from-2023-08-02-19-21-51.png 374w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Assembly<\/strong><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><strong>MECHANICAL AND ELECTRONIC ASSEMBLY<\/strong><\/p>\n<p><strong>Step #1<\/strong> &#8211; Print the large gears.<\/p>\n<p>The largest dimensions are 208x208mm. Even though my printer supports 220x220mm, two sides did not print correctly when the part was centred on the bed (unsure if this was a printer firmware or slicer issue). Moving it closer to the X and Y origins resolved the problem.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3736\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_060646-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_060646-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_060646-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_060646-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_060646-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_060646-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3737\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_191739-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_191739-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_191739-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_191739-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_191739-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_191739-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Step #2<\/strong> &#8211; Test the fit of both gears, then remove them.<\/p>\n<p>Both gears attach to the telescope with no screws, bolts, glue, or tape. You may need to sand the inside of the tilt gear for a proper fit, since the telescope counterpart is conical and slightly flexible. If needed, there are 6 small holes in the centre of the gear for pins (not required in my case).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3738\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_194007-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_194007-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_194007-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_194007-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_194007-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_194007-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230724_194007-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p><strong>Step #3<\/strong> &#8211; Print two small gears and press them onto the motor shafts.<\/p>\n<p>Note the orientation of the gear before placing it on the stepper motor. It holds by friction alone, so avoid removing it unnecessarily. Both motors take gears aligned in the same direction, making them interchangeable.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3744\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/IMG-20230723-WA0011-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/IMG-20230723-WA0011-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/IMG-20230723-WA0011-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/IMG-20230723-WA0011-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/IMG-20230723-WA0011-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/IMG-20230723-WA0011.jpg 2000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Step #4<\/strong> &#8211; Print and pre-assemble the electronics onto the main body.<\/p>\n<p>The stepper motors require considerable force to seat into the jaws, so it is much easier to make any adjustments before final assembly. The pinout from the Arduino to the drivers and remote control is up to you. Just note the pinout and update the code accordingly.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3778\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Arduino_Circuit-300x208.png\" alt=\"\" width=\"300\" height=\"208\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Arduino_Circuit-300x208.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Arduino_Circuit-768x533.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/Arduino_Circuit.png 821w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3739\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_120521-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_120521-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_120521-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_120521-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_120521-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_120521-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Step #5<\/strong> &#8211; Mount the body onto the neck of the scope.<\/p>\n<p>The body should slide smoothly over the neck with enough friction to hold it firmly in place. The stainless steel screw is an obstacle and needs to be removed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3740\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201023-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201023-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201023-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201023-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201023-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201023-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201023-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3741\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201043-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201043-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201043-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201043-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201043-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201043-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230726_201043-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p><strong>Step #6<\/strong> &#8211; Place the large gears back onto the scope.<\/p>\n<p>Fitting the large gears after the body is much easier. Having the fit already dialled in from Step #2 is important because the herringbone gear type allows no adjustment once engaged. Replacing the original plastic nut with an M10 lock nut also works much better.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3743\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075712-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075712-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075712-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075712-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075712-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075712-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075712-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p><strong>Step #7<\/strong> &#8211; Print and assemble the remote control.<\/p>\n<p>I printed a 0.5mm light guide to make the red LED visible without cutting an open hole. The buttons are held in place only by the assembly order (upside down) and move smoothly with minimal play. Aside from Ground and +5V, the pin sequence does not matter as long as the numbering in the code matches.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3777\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/RemoteControl_Circuit-300x298.jpg\" alt=\"\" width=\"300\" height=\"298\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/RemoteControl_Circuit-300x298.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/RemoteControl_Circuit-150x150.jpg 150w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/RemoteControl_Circuit.jpg 537w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3755\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_185708-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_185708-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_185708-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_185708-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_185708-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_185708-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3745\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_193511-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_193511-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_193511-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_193511-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_193511-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_193511-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Step #8<\/strong> &#8211; Optionally, print a cover and assemble a power bank.<\/p>\n<p>Any power bank will work. I printed one because I had the parts on hand. I also printed a 0.5mm light guide in white so the LED indicators remain visible while charging and discharging.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3746\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230727_203520-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230727_203520-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230727_203520-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230727_203520-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230727_203520-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230727_203520-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230727_203520-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3747\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_073307-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_073307-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_073307-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_073307-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_073307-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_073307-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_073307-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3749\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_141030-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_141030-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_141030-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_141030-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_141030-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230728_141030-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3748\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_205058-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_205058-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_205058-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_205058-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_205058-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_205058-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230802_205058-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p><strong>Step #9<\/strong> &#8211; Final gear adjustments.<\/p>\n<p>Rotating the stepper motors on their axis tightens or loosens the pressure between gears. I used a small pin to lock them at the desired tension (very tight). Running a simulation that spins both axes many times in both directions will reveal any issues and wear down rough edges that cause squeaking.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3752\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075721-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075721-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075721-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075721-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075721-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075721-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3750\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/pan-tightens.jpg\" alt=\"\" width=\"237\" height=\"135\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3753\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075742-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075742-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075742-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075742-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075742-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230803_075742-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3751\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/tilt-tightens.jpg\" alt=\"\" width=\"217\" height=\"220\" \/><\/p>\n<p><strong>Step #10<\/strong> &#8211; Print and attach the back cover.<\/p>\n<p>The back cover slides down over the wooden neck with no clip or screw, held only by friction. It works well, but here is a tip: glue a neodymium magnet to the body and a small metal piece to the cover for a satisfying, secure fit that takes the build to a higher level of finish.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3766\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230804_203900-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230804_203900-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230804_203900-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230804_203900-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230804_203900-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230804_203900-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3767\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_084827-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_084827-300x169.jpg 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_084827-1024x576.jpg 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_084827-768x432.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_084827-1536x864.jpg 1536w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_084827-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3768\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090637-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090637-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090637-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090637-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090637-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090637-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090637-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3769\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090658-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090658-169x300.jpg 169w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090658-576x1024.jpg 576w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090658-768x1365.jpg 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090658-864x1536.jpg 864w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090658-1152x2048.jpg 1152w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/08\/20230805_090658-scaled.jpg 1440w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/p>\n<hr \/>\n<p><strong>SOFTWARE<\/strong><\/p>\n<p><strong>Basic Actuation<\/strong> &#8211; Single Speed<\/p>\n<pre>\/\/Includes the Arduino Stepper Library\r\n#include \r\n\r\n\/\/ Steps per Revolution\r\nconst int stepsPerRevolution = 2048;\r\nconst int nSteps = 1;\r\n\r\n\/\/ Pins Sequence IN1-IN3-IN2-IN4\r\nStepper myStepperTilt = Stepper(stepsPerRevolution, <strong>10, 12, 11, 13<\/strong>);\r\nStepper myStepperPan = Stepper(stepsPerRevolution, <strong>2, 4, 3, 5<\/strong>);\r\n\r\n\/\/ Button Pins\r\nint pinButtonTiltUp = <strong>9<\/strong>;\r\nint pinButtonTiltDown = <strong>8<\/strong>;\r\nint pinButtonPanCW = <strong>7<\/strong>;\r\nint pinButtonPanCCW = <strong>6<\/strong>;\r\n\r\nvoid setup() {\r\n    \/\/ Button Pins Mode\r\n    pinMode(pinButtonTiltUp, INPUT_PULLUP);\r\n    pinMode(pinButtonTiltDown, INPUT_PULLUP);\r\n    pinMode(pinButtonPanCW, INPUT_PULLUP);\r\n    pinMode(pinButtonPanCCW, INPUT_PULLUP);\r\n    myStepperTilt.setSpeed(<strong>10<\/strong>);\r\n    myStepperPan.setSpeed(<strong>10<\/strong>);\r\n}\r\n\r\nvoid loop() {\r\n  \/\/ Button Status\r\n  int statusButtonTiltUp = digitalRead(pinButtonTiltUp);\r\n  int statusButtonTiltDown = digitalRead(pinButtonTiltDown);\r\n  int statusButtonPanCW = digitalRead(pinButtonPanCW);\r\n  int statusButtonPanCCW = digitalRead(pinButtonPanCCW);\r\n  \r\n  \/\/ TILT UP\r\n  if (!statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; statusButtonPanCCW) myStepperTilt.step(-nSteps);\r\n  \/\/ TILT DOWN\r\n  if (statusButtonTiltUp &amp;&amp; !statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; statusButtonPanCCW) myStepperTilt.step(nSteps);\r\n  \/\/ PAN CW\r\n  if (statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; !statusButtonPanCW &amp;&amp; statusButtonPanCCW) myStepperPan.step(nSteps);\r\n  \/\/ PAN CCW\r\n  if (statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; !statusButtonPanCCW) myStepperPan.step(-nSteps);\r\n\r\n  \/\/ TILT UP + CW\r\n  if (!statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; !statusButtonPanCW &amp;&amp; statusButtonPanCCW) {\r\n    myStepperTilt.step(-nSteps);\r\n    myStepperPan.step(nSteps);\r\n  }  \r\n  \/\/ TILT DOWN + CW\r\n  if (statusButtonTiltUp &amp;&amp; !statusButtonTiltDown &amp;&amp; !statusButtonPanCW &amp;&amp; statusButtonPanCCW) {\r\n    myStepperTilt.step(nSteps);\r\n    myStepperPan.step(nSteps);\r\n  }\r\n  \/\/ PAN UP + CCW\r\n  if (!statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; !statusButtonPanCCW) {\r\n    myStepperTilt.step(-nSteps);\r\n    myStepperPan.step(-nSteps);\r\n  }\r\n  \/\/ PAN DOWN + CCW\r\n  if (statusButtonTiltUp &amp;&amp; !statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; !statusButtonPanCCW) {\r\n    myStepperTilt.step(nSteps);\r\n    myStepperPan.step(-nSteps);\r\n  }\r\n}\r\n<\/pre>\n<p><strong>Advanced Actuation<\/strong> &#8211; Accelerated Speed<\/p>\n<pre>\/\/Includes the Arduino Stepper Library\r\n#include \r\n\r\n\/\/ Steps per Revolution\r\nconst int stepsPerRevolution = 2048;\r\nconst int nSteps = 1;\r\n\r\n\/\/ Pins Sequence IN1-IN3-IN2-IN4\r\nStepper myStepperTilt = Stepper(stepsPerRevolution, <strong>10, 12, 11, 13<\/strong>);\r\nStepper myStepperPan = Stepper(stepsPerRevolution, <strong>2, 4, 3, 5<\/strong>);\r\n\r\n\/\/ Button Pins\r\nint pinButtonTiltUp = <strong>9<\/strong>;\r\nint pinButtonTiltDown = <strong>8<\/strong>;\r\nint pinButtonPanCW = <strong>7<\/strong>;\r\nint pinButtonPanCCW = <strong>6<\/strong>;\r\nint speed = 1;\r\nfloat speedAccellerated = 1.0;\r\nfloat speedAccelleration = <strong>0.02<\/strong>;\r\n\r\nvoid setup() {\r\n    \/\/ Button Pins Mode\r\n    pinMode(pinButtonTiltUp, INPUT_PULLUP);\r\n    pinMode(pinButtonTiltDown, INPUT_PULLUP);\r\n    pinMode(pinButtonPanCW, INPUT_PULLUP);\r\n    pinMode(pinButtonPanCCW, INPUT_PULLUP);\r\n}\r\n\r\nvoid loop() {\r\n  \/\/ Button Status\r\n  int statusButtonTiltUp = digitalRead(pinButtonTiltUp);\r\n  int statusButtonTiltDown = digitalRead(pinButtonTiltDown);\r\n  int statusButtonPanCW = digitalRead(pinButtonPanCW);\r\n  int statusButtonPanCCW = digitalRead(pinButtonPanCCW);\r\n  \r\n  \/\/ TILT UP\r\n  if (!statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; statusButtonPanCCW) {\r\n    myStepperTilt.step(-nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  \/\/ TILT DOWN\r\n  else if (statusButtonTiltUp &amp;&amp; !statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; statusButtonPanCCW) {\r\n    myStepperTilt.step(nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  \/\/ PAN CW\r\n  else if (statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; !statusButtonPanCW &amp;&amp; statusButtonPanCCW) {\r\n    myStepperPan.step(nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  \/\/ PAN CCW\r\n  else if (statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; !statusButtonPanCCW) {\r\n    myStepperPan.step(-nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  \/\/ TILT UP + CW\r\n  else if (!statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; !statusButtonPanCW &amp;&amp; statusButtonPanCCW) {\r\n    myStepperTilt.step(-nSteps);\r\n    myStepperPan.step(nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  \/\/ TILT DOWN + CW\r\n  else if (statusButtonTiltUp &amp;&amp; !statusButtonTiltDown &amp;&amp; !statusButtonPanCW &amp;&amp; statusButtonPanCCW) {\r\n    myStepperTilt.step(nSteps);\r\n    myStepperPan.step(nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  \/\/ PAN UP + CCW\r\n  else if (!statusButtonTiltUp &amp;&amp; statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; !statusButtonPanCCW) {\r\n    myStepperTilt.step(-nSteps);\r\n    myStepperPan.step(-nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  \/\/ PAN DOWN + CCW\r\n  else if (statusButtonTiltUp &amp;&amp; !statusButtonTiltDown &amp;&amp; statusButtonPanCW &amp;&amp; !statusButtonPanCCW) {\r\n    myStepperTilt.step(nSteps);\r\n    myStepperPan.step(-nSteps);\r\n    speedAccellerated = speedAccellerated + speedAccelleration;\r\n  }\r\n  else {\r\n    speedAccellerated = 1;\r\n  }\r\n\r\n  if (speedAccellerated &lt;= 10) speed = speedAccellerated;\r\n  myStepperTilt.setSpeed(speed);\r\n  myStepperPan.setSpeed(speed);\r\n}<\/pre>\n<hr \/>\n<p><strong>DEMO<\/strong><\/p>\n<p style=\"text-align: center;\"><iframe loading=\"lazy\" title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/ffTLlecYVN8\" width=\"600\" height=\"338\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<hr \/>\n<p><strong>LINKS<\/strong><\/p>\n<p>Thingiverse [<a href=\"https:\/\/www.thingiverse.com\/thing:6152975\">Link<\/a>]<\/p>\n<p>GitHub [<a href=\"https:\/\/github.com\/davift\/FirstScope\">Link<\/a>]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You got a Celestron 21024 FirstScope Telescope and&#8230; &nbsp; &#8230;what are you going to do [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-3714","post","type-post","status-publish","format-standard","hentry","category-3d-printing"],"_links":{"self":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3714"}],"version-history":[{"count":23,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3714\/revisions"}],"predecessor-version":[{"id":5639,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3714\/revisions\/5639"}],"wp:attachment":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}