Skip to the content
PCBKitNew board
2 layers53.2 × 35.3 mmEsp dsc, the printed circuit board in 3D

Low Cost ESP12E Digital Setting Circles

Size
53.2 × 35.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
20
Nets
32
Pads
77
Tracks, vias
117, 2
Pours
4
Routed
Yes
KiCad
KiCad 4
Created
17 Mar 2017
Updated
10 Nov 2021

Overview

Esp dsc is an open-source printed circuit board by synfinatic, from the synfinatic/esp-dsc repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 53.2 × 35.3 mm with 20 parts on 32 nets, routed with 117 tracks and 2 vias.

It is built around the ESP-12E, MCP1825S-3302E/DB and RJ45. Its parts include 9 resistors, 3 capacitors, 2 ICs, 2 connectors and 2 switches. It belongs with the ESP8266 boards of this library.

Main components

3

README

README.md

ESP-DSC: Digital Setting Circles for ESP-12E/F

About

Low cost alternative to my original Digital Setting Circles project the Teensy-DSC. This new design uses the cheap ESP-12E/F WiFi enabled microcontroller which saves about 60% of the original price (~$40 vs ~$100).

I'm also planing to include the necessary .STL files so you can 3D print the appropriate enclosure for the board.

More information about this project is available on my website.

v1.2 Status

  • Design PCB (complete!)
  • Port over the TeensyDSC code to the ESP-12 (complete!)
  • Verify that the ESP-12E is capable of handeling 2.5K PPR/10K count encoders (complete!)
  • Verify that the ESP-12E is capable of handeling 10K PPR/40K count encoders (failed!)
  • Create the necessary STL files to 3D print an enclosure for the board (complete!)
  • Major board change between v1.0 and v1.1- different pins used!

v2.0 Status

  • Redesign PCB for better performance (TBD)
  • Update code based on new design (TBD)
  • Verify that the ESP-12E is capable of handeling 10k encoders (TBD)

Performance

So a quick word about performance. There are a number of people who claim that the ESP-12E has enough horsepower for two 2500PPR (10K after quadurature decoding) encoders. One person told me they saw some errors, but they were small and likely caused by their mount. This didn't seem very scientific to me, so I ran some tests.

My methodolgy is pretty simple. I connected two ESP12E's to the same set of encoders. Both ESP12E's used the same code and a custom modified version of Paul Stoffgren's Encoder library which has support for the ESP8266. I also glued a toothpick to each encoder shaft to make it easier to rotate with my finger. The test would be simple: If both ESP12E's reported the same values, then I would say it was accurate. But if the results were different, then it wasn't accurate.

I found that I could rotate a single 2,500PPR as fast as I possibly could without any error. I could rotate a single 10,000PPR (40K after quadurature decoding) almost as fast without causing any error.

However, once I introduced a second encoder, I started seeing errors. At about 1 rotation/second, the 2500PPR encoders started to show some errors. Two 10,000PPR encoders had significant errors. I also noticed that "flicking" the encoder causing it to quickly accellerate for a short duration (approx 1/4 to 1/2 rotation) would cause significant errors even with the 2500PPR encoders.

This indicates that a person who does not very quickly move their scope should be able to use two 2500PPR encoders without introducing any errors. If you're using a GoTo mount or a large scope you should be very safe.

I've done some testing on my AD12 (12" dobsonian) and 2500PPR/10,000 "count" encoders and found accuracy wasn't a problem at all. The amount of error I saw was approximagely +/-0.25deg meaning that if you have an EP with a 0.60deg effective FOV or more you should be able to use the ESP-DSC to point at an object and have it located inside your view through the scope. Considering this is a mass produced dobsonian with a particile board mount, I consider this effectively within the error of the mount itself.

For comparison, my 30deg/82FOV Explore Scientific EP has an effective FOV of 1.62deg in my scope which is more then twice the minimum.

However I don't feel that it would be reliably accurate using 10,000PPR (40K count) encoders. The result is I don't feel my initial PCB design is good enough with a single ESP12E. I'm currently researching other solutions which could be implemented as cheaply and reliably as possible.

Basic Features

I wanted to do my own digital setting circles (DSC) for my Apertura AD12. The main goals were:

  • Support for at least 40K resolution via quadurature decoding (10k encoders)
  • Built in WiFi access point to allow wirelessly interfacing to an Apple iPad or Android tablet
  • Supporting at least SkySafari Plus/Pro
  • Powered via USB connection
  • Using industry standard RJ45 connection to encoders
  • Open source software & PCB design (GPLv3)
  • Inexpensive! All the components should be available for < $40.

Programming

You will need the Arduino 1.8.1+ IDE. You will need to add support for the ESP8266 by following the directions here.

Before you program your ESP-DSC you will need to:

  • Copy src/esp_dsc/config.h.sample to src/esp_dsc/config.h
  • edit src/esp_dsc/config.h

Under the tools menu, configure your board as follows:

  • Board: NodeMCU 1.0 (ESP-12E Module)
  • Flash Size: 4M (3M SPIFFS)
  • CPU Frequency: 80Mhz
  • Upload Speed: 115200 Baud

Do the following exactly:

  1. Disconnect the ESP-DSC from the encoders
  2. Connect a FTDI board to the FTDI header on the ESP-DSC and plug that into your computer
  3. Select the FTDI as your serial port in the Arduino IDE Tools menu
  4. Press and hold the Reset button
  5. Press and hold the Program button
  6. Release Reset button
  7. Release Program button
  8. Press the Upload button in the Arduino IDE Tools menu

Supported Software

  • SkySafari Plus/Pro
    • Select "Basic Encoder System"
    • Encoder Steps: Get Automatically
    • TCP Port 4030

Similar Projects

There are a bunch of similar projects to ESP-DSC which you should be aware of:

Parts

20
QtyValueFootprintReferences
4510Resistors_SMD:R_0805_HandSolderingR6, R7, R8, R9
31kResistors_SMD:R_0805_HandSolderingR3, R4, R5
11.5kResistors_SMD:R_0805_HandSolderingR2
11pinConnectors:1pin
11uFCapacitors_SMD:C_0805_HandSolderingC3
11ufCapacitors_SMD:C_0805_HandSolderingC1
14.7kResistors_SMD:R_0805_HandSolderingR1
14.7uFCapacitors_SMD:C_0805_HandSolderingC2
1ESP-12Esynfinatic:ESP-12E-SMDU1
1FTDIsynfinatic:FTDIHeader3V3FTDI1
1MCP1825S-3302E/DBTO_SOT_Packages_SMD:SOT-223U2
1Progsynfinatic:SPST-SMD-6x3.5SW2
1RJ45synfinatic:RJ45_8J1
1Resetsynfinatic:SPST-SMD-6x3.5SW1
1USB_BConnectors:USB_BP1

Questions

How big is the Esp dsc PCB?

It measures 53.2 × 35.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Esp dsc use?

20 parts, built around the ESP-12E, MCP1825S-3302E/DB and RJ45. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Esp dsc KiCad files?

From the synfinatic/esp-dsc repository on GitHub, at the commit this page was made from: the board is kicad/espdsc.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Esp dsc design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers71.7 × 62.4 mmProject Aether, the printed circuit board in 3D

    Project Aether

    shiva233/Aether

    Project Aether - A2DP Bluetooth Bridge to PC

    91 parts3
  • 2 layers103 × 215 mmRiv cosmici 3ch, the printed circuit board in 3D

    Riv cosmici 3ch

    bagnasconicolo/glacier-elettronica

    Front-end di lettura per un rivelatore di muoni cosmici basato su SiPM + scintillatore: amplificatore veloce, discriminatore a soglia regolabile, generazione del bias del SiPM, uscita TTL e uscita 3,3 V per Raspberry Pi.

    203 parts
  • 2 layers50.3 × 91.2 mmSTM32TQ6401, the printed circuit board in 3D

    STM32TQ6401

    mlab-modules/STM32TQ6401

    STM32 in TQFP64 packages

    54 partsGPL-3.0
  • 2 layers99 × 110.5 mm7001-ventilator mainboard, the printed circuit board in 3D

    7001-ventilator mainboard

    OperationAIR/electronics

    Electronics and Firmware for OperationAir ventilator

    167 partsApache-2.0
  • 2 layers142 × 166.9 mmFPGAPRO, the printed circuit board in 3D

    FPGAPRO

    SFMonsun/FPGA-I2S-IIR-Filter-implementation

    257 parts
  • 2 layers111.1 × 61.2 mmSTM32F4-UCC, the printed circuit board in 3D

    STM32F4-UCC

    UCC-LCRS/STM32F4Discovery-expansion

    Placa de expancion para la plataforma STM32F4Discovery.

    121 partsBSD-3-Clause