DRV800 User Guide

Last updated: 2023-03-09 PDF version
DRV800 8-channel digital laser driver user interface
DRV800 user interface

Laser diode connections

The laser diode anode must be connected to the LDn pin of the laser diodes terminal block. The cathode must be connected to GND.

Power supply

Supply with 12 V either using the supply jack or the terminal block (pins V+ and V-). A power supply providing at least 2 A is recommended.

Serial interface

The serial interface can be accessed either via the micro USB connector or via the TX and RX pins of the terminal block. Only one communication channel can be used at a time. UART TX/RX digital voltage level is 3.3 V (5 V tolerant).

The serial interface is the only way of configuring the DRV800 operating parameters. Once the configuration is done, it can be saved to the internal memory with the save command. If the configuration switch CFG (SW2) is ON at start up, the DRV800 will load the user-defined configuration and the serial interface is no longer needed.

The DRV800 can be controlled directly from a serial port terminal (e.g. Teraterm on Windows) with the following configuration:

  • Baud rate: 115200
  • Parity: None
  • Bits: 8
  • Stopbits: 1
  • Flow control: None

Example use of the serial port terminal

In this example, we set the drivers supply voltage to 6 V, set the current setpoint of channel 3 to 150 mA and retrieve the monitored current.

>> vslaser 6
>>ilaser 3 150
>> imon
0.277 0.290 149.985 0.323 0.288 0.272 0.278
>> imon 3

Note: Each command must be followed by \r\n.

Control commands

In the following commands channel, is an integer between 1 and 8. When the channel argument is omitted, the command returns the statuses of all channels separated by whitespaces.

Command Description Type Unit Default Min Max
ilaser [channel] Laser current R/W mA 0.0 0.0 210.0
modgain [channel] Modulation gain R/W 0 0 1
vslaser Laser drivers supply voltage R/W V 5.0 4.8 9.0
lckon Disable | enable interlock functionality R/W 0 0 1
imon [channel] Monitored laser current R mA
vmon [channel] Monitored laser voltage R V
vslmon Monitored laser supply voltage R V
ldelay Time between when the controller lights up and when the laser lights up R/W ms 1000.0 10.0 100000.0
vdrop [channel] Monitor transistor voltage drop R V
tboard Board temperature R °C
vbus Input supply voltage R V
ibus Input supply current R A
version Firmware version R v0.3
save Save configuration in internal memory (no argument) W
serial Return the serial number R
userdata write Write the user data (e.g. userdata write ABC) W 31 chars
userdata Read the user data R
brate UART baud rate R/W baud 115200 9600 460800
err Return the error code in hexadecimal format (no argument) R
errclr Clear the error code (no argument) W


An optional interlock functionality can be activated with the lckon 1 command. Laser current is then disabled when the LCK pin is pulled low. Once laser current has been disabled, the serial command lason 1 must be sent to re-enable the laser current. The behavior of the interlock pin can be inverted with the command lckon 3.

Error codes

The command err returns a 32-bit number in hexadecimal representation which concatenates the detected errors (B0 is the Least Significant Bit):

  • B0: UART_BUFFER_OVERFLOW (err = 1)
  • B1: UART_CMD_BEFORE_PROMPT (err = 2)
  • B2: RESERVED (err = 4)
  • B3: RESERVED (err = 8)
  • B4: BUS_UNDERVOLTAGE (err = 10)
  • B5: BUS_OVERVOLTAGE (err = 20)
  • B8: INTERLOCK_TRIGGERED (err = 100)
  • B9: LASER_ON_WHILE_INTERLOCK (err = 200)
  • B10: CMD_UNKNOWN (err = 400)
  • B11: CMD_INVALID_ARG (err = 800)
  • B12: LASER1_CONNECTION_FAULT (err = 1000)
  • B13: LASER2_CONNECTION_FAULT (err = 2000)
  • B14: LASER3_CONNECTION_FAULT (err = 4000)
  • B15: LASER4_CONNECTION_FAULT (err = 8000)
  • B16: LASER5_CONNECTION_FAULT (err = 10000)
  • B17: LASER6_CONNECTION_FAULT (err = 20000)
  • B18: LASER7_CONNECTION_FAULT (err = 40000)
  • B19: LASER8_CONNECTION_FAULT (err = 80000)

A single error triggers the ALM pin on the terminal block to go high.

Drivers supply voltage adjustment

A programmable voltage source supplies all the drivers. The supply voltage is programmable from 4.8 V to 9 V using the vslaser command. It must be adjusted to optimize the trade-off between power dissipation and modulation performance.

The vdrop command can be used to monitor the voltage across each driver transistor. Adjusting vslaser for a drop voltage around 1 V typically provides good regulation while maintaining moderate power dissipation.

Thermal management

The DRV800 is protected against over-temperature. If the board temperature rises above 75 °C a high temperature warning is emitted (WARNING_BOARD_TEMPERATURE). When the temperature increases beyond 95 °C, the laser drivers are shutdown and an over-temperature error (BOARD_OVERTEMPERATURE) is emitted. After an over-temperature shutdown, the DRV800 must be restarted, either by cycling OFF and ON the power supply or by sending a reset command.

Modulation response and cable length

Modulation response depends on the inductance between the laser driver and the laser diode. To minimize parisitic inductance from the cable, use the shortest possible twisted pair cable.

For example, the figure below shows the influence of a 1.6 m long twisted pair cable.

DRV800 8-channel digital laser driver modulation response twisted pair cable
DRV800 modulation response twisted pair cable
Can't find your answer? Contact us
[email protected]