The OpenMacroRail Firmware provides a web-interface for accurately moving a camera in small increments in order to do focus stacking. The OpenMacroRail project also consists of a DIY-friendly circuit-board design that can be manufactured for around $30 if you have access to a soldering iron. The circuit board is designed for photographers with electronics skills rather than engineers with photography skills. In addition, some external hardware is also required (like a macro slider, a motor, and a camera).
Already have the hardware? Get started!
- Electronics / printed circuit board
- 3D printable gears and PCB mount
- 3D printable microscope objective adapter (RMS Thread 160mm focal distance)
- Canon EF/EF-S mount for the microscope adapter above
- Section of README with links to other relevant documentation: Various Documentation
The fastest way to install the OpenMacroRail software on the ESP32 is by going to the OpenMacroRail online installation website. This website will enable installing the latest OpenMacroRail firmware-release to your ESP32 directly from the web browser (Chrome, Edge and Opera are supported) without installing any unnecessary software on your computer.
- Go to the OpenMacroRail online installation website
- Follow the instructions there
The development environment for this project is slightly more involved than a generic Arduino project. Mainly due to being based on the ESP32 microcontroller, which is not officially supported by Arduino themselves. The ESP32 is luckily incredibly popular in its own right, and is well supported in the Arduino ecosystem once everything has been set up correctly. Here is a basic guide for how to get started.
- Install the Arduino IDE
- Add ESP32 board manager URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Install "esp32 by Espressif Systems" from the Arduino Boards Manager.
- (Planned in the future. Not currently needed) Install ESP32 filesystem upload plugin for Arduino IDE (SPIFFS = SPI-Flash File System): https://github.com/me-no-dev/arduino-esp32fs-plugin
- Install the following libraries via the Arduino Library Manager:
-
WiFiManager (by tablatronix https://github.com/tzapu/WiFiManager)
-
SpeedyStepper (by S.Reifel https://github.com/Stan-Reifel/SpeedyStepper)
Note: The version of SpeedyStepper available in the Arduino Library Manager contains a typo in an import header that stops it from working on Linux. Download directly from the GitHub repository to fix this error.
-
- Select "Tools->Board->ESP32 Arduino->ESP32 Dev Module"
- Build and flash firmware
- Connect to WiFi Access Point named "OpenMacroRail-AP"
- Enter your WiFi credentials (these will be stored in EEPROM on the ESP32)
- Connect to the same network with your mobile phone or computer
- In a web browser, on your mobile phone or computer, enter the URL OpenMacroRail.local
-
Alternatively:
Set Baud Rate in Serial Monitor to 115200 and wait for IP Address to show up
-
Type IP address in browser to access the user interface
-
- Plug 12V power in the power jack to enable the motor