INDI driver for the DustCapIno observatory controller.
DustCapIno is an Arduino-based controller that provides automated control of a telescope dust cap, flat-field illumination panel, and environmental sensors.
The driver integrates with INDI and works with KStars / Ekos.
Many observatory setups use separate devices for dust cap control, flat-field illumination and environmental monitoring.
DustCapIno was created to combine these functions into a single compact controller that integrates cleanly with the INDI ecosystem.
The goals of the project are:
- Provide a reliable automated dust cap for remote observatories
- Integrate a flat-field panel for calibration frames
- Expose environmental sensor data to INDI
- Offer robust diagnostics and safety features
- Maintain a simple and transparent serial protocol
The project is designed for fully unattended astrophotography systems, where reliability and safe operation are critical.
System overview of the DustCapIno observatory controller.
DustCapIno connects the telescope dust cap hardware to the INDI ecosystem via a simple USB serial protocol. The controller manages the servo motor, flat-field panel and environmental sensors, while the INDI driver exposes the functionality to Ekos.
-
Motorized telescope dust cap control
-
Flat-field light panel with brightness control
-
Safety lock to prevent light when cap is open
-
Environmental sensors (temperature and humidity via DHT)
-
Diagnostics panel
- Controller voltage
- Free RAM
- Servo PWM
- Movement state
-
Automatic serial port detection
-
Reconnect watchdog
-
Smart polling depending on device state
DustCapIno controller typically includes:
- Arduino-compatible microcontroller
- Servo motor for dust cap
- LED flat-field panel
- DHT22 temperature & humidity sensor
indi-dustcapino
│
├── driver
│ ├── dustcapino.cpp
│ ├── dustcapino.h
│ └── CMakeLists.txt
│
├── firmware
│ └── dustcapino.ino
│
├── docs
│ └── protocol.md
│
├── README.md
├── LICENSE
└── .gitignore
Clone the repository:
git clone https://github.com/bjober/indi-dustcapino.git
Build the driver:
cd indi-dustcapino/driver
mkdir build
cd build
cmake ..
make
For testing:
indiserver -vvv ./indi_dustcapino
To install system-wide:
sudo make install
The driver will be installed to:
/usr/local/bin/indi_dustcapino
- Start KStars
- Open Ekos
- Add DustCapIno as an Auxiliary device
- Connect the device
- Control dust cap and flat panel from the DustCap / LightBox tabs
A typical imaging session using DustCapIno with Ekos might look like this:
- Start INDI server
- Connect DustCapIno controller
- Verify dust cap status and environmental sensors
- Unpark dust cap
- Slew telescope to target
- Begin focusing and guiding
- Capture light frames normally
- DustCapIno monitors system status via the INDI driver
When the imaging session ends:
- Park the telescope
- Close the dust cap
- Turn on the flat-field panel
- Capture flat frames automatically in Ekos
- Turn off flat panel
- Park the dust cap
- Disconnect devices
This workflow enables a fully automated calibration process, which is especially useful for remote observatories and unattended imaging sessions.
This driver requires DustCapIno firmware version 1.4 or newer.
Firmware source is located in:
firmware/dustcapino.ino
CMD:OPEN
CMD:CLOSE
CMD:ANGLE:<value>
CMD:STATUS
CMD:LIGHT_ON
CMD:LIGHT_OFF
CMD:BRIGHTNESS:<value>
CMD:READ_DHT
CMD:HELLO
HELLO:DUSTCAPINO,...
STATUS:<state>,<angle>,<brightness>,<safety>
DHT:<temperature>,<humidity>
DBG pulse=<value> VCC=<value> RAM=<value> moving=<0|1>
SERVO_STALL
SERVO_POWER_FAIL
MOVE_TIMEOUT
FAILSAFE_CLOSE
After modifying the driver source code, rebuild using:
cd driver/build
make
Then run the driver again using indiserver.
This project is licensed under the MIT License.
DustCapIno is under active development and is currently used in a working observatory setup.
The focus is on reliability and stable operation with INDI / Ekos.
Björn Bergman