Helios Laser DAC
Helios is a DAC for laser projectors. It is very low cost and open source, yet fast and with high resolution. It supports every laser projector with a standard DB25 ILDA port. It connects to the computer using USB, and can support most any OS including Windows, Mac and Linux.
Featured software that supports the Helios:
The source can be found on Github. Pull requests are welcome! https://github.com/Grix/helios_dac
Specifications and features:
- Max sampling rate: 65535 points per second.
- X/Y resolution: 12 bit (4095x4095)
- Color and intensity resolution: 8 bit (16 million colors not including intensity)
- Max frame size: 4095 points
- Low noise and distortion
- Shutter signal control
- Custom, persistent naming of DACs, great for multi-projector configurations
- Open source hardware, firmware and drivers
- Easy firmware updating over USB
- Drivers are OLSC compatible: Works with several existing programs
- Platform portable: Uses libusb which supports Windows, Linux, OS X, Android, Web etc.
- Based on ATSAM4S2B ARM microcontroller, 112MHz and 64KB RAM
- Plug and play: Drivers automatically installs on Windows 8 or newer, Linux and Mac
- Black aluminium enclosure
- Connectivity: USB B female in, DB25 (ILDA) female out
- Two indication LEDs
- Dimensions: 75 * 70 * 25 mm
- Power consumption: ~150mA
On Windows 8 or newer, drivers should automatically install when plugging the device in for the first time. No further action is needed, software should be able to detect and use the DAC right away.
On older versions of Windows, you may need to manually install drivers for the DAC to work. To do so, follow these steps:
- Download and run Zadig: zadig.akeo.ie/.
- In the dropdown list, find "Helios Laser DAC".
- Select WINUSB (should be default) as driver and click "Install Driver"
- You're done, Helios should now be detectable and usable.
On Mac, like newer versions of Windows, you don't need to install any drivers, the device should work right away if there is no existing kernel extension installed for the device.
To use the device without root privilege, you probably need to set up udev rules. See this page for more information: libusb FAQ on github
Using Helios with software that supports the OLSC API.
On some programs that support the OLSC API, such as ILD SOS, you can enable Helios functionality by replacing a DLL file. The file can be found in the github repo here, as "HeliosLaserDAC.dll": https://github.com/Grix/helios_dac/releases
Rename HeliosLaserDAC.dll to OLSC.dll or OLSD.dll depending on what the program use, and replace the file in the program's installation folder. The program should now be able to detect the Helios. If the program hasn't implemented the name property of the OLSC API, the DAC might show up as "OLSD" or something similar.
The DAC occasionally gets firmware updates to fix bugs and add features. Here's how to update the firmware:
- Download the firmware updating tool (only for Windows now, Mac/Linux coming): firmwareupdater_script.zip
- Unzip, plug in the DAC and run the file "flash.bat".
- Follow the instructions on the screen (you will need to unplug and replug the device a couple of times).
Latest firmware: v5 released on 2017-03-20
. Updating is recommended for all users.
Third party software integration
The github repo with the complete driver is linked above. Navigate to the folder "sdk" to find the relevant code. You can choose to use the native Helios functions documented in HeliosDacAPI.h (Exported C functions) or HeliosDac.h (OOP), or you can use the OLSC API functions documented in OpenLaserShowControllerV1.0.0-Mod.h. Notice that the OLSC API only support Windows so for cross platform applications it is recommended to use the native Helios functions instead.
Basic flow for using the DAC is also documented in HeliosDacAPI.h.
The driver depends on libusb
. You can use the included binary libraries for x86 Windows, Mac or Linux, or you can build your own. You can find the libusb source for that on their website, linked earlier in this paragraph.
Hardware and firmware modification
The hardware and firmware source are also found in the github repository linked above. The PCB is drawn in Kicad. The firmware is written and built with Atmel Studio for the ATSAM4S2B microcontroller. Note that the hardware is under a non-commercial license. This means that you are allowed to modify your own Helios or manufacture Helios DACs for your personal use, but you are not allowed to mass-produce and sell Helios DACs without permission.
New firmware can be uploaded to the device over USB. To do this, you must reset the "GPNVM1" bit in the flash memory, which will make the microcontroller boot to the SAM-BA bootloader. You can do this by sending a special interrupt packet to the DAC. You can then access the flash using Atmel's SAM-BA software or BOSSA. There is an automatic tool for firmware updating, see the bottom of the User Guide section above.
If you have any questions, you can click the "Contact me" button in the corner of this site to e-mail me.