MacroDSLR is a powerful, but still easy to use macro photography application for Apple Mac computers built around INDIGO and INDI standard.
It can control digital single-lens reflect camera (or actually any other supported digital camera) and its lens or external focuser, to allow proper framing, focusing and capturing a batch of images suitable for further processing by some focus stacking capable application.
It can control many devices supported by built-in INDIGO drivers or it can use any 3rd party remote INDIGO or INDI driver. Out-of-the-box it contains INDIGO drivers for the following focusers:
- ICA (ImageCapture API) based driver with specific support for Canon, Nikon and Sony cameras,
- Simulator drivers,
- FLI focuser driver,
- Shoestring FCUSB focuser driver,
- USB_Focus V3 focuser driver and
- Moonlite focuser driver,
- PegasusAstro DMFC focuser driver,
- NStep focuser driver,
- NFocus focuser driver,
- Deep Sky Dad AF1/AF2 focuser driver,
- Baader Planetarium SteelDrive II focuser driver,
- MJKZZ macro rail focuser driver,
- WeMacro macro rail focuser driver.
What's new in version 3.12
- ICA driver replaced by PTP-over-USB driver,
- Deep Sky Dad AF1/AF2 focuser driver added,
- Baader Planetarium SteelDrive II focuser driver added,
- INDIGO framework updated to 2.0.112.
What's new in version 3.11
- INDIGO framework updated to 2.0.88.
What's new in version 3.10
- INDIGO framework updated to 2.0.87.
What's new in version 3.9
- INDIGO framework updated to 2.0.77,
- ZWO ASI focuser added.
What's new in version 3.8
- INDIGO framework updated to 2.0.76.
What's new in version 3.6
- INDIGO framework updated to 2.0.75,
- different ISO, aperture and shutter control for Sony cameras,
- more Mojave dark appearance cleanup.
What's new in version 3.5
- INDIGO framework updated to 2.0.74,
- Microtouch, Moonlite, NFocus/NStep and MJKZZ focuser driver added,
- Mojave dark appearance support added.
What's new in version 3.4
- INDIGO framework updated to 2.0.73,
- Bluetooth driver for WeMacro focuser added.
What's new in version 3.3
- INDIGO framework updated to 2.0.70,
- LiveView for some Sony Alpha cameras added,
- LiveView for Nikon D3 and D300 fixed,
- WeMacro rail support added (you may need to configure proper port name in embeded control panel),
- list of manually added INDIGO services is persistent now.
To see a new video tutorial, please visit https://youtu.be/cHQSUTkdk1E
What's new in version 3.2
- INDIGO framework updated to 2.0.67,
- specific support for D850 added.
What's new in version 3.1
- INDIGO framework updated to 2.0.65.
- built-in INDIGO control panel.
Please note, that MacroDSLR contains many INDIGO drivers, but none of them with exception of ICA driver is loaded by default. To enable the driver you actually need, select it on Preferences → INDIGO Drivers pane. You may need to scroll down to find some of them.
Initial setup and preferences
When MacroDSLR is started for the first time or when button in toolbar is clicked, preferences panel is shown. It has four different panes. On the first one there are general settings and the rest is related to INDIGO framework.
Many options, e.g. Use mirror lockup or Avoid AF works only with certain cameras or lens.
Port number, Bonjour service name and Bonjour service type are parameters for configuration of internal INDIGO server. Do not change them unless you understand how INDIGO works. If something will go wrong you can try to set Log level to debug or trace to see more verbose output from INDIGO framework.
MacroDSLR contains many INDIGO drivers, but none of them is loaded by default. To enable the driver you actually need, select it on INDIGO Drivers pane.
MacroDSLR will connect to any INDIGO server in the local network automatically, but if you want to configure connection to a service without Bonjour support (e.g. linux based INDI server or INDIGO server outside local network), you can do it on INDIGO Services pane.
Camera panel, operations and state
On the camera panel you can select an active camera and configure parameters for its driver:
- camera mode,
- image size,
- drive mode,
- ISO sensitivity,
- exposure compensation,
- metering mode,
- focusing mode,
- white balance setting,
- shutter and
- duration for BULB mode.
Not every parameter can be configured for every camera and not every parameter can be configured from the camera panel (e.g. advanced or device specific parameters). For these parameters you need to use INDIGO or INDI control panel instead while MacroDSLR is running and device is connected. Make sure that you saved the configuration before closing control panel (configuration control property in main group).
The camera related operations represented by the toolbar buttons in LiveView and Capture groups are:
- start LiveView preview,
- toggle LiveView zoom,
- stop all captures.
- capture and display single frame,
- capture and display frames in endless loop,
- capture and save batch of images (it will ask to select the folder first if not selected already) and
- stop all captures.
The buttons are enabled only if camera is selected.
The indicator in the lower right corner shows current battery status (if this information is available).
Focuser panel, operations and state
On the focuser panel you can select an active lens or focuser and configure parameters for its driver:
- focuser speed,
- step size and
Variable speed is not supported by all focusers and also step size meaning may differ. For focusers with stepper motor it is number of steps while for focusers with DC motors it is duration in milliseconds.
The focuser related operations represented by the toolbar buttons are:
- rewind in,
- focus in,
- focus out,
- rewind out and
- stop focuser.
If step size is greater than zero, focuser is in stepper mode and will move in or out specified number of steps or milliseconds every time focus in or focus out button is clicked. If step size is equal to zero, focuser is in timed mode and will move in or out while focus in or focus out button is pressed. Timed mode is not supported by all focusers and lens.
In the status bar there is an indicator which shows the current position and the status of the focuser.
With Nikon and Canon camera bodies it is possible to control some of the lens. Nevertheless, that possibility differes from camera to camera. You can focus only during LiveView and if you want avoid AF before subsequent capture, make sure that Avoid AF before capture is selected in Preferences for Canon and that Focusing is set to M for Nikon (unfortunately, this is not possible for semi-profi and profi bodies with AF switch).
Batch panel, state and operations
On the batch panel you can configure parameters for capture of simple series of images:
- frame count and
- base image file name.
If any focuser is selected on focuser pane, each time an image is captured, focuser will execute selected number of steps out. Rewind in or out will execute the selected number of steps multiplied by image cound in or out.
MacroDSLR never overwrites existing file, instead sequence number is increased.
By clicking the image name you can load it into preview pane. By doubleclicking you can show it in Finder.
Image, histogram and PSF panels
Image preview panel shows the last image captured by the camera or loaded from a file.
If you move the mouse cursor over the image, coordinates and RGB values are shown in status bar.
In the histogram panel (top right) you can see among histogram in logarithmic scale, size of the image and some statistical data. Below the histogram there are sliders and steppers for setting black and white point for image stretching and also button to set the component into automatic mode.
The image preview related operations represented by toolbar buttons are
- zoom in,
- zoom to full size,
- zoom to fit and
- zoom out.
INDIGO control panel
MacroDSLR has a built-in control panel for managing all INDIGO or INDI devices found on the local INDIGO bus. You can expand a device → group → property tree to examine or set items of any device property.
Remember to save your changes each time you customise any settings (navigate to device → Main → Configuration control and click Save)
MacroDSLR device represents MacroDSLR itself and can be used by scripting tools etc.
Please note, that embedded control panel can be used only to control local devices. To access remote devices you need full featured INDIGO Control panel.
As far as MacroDSLR is based on INDIGO, it can natively use distributed setup, e.g. to control device driver running within other application or on another machine. INDIGO uses bonjour service discovery, so you don't need to configure anything while both MacroDSLR and the remote server are running on machines connected to the same local network. Otherwise you need to add hostname and port of INDIGO service to the list at INDIGO Services tab in Preferences.
You can download INDIGO for various linux platforms (including INDIGO server and device drivers) from www.indigo-astronomy.org. If you want to use Mac computer as remote server, you can use INDIGO Server for macOS.
Device detected by remote servers appears in the list of available devices the same way as local device, just with '@ server' suffix in the name (e.g. 'Titan @ rpi.local').
To setup properties of local or remote devices not managed directly by MacroDSLR (e.g. serial ports for focuser configuration) you can use INDIGO Control Panel. Remember to save the configuration of the device driver (each device has Options section with Configuration page).
Debugging the application
AstroDSLR has a built-in debugging support for case that something went wrong. On AstroDSLR → Preferences → INDIGO set "log level" to "trace", restart AstroDSLR, repeat failed operation, save the log to a text file by Control → Save log and send the file to firstname.lastname@example.org for further analysis.
Optional INDI driver pack
If your device isn't supported by INDIGO, but has INDI driver ported to Mac computers, you can use it with optional INDI driver pack. These drivers can’t be bundled with MacroDSLR due to GPL license, but you can download and install them yourself.
Source code of these drivers is available from INDI github repository.
Please contact us at email@example.com or bb.cloudmakers.eu.