

MagneticEncoder
Open Source Astrophotography Hardware and Software
- Size
- 35 × 30 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 11
- Nets
- 19
- Pads
- 40
- Tracks, vias
- 34, 35
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 29 Sep 2023
- Updated
- 27 Mar 2025
Overview
MagneticEncoder is an open-source printed circuit board by neatstranger, from the neatstranger/Dagerro repository on GitHub. It is a 2-layer board of 35 × 30 mm with 11 parts on 19 nets, routed with 34 tracks and 35 vias.
Its parts include 5 connectors, 1 capacitor and 1 IC.
README
README.mdDagerro
The first known attempt at astronomical photography was by Louis Jacques Mandé Daguerre, inventor of the daguerreotype process which bears his name, who attempted in 1839 to photograph the Moon. Tracking errors in guiding the telescope during the long exposure meant the photograph came out as an indistinct fuzzy spot. Source
Guide Timing
Some notes for myself as well as anyone reading. We need to move the steppers about 8 times per second and the Real Time Clock(RTC) doesn't allow for time resolution greater than 1 second. The RTC(DS3231) outputs 32,768 pulses per second on the 32K pin. We attach an interrupt to that pin with the following line.
attachInterrupt(digitalPinToInterrupt(interruptPin), countCycles, CHANGE);
Note the use of the CHANGE for activation. This means that we will capture one interrupt for each rise, and one for each fall.
With our second now divided up into 65,536 segments.
1 Degree = 60 ArcMinutes
1 ArcMinute = 60 ArcSeconds
1 Degree = 3600 ArcSecondsHow fast does the earth rotate? My previous assumption of 1ArcSecond/Second is wrong. Let's do the math.
360° = 24 Hours
15° = 1 Hour or 60 Minutes or 3600 Seconds
1° or 3600 ArcSeconds = 4 Minutes or 240 Seconds
Math = 3600(ArcSeconds-Angle)/240 (Seconds-Time)
15 ArcSeconds(Angle) = 1 Second(Time)The arduino receive exactly 1,658,880 pulses every 25.3125 seconds. During this period of time, we need to take exactly 1500 steps.
python function to solve the problem.
x = 1
maxcount = 1500
xmult = 1105
ymult = 1107
while x <= maxcount:
y = maxcount - x
if (xmult*x)+(ymult*y) == 1658880:
print(x)
print(y)
print((xmult*x) + (ymult*y))
x+=1I used this script, changing the values for xmult and ymult, until I got a result that looks like this:
810
690
1658880Which means that if we take a step every 1105 interrupts, 810 times. Followed by taking a step every 1107 interrupts, 690 times. We will have taken 1500 steps in exactly 25.3125 seconds.
1500 Steps * 0.253125 ArcSeconds Per Step = 379.6875 ArcSeconds
379.6875 ArcSeconds / 25.3125 Seconds
15 ArcSeconds / SecondParts
11| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3_DIN965_Pad_TopBottom | H1, H2, H3, H4 |
| 2 | Conn_01x01_Pin | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J2, J4 |
| 2 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1, J5 |
| 1 | 0.1u | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1 |
| 1 | Conn_01x03_Pin | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | MT6701QT-STD_C2913974 | COMPONENTS:QFN-16_L3.0-W3.0-P0.50-TL-EP1.7 | U1 |
Questions
How big is the MagneticEncoder PCB?
It measures 35 × 30 mm and has 2 copper layers, 1.6 mm thick.
What parts does the MagneticEncoder use?
11 parts. 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 MagneticEncoder KiCad files?
From the neatstranger/Dagerro repository on GitHub, at the commit this page was made from: the board is Electronics/MagneticEncoder/MagneticEncoder.kicad_pcb and its schematic Electronics/Driver/Driver.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the MagneticEncoder design in my own project?
Its repository states no licence, so its author keeps all rights: ask neatstranger before reusing the design.
More from neatstranger/Dagerro
5- 4 layers56.4 × 56.4 mm

- 2 layers177.8 × 127 mm

- 4 layers194.1 × 115.6 mm

- 2 layers

- 2 layers35.6 × 33 mm

Similar boards
- 2 layers60 × 30 mm

Controller
google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards
11 parts3kApache-2.0 - 2 layers103 × 30.5 mm

- 2 layers26 × 30 mm

Expansion Card
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
11 parts1.1kCC-BY-4.0 - 2 layers53.9 × 23.2 mm

Buffer
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
11 parts1kGPL-3.0 - 2 layers10 × 20 mm

2 connector Sensor Board
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
11 parts915 - 2 layers

- 2 layers47 × 33 mm

Sevensegment led display module
tardate/LittleArduinoProjects
a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!
11 parts803MIT - 2 layers42.5 × 36.8 mm

Devboard
basilfx/TRADFRI-Hacking
Hacking IKEA TRÅDFRI products, such as light bulbs, window blinds and other accessories.
11 parts743CC-BY-4.0