EQFocuser – Instructions

EQFocuser Description

The EQFocuser started as a DIY project powered by Arduino and ASCOM.  It is completely compliant with ASCOM and so far this is the focuser that I’m using with my telescopes.  I have a couple of variations that are using different types of motor depending on the need.  The project is open source and you can download the drivers and sketch files here https://github.com/EverettQuebral/EQFocuser

Supported Stepper Motor Controller

Hardware Parts

  • 1 Arduino (Nano – $5.00, Uno – $8.00)
  • 1 Telescope specific bracket (I 3D printed mine)
  • Set of screws for your focuser
  • Aluminum Flexible Shaft Coupling ($1.50) (Please select the size for your focuser)
  • 2 Pull Up Switch (Optional)
  • 1 Variable Resistor (Optional)
  • 1 DHT11 (Temperature/Humidity) Sensor (Optional)

For EasyDriver or Adafruit Motor/Stepper/Servo Sheild

For ST35 or 28BYJ-48


Diagram Using ULN2003 Motor Driver

ULN 2003 Motor Driver

Diagram Using EasyDriver

EasyDriver Pins

The video above shows the NEMA 17 0.4AMP with 56.7oz.in torque

Github Location


Driver Download

You can download the latest Driver at the Release section https://github.com/EverettQuebral/EQFocuser/releases

3D Model Files

Available under the Resources folder

Also available at Thingiverse

23 thoughts on “EQFocuser – Instructions”

  1. Hi. Can you share the diagram of your connections using the Adafruit Moto shield ? Additionally, I have an issue which is the EQFocuser driver never picks up the Com port. In device manager I have it there as Com9. I am using Windows 10 the latest update. Thanks in advance and for sharing this for us starting. Ago

    1. I’m using the DHT sensor library by Adafruit, version 1.3.0
      You should be able to see that on the Arduino IDE (1.8.5) via Sketch -> Include Library -> Manage Library and seach for the DHT sensor library

  2. After installing all the required libraries, I have come to a stumbling block that I have been unable to resolve even with the help of google. I am encountering this error when uploading the sketch:

    Arduino: 1.8.5 (Windows 10), Board: “Arduino/Genuino Uno”

    C:\Users\dan.doyle\Documents\Arduino\EQFocuser\EQFocuser.ino: In function ‘void humidityTemperatureReport()’:

    EQFocuser:278: error: expected primary-expression before ‘.’ token

    chkSensor = DHT.read11(DHT11_PIN);


    EQFocuser:280: error: ‘DHTLIB_OK’ was not declared in this scope

    case DHTLIB_OK:


    EQFocuser:282: error: expected primary-expression before ‘.’ token

    Serial.print(DHT.temperature, 1);


    EQFocuser:286: error: expected primary-expression before ‘.’ token

    Serial.print(DHT.humidity, 1);


    EQFocuser:290: error: ‘DHTLIB_ERROR_CHECKSUM’ was not declared in this scope



    EQFocuser:298: error: ‘DHTLIB_ERROR_TIMEOUT’ was not declared in this scope



    exit status 1
    expected primary-expression before ‘.’ token

    Invalid version found: 1.04
    Invalid version found: 1.04

    This report would have more information with
    “Show verbose output during compilation”

    Any assistance would be greatly appreciated!


    1. FYI, I’m not a programmer and have never worked with Arduinos before, so I’m surprised I’ve gotten this far.

      1. What sketch file are you using?

        I’m assuming that you are using either one of the last 2 because they are using the DHT library.

  3. Great work, many thanks for your efforts!
    Managed to compile EQFocuserStepper.ino and upload it to Arduino Uno, DHTLib library did the trick with the DHT part of the code instead of the Adafruit library.(https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib).

    With the temperature & humidity part I however hit another speed bump – there’s no temperature & humidity values visible in the 1.0.8 driver window. Using the “k” command through the Arduino IDE serial monitor returns correct values in the serial monitor, and connection to motors works fine through the 1.0.8 driver. But there’s no temperature nor humidity values coming through. Also hitting the “advanced” button in the driver results only “444” being displayed in the humidity value window in the driver, but won’t open any further settings. Would you be able to help with any pointers how to get the temperature & humidity part working as well?

  4. Hi, I’m finishing your focuser for my newton.
    I also use stellarmate (raspberry), could it also work with INDI?

  5. I am na amateur astronomer and have this website http://www.meteorito.com.br

    First I would like to say thnk you for providing the very nice EQFocus project.

    I was able to have an Arduino nano working fine with your firmware. I was also able to connect into my desktop (Win10) and could have the ASCOM driver working with APT.

    But I am not able to make it work with both of my notebooks (Win10). Same thing happens with both notebook when I try to test using the ACOM Device Connecton Tester (both 32 and 64 bits).

    I am doing the following:

    1. Run ASCOM Diagnostics
    2. Chose Device->Chose and connect to Device
    3. Select Device Type->Focuser
    4. Click “Choose” and select “ASCOM Focuser Driver for EQFocuser”
    5. When I click Properties and the Device Connecton Tester hangs.

    My environment configuration
    • Windows 10
    • ASCON 6.4 SP1 (also tried newar and older version)

    What may be happen? Can you please help?

  6. Hello Everett,

    Thanks a lot for this amazing project. I am trying using in my newtonian 200 f4.
    I was able to run the EQFocus ASCOM driver on a PC with success but I am having problems with 2 notebooks. Is there any means to debug what is going on with the EQFocus driver? I am trying to test using the ASCOM Connection Tester 32 and 64 bit. The tester hangs when I click on the “Properties” button at the ASCOM Focuser Chooser dialog.

    Hope you can help me.. I have done the hardware and firmware part of the project but having problems to use the ASCOM driver.

    Thank you!

    1. One issue might be the conflict in the bluetooth devices in your 2 notebooks. Try to disable and see if it works. Again thanks for using this project. Grad to help you out here.

  7. Hello, Everett! Awesome project.
    I was able to run EQFocuser with a ULN2003 just fine! But when I try to use the “EQFocuserStepper.ino”, with DHT11, I stuck.
    First of all, the file come with:
    But the library I have is:
    Is this correct?

    Well, I change the dht.h to DHT.h, but there are a lot of new erros, like:

    “error: ‘dht’ does not name a type

    dht DHT;”


    “In function ‘void humidityTemperatureReport()’:

    arduinotemperatura:278:18: error: expected primary-expression before ‘.’ token

    chkSensor = DHT.read11(DHT11_PIN);”

    Am I using the wrong library?

    I tryed with “DHT sensor library” from Adafruit with versions 1.3.0, 1.3.9 and 1.3.10.

  8. Hi Everett…

    Let me ask you a question. I was able to EQFocuser with DHT11, all ok, but I had to change the stepper motor to a strong one.

    Now I am using Nema17. I Tried the code stated in the website….for Nema with DHT11 but DHt11 stopped work ! I checked the code comparing to the other one that was working… (DHT part of the code) It appears to be ok, but not working….

    is that possible to check what could be wrong?

    I am using Nema17 with A4988 and an arduino nano

  9. Well I have a focuser to motorize. I’ve done this in the past with a stepper and an arduino but it was cumbersome, the motor was crap and there were other issues. So over the years I gradually moved to dc motors and in the end hobby servos. Way simpler.
    But this time, I got a new setup and build a permanent post so I want to have proper and precise motorization. I could code everything myself, the firmware, the client and the ASCOM driver. But….I’m way too lazy so I hope you don’t mind if I take your code and adapt everything to my needs :p

Leave a Reply to EverettQuebral Cancel reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.