Skip to the content
PCBKitNew board
2 layers72.3 × 64.5 mmDewcontroller, the printed circuit board in 3D

Environment-driven dew heater controller for the Celestron C9.25 corrector plate dew ring.

Size
72.3 × 64.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
19
Nets
19
Pads
51
Tracks, vias
62, 0
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
13 Nov 2025
Updated
30 Aug 2026

Overview

Dewcontroller is an open-source printed circuit board by mpinnuck, from the mpinnuck/dewcontroller-hardware repository on GitHub. It is a 2-layer board of 72.3 × 64.5 mm with 19 parts on 19 nets, routed with 62 tracks and 0 vias.

Its parts include 3 capacitors, 3 resistors, 3 ICs, 3 connectors and 2 diodes. It belongs with the ESP32 boards of this library.

README

README.md

Dew Controller for Celestron C9.25

Environment-driven dew heater controller for the Celestron C9.25 corrector plate dew ring.

This project uses an ESP32-S3 (Seeed XIAO ESP32S3), an SHT40 temperature/humidity sensor, and a PWM-controlled heater channel to reduce dew risk while limiting unnecessary heat.

What It Does

  • Computes dew point from ambient temperature and relative humidity.
  • Uses spread control: spread = Ta - Td.
  • Looks up heater output from a configurable spread-to-power table.
  • Applies a global maximum power cap for safety.
  • Uses ring thermistor only as an over-temperature safety clamp.
  • Hosts a built-in web UI for status, configuration, logs, and manual PWM test.

Repository Layout

  • firmware/dewcontroller/dewcontroller.ino - Main firmware and web UI.
  • firmware/TempDewSensorTest/ - Sensor test sketch.
  • firmware/i2cverify/ - I2C verification sketch.
  • firmware/ioverify/ - GPIO/IO verification sketch.
  • data/ - Calibration and logged data.
  • hardware/dewcontroller/ - KiCad PCB/schematic and fabrication files.
  • hardware/mechanical/ - Mechanical model files.

Hardware

  • MCU: Seeed XIAO ESP32S3
  • Env sensor: SHT40 on I2C
  • Heater output: PWM channel driving dew ring power stage
  • Ring thermistor: analog input, safety cutoff only

Firmware Behavior

  • Control loop runs from ambient conditions, not ring temperature tracking.
  • Max power default is limited (90%) to reduce risk of over-heating optics.
  • If ring temperature exceeds cutoff, PWM is clamped.
  • Thermal log is stored in SPIFFS and pruned automatically.
  • If local SHT40 reads fail, firmware can fall back to weather API values.

Connect to the Device in a Browser

The controller always serves its web interface on HTTP port 80.

Option 1: Connected to Your Home/Observatory Wi-Fi (STA mode)

  1. Power the controller.
  2. Wait for it to join your configured Wi-Fi network.
  3. In a browser, open one of these:
    • http://DewController.local (mDNS)
    • http://<device-ip> (router-assigned IP)

If mDNS does not resolve on your network, use the IP address shown in your router client list.

Option 2: Setup / Fallback Access Point (AP mode)

If Wi-Fi credentials are missing or connection fails, the device starts an AP:

  • SSID: DewHeaterSetup
  • Device IP: typically 192.168.4.1

Steps:

  1. Connect phone/laptop to Wi-Fi network DewHeaterSetup.
  2. Open http://192.168.4.1 in your browser.
  3. In the web UI, enter your Wi-Fi SSID/password under settings and save.
  4. The device will reboot/reconnect and become available on your normal network.

Shared Telemetry Service for Other Telescope Devices

This controller exposes GET /status.json as a machine-to-machine telemetry service.

Example URL:

  • http://DewController.local/status.json

Other devices mounted on the telescope can poll this endpoint to get live environmental data. The Flat Panel dew heater is expected to use this service for ambient temperature and humidity inputs.

Recommended fields for client devices:

  • ambient - Ambient temperature in C (string value)
  • humidity - Relative humidity in % (string value)
  • dewpoint - Calculated dew point in C (string value)
  • dewspread - Dew-point spread (ambient - dewpoint) in C (string value)
  • time - Device timestamp string
  • version - Firmware version

Example:

json
{
   "ambient": "11.8",
   "humidity": "83.2",
   "dewpoint": "9.0",
   "dewspread": "2.8",
   "time": "2026-08-30 21:12:44",
   "version": "v5.2.0"
}

Typical polling interval for clients is 1-5 seconds, depending on how quickly they need to react.

Web UI Endpoints (for integrations)

  • GET / - Main UI
  • GET /status.json - Live status JSON
  • GET /log - Runtime log
  • POST /toggle - Enable/disable heater
  • POST /settings - Update configuration
  • POST /pwmtest - Manual PWM test mode
  • POST /clearlog - Clear runtime log
  • POST /clearlog_thermal - Clear thermal CSV log
  • GET /downloadlog - Download thermal log

Build and Flash

Use Arduino IDE (or Arduino CLI) with ESP32 board support.

  1. Install ESP32 board package.
  2. Select board compatible with XIAO ESP32S3.
  3. Install required libraries used by firmware:
    • Adafruit SHT4x
    • ArduinoJson
  4. Open firmware/dewcontroller/dewcontroller.ino.
  5. Build and upload.

Intended Use Notes

  • Designed for dew prevention on a Celestron C9.25 corrector plate dew ring.
  • Start with conservative max power and verify ring temperature behavior in field conditions.
  • Confirm wiring polarity, current capacity, and fuse protection before first light.

Version

Current firmware version string in source: v5.1.0

Parts

19
QtyValueFootprintReferences
210KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2, R3
10.01ufCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC2
1100ufCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC3
112V Power SupplyConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ1
11N4734Diode_THT:D_DO-41_SOD81_P7.62mm_HorizontalD2
11N5819Diode_THT:D_DO-41_SOD81_P7.62mm_HorizontalD1
1220uf 25VCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC1
1330Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1Dew Heater 12VConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ2
1FQP 30N06LPackage_TO_SOT_THT:TO-220-3_VerticalQ1
1Temperature SensorConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ3
1XIAO-ESP32-S3-DIPRF_Module:MCU_Seeed_ESP32C3_EdgeOnlyU1
1~Converter_DCDC:Converter TS-P312 DC BuckU3
1~Sensor_Humidity:AHT20U2

The 15 most common of 19 parts.

Questions

How big is the Dewcontroller PCB?

It measures 72.3 × 64.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Dewcontroller use?

19 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 Dewcontroller KiCad files?

From the mpinnuck/dewcontroller-hardware repository on GitHub, at the commit this page was made from: the board is hardware/dewcontroller/dewcontroller.kicad_pcb and its schematic hardware/dewcontroller/dewcontroller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Dewcontroller design in my own project?

Its repository states no licence, so its author keeps all rights: ask mpinnuck before reusing the design.

Similar boards

  • 2 layers43.9 × 27.7 mmTcd1304-4v, the printed circuit board in 3D

    Tcd1304-4v

    OpnTec/open-spectrometer-hardware

    Open source VIS spectrometer

    19 parts1.5k
  • 2 layers50 × 60 mmDebate Device, the printed circuit board in 3D

    Debate Device

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    19 parts915
  • 2 layers102.9 × 96.7 mmISA adapter, the printed circuit board in 3D

    ISA adapter

    polpo/picogus

    Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support

    19 parts805
  • 2 layers60 × 39 mmPs2usb, the printed circuit board in 3D

    Ps2usb

    rasteri/HIDman

    Adapting USB devices to work on old computers

    19 parts432
  • 2 layers70.1 × 43.2 mmIaq device, the printed circuit board in 3D

    Iaq device

    nkitanov/iaq_board

    IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality

    19 parts396
  • 2 layers80 × 80 mmGB BRK CPU G1, the printed circuit board in 3D

    GB BRK CPU G1

    Gekkio/gb-hardware

    Game Boy -related custom hardware by gekkio

    19 parts379CC-BY-4.0
  • 2 layers25.4 × 25.4 mmIna169, the printed circuit board in 3D

    Ina169

    Ardumower/ardumower

    Develop an open source robotic lawn mower (HW+SW reference platform)

    19 parts282
  • 2 layers58.4 × 28.6 mmNew rele, the printed circuit board in 3D

    New rele

    zmaker/arduino_cookbook

    gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube

    19 parts269