Completion Plan - SteveJustin1963/Telescope-Tec1 GitHub Wiki
kimi.com
I'll fetch the repository contents first so I can understand what "tec-SCOPE" is and then create a realistic completion plan.
Completion Plan for “tec-SCOPE” (Z80-based Go-To telescope controller)
The repo is still a loose collection of notes, schematics and snippets.
Treat it like any R&D project: get one vertical slice working end-to-end, then grow outward.
Below is a 10-week schedule that takes you from “bench full of parts” to “push-button slew to Vega”.
0. Ground-rules (apply every week)
- Version-control every change (git tag v0.1, v0.2 …)
- Keep a single paper notebook – date every entry.
- No mechanical work without the metal-shop buddy rule.
- One-hour “Friday demo” – if it isn’t shown, it didn’t happen.
1. Parts & Workspace Audit (Week 1)
Goal: know what you really have.
- Inventory motors, gears, encoders, TEC-1/SC-1 boards, power supplies.
- Measure physical travel of both axes (degrees).
- Decide final gear ratio (≈ 10:1 recommended) and order any missing belts/pulleys.
- Print the mechanical drawings already in the repo; mark hole patterns that need re-machining.
2. Mechanical Minimum-Viable-Mount (Week 2)
Goal: both axes turn slowly under finger power with ≤ 1° backlash.
- Strip original Dobson mount bearings; replace with threaded rod + thrust bearings or printed bushing blocks.
- Temporarily couple two DC gear-motors (foot-massager worm boxes are fine) with rubber hose and jubilee clips – we’ll machine proper couplers later.
- Add the 600 PPR encoders to motor shafts, not the telescope axis (10× resolution after gearing).
- Hand-spin test: Stellarium on phone shows expected sky movement when you twist the OTA – proves encoders and A-B wiring.
3. Electronics Bring-up (Week 3)
Goal: Z80 talks to the outside world without crashing.
- Build back-plane: +5 V, +12 V, GND, 42 h I/O decoder already coded.
- Flash the “compact_SPI.z80” routine; scope CS, CLK, MOSI – must see 0xAA 0x55 pattern clean at ≥ 1 µs/bit.
- Wire two ATtiny85s on breadboard as SPI slaves; load ATtiny85-QEI.ino; verify 32-bit counter increments when you turn encoder by hand.
- Add resettable 1 A fuses on motor supply and encoder +5 V – you will short something.
4. Motor Control Loop (Week 4)
Goal: software can slew + stop each axis.
- Build dual L298N or TB6612FNG board; connect to PWM pins from Z80 port 43 h (bit-bang or CTC timer).
- Write “motor_test.mint”:
- ‘W’ – altitude up, ‘S’ – down, ‘A’ – az left, ‘D’ – right, space – emergency stop.
- Tune PWM duty so full-stick equals ≈ 3°/s; record encoder counts/sec → build counts-per-degree table for each axis.
5. Closed-Loop Position (Week 5)
Goal: command “go to 45° alt” and it arrives within 0.5°.
- Implement PID in MINT (or on ATtiny if you run out of cycles). Constants start at Kp = 8, Ki = 0, Kd = 2.
- Add dead-band: if |error| < 20 encoder ticks, cut motor.
- Log every servo tick to UART (9600 8N1) – graph in Excel; adjust Kp until overshoot < 5 %.
- Store final ticks-per-degree constants in EEPROM so you don’t re-calibrate every boot.
6. Sky Maths & Stellarium Link (Week 6)
Goal: convert “RA 18h 36m 56s Dec +38° 47′ 06″” to alt-az for your longitude/latitude.
- Port the low-precision MINT routines already in repo (or use AM9511 FPU if you populated it).
- Add a second 38 400 baud UART (bit-bang or SIO/2) labelled “STLINK”.
- Implement LX200 subset:
:GR#– get RA,:GD#– get Dec,:Sr 18:36:56#,:Sd +38:47:06#,:MS#– slew.
- Inside Stellarium → Telescope Control → “Add new” → LX200, your COM port – the cross-hair should jump when you issue
:Sr … :MS#from terminal.
7. Alignment & Pointing Model (Week 7)
Goal: 5 arc-min RMS across the sky with a 2-star align.
- Pick two bright stars > 60° apart (e.g. Sirius, Rigel).
- Centre star in 25 mm eyepiece; press ‘1’ or ‘2’ on TEC-1 keypad – store encoder counts.
- Solve the classical 4-unknown model (alt-offset, az-offset, axis non-perpendicularity, cone) or use the “simple offset” already in OnStep docs if you’re lazy.
- Test on third star – error must be inside eyepiece field (≈ 0.7°). If not, check gear slop and encoder coupling grub-screws.
8. Hand-Pad & Safety Features (Week 8)
Goal: no laptop required for normal observing.
- Build 4×4 keypad (0-9, EAST, WEST, UP, DOWN, ENTER, SPEED, MENU).
- Implement rate buttons: 1× sidereal, 8×, 64×, 600×.
- Add limit switches at horizon and 360° wrap; if hit, stop and force opposite direction only.
- Buzzer beeps on limits and at end-of-slew – invaluable in the dark.
9. Tracking & Basic Imaging (Week 9)
Goal: 30 s unguided exposure with star trail < 1 pixel on DSLR.
- Turn PID into siderial-rate tracker: add 15.04 arc-sec/sec to azimuth encoder set-point.
- PEC (Periodic Error Correction): record encoder deviation over 5 worm cycles; play back inverse.
- Add ST-4 compatible guide port (four opto-isolated inputs: N/S/E/W).
- Shoot 30 s JPEG of M42 – zoom in camera LCD; trails must be ≤ 2 pixels.
10. Cleanup, Docs & Release (Week 10)
Goal: repo is reproducible by a stranger with average Z80 skills.
- KiCad schematics exported as PDF; Gerber zip in
/hardware. - MINT, Arduino and Z80 source in
/firmwarewith Makefile that builds under Linux & Windows. - One-page “Quick-start” – parts list, wiring photo, first-slew video link.
- Tag v1.0, create GitHub release, announce on Cloudy Nights & ZX-TEAM forum.
Optional stretch goals (after v1.0)
- GPS + RTC so you never type date/time.
- Bluetooth LX200 instead of USB-UART.
- DSLR shutter control for full unattended imaging run.
- Convert to OnStepX (STM32) when you out-grow the TEC-1.
Follow the checklist week by week and you’ll turn the pile of GitHub notes into a working, push-button Go-To telescope that runs on 1985 tech – and you’ll actually finish it.
////
Below is a “gap audit” against the repo as it exists today.
If it isn’t listed here, assume it is completely missing – no stub, no TODO file, no schematic, no code.
-
Coherent top-level README
- No bill-of-materials, no wiring diagram, no “flash this first” firmware image.
-
KiCad (or EasyEDA) project
- Only PNG screenshots of partial scatters; no unified schematic, no PCB, no Gerbers.
-
Mechanical drawings / STEP files
- Motor brackets, encoder collars, worm-to-Dobson adapter plates – all absent.
-
Power budget & wiring harness
- No fuse values, no wire gauges, no connector part numbers.
- No separate motor / logic ground scheme → noise gremlin guaranteed.
-
Motor driver choice & schematic
- Mentions L298N in text but no hook-up drawing, no fly-back diodes, no current-sense resistor.
-
Emergency-stop & limit-switch circuit
- Software talks about limits; no hardware interlock (relay/FET crowbar).
-
Real-time clock / calendar
- Sidereal tracking needs UTC + date; code still expects user to type it in every boot.
-
LCD / OLED status display
- Only mentions 6-digit 7-seg; no driver code, no I²C GPIO expander schematic.
-
Full LX200 command set
- Only :GR#, :GD#, :Sr#, :Sd#, :MS# listed; missing :Q# (quit slew), :CM# (sync), :RC# / :RM# (rate change), etc.
-
Coordinate transformation module
- Repo has AM9511 SPI sample but no working MINT subroutine that returns alt,az given RA,Dec,JD,lat,lon.
-
Alignment math implementation
- No 1-, 2- or 3-star matrix solver; no EEPROM storage of model coefficients.
-
Periodic-Error-Correction (PEC) buffer
- Place-holder comment only; no RAM layout, no playback interrupt routine.
-
ST-4 autoguide port hardware & ISR
- Four opto-isolators and 1 ms timer tick code are both missing.
-
Boot-loader / firmware update path
- TEC-1 has no way to field-update; no serial loader, no Intel-Hex parser.
-
Calibration & tuning procedure document
- No step-by-step for “how to measure ticks-per-degree”, “how to set cone error”, etc.
-
Safety & compliance notes
- Laser pointer >1 mW mentioned; no copy of Australian permit template, no warning label artwork.
-
Test suite / continuous-integration
- No GitHub action that assembles the Z80 code, no Python script that feeds LX200 commands to a dummy serial port and asserts replies.
-
License file
- Repo is public but has no LICENSE; legally no one can reuse the code.
-
Issue & feature templates
- Blank issue tracker; contributors don’t know whether to file bugs against hardware, firmware or math.
-
Project roadmap / Kanban board
- No milestones, no “good first issue” tags → hard for volunteers to jump in.
If you add only the first five items (README, KiCad, mechanicals, power plan, motor driver schematic) the project becomes reproducible; the rest can be filled in incrementively without blocking a minimal working telescope.
//////