CTL20 User Guide

Last updated: 2025-12-22 PDF version
CTL20-B7 Digital butterfly anode-grounded laser diode controller user interface
CTL20-B7 user interface
Butterfly laser type 2 7-pin configuration
Butterfly laser type 2 7-pin configuration

Supply connector

  • +VCC: Positive power supply (3.5 V to 5.5 V).
  • -VCC: Negative power supply (-5.5 V to -5.0 V).

Communication connector

  • ALM: Alarm output (3V3 logic).
  • LCK: Interlock pin (see Interlock).
  • TX: UART TX pin.
  • RX: UART RX pin.

Configuration switch

  • 1: CFG If CFG is ON at start-up, the board will start with the user-defined configuration. Otherwise, the default configuration is loaded.
  • 2: BM This pin is used for firmware update. Set to OFF for normal operation.

Serial interface

The serial interface can be accessed via TX and RX pins on the communication connector (3V3 logic level / 5V tolerant). The serial interface is the only way to configure the CTL20 operating parameters. Once the configuration is done, it can be saved to the internal memory with the save command. If the CFG input is ON at start-up, the CTL20 will load the user-defined configuration and the serial interface is no longer needed.

The CTL20 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

>>
>>version
V0.2
>>rtset
10000.000000
>>rtact
10000.023438
>>rtset 12000
12000.000000
>>rtact
11999.853516

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

Graphical User Interface

A Graphical User Interface installer can be downloaded at this link.

Control commands

CommandDescriptionTypeUnitDefaultMinMax
lasonDisable | enable laser currentR/W001
ilaserLaser currentR/WmA0.00.0ilmax
vlaserLaser voltageRV
lckonDisable | enable interlock functionalityR/W001
ilmonMonitored laser currentRmA
ldelayTime between when the controller lights up and when the laser lights upR/Wms1000.010.0100000.0
ilmaxSoftware current limitR/WmADriver nominal current0.0500.0
lilimSelect laser current limit high (1) or low (0)R/W101
teconDisable | enable TEC currentR/W001
tprotDisable | enable temperature protectionR/W101
rtsetThermistor resistance setpointR/WΩ10000.0rtminrtmax
rtactActual value of thermistor resistanceRΩ
itecTEC currentRA
vtecTEC voltageRV
kpropProportional gain of the temperature controllerR/WV/°C0.270.0100.0
tintIntegral time of the temperature controllerR/Ws1.210.010000.0
tderDifferential time of the temperature controllerR/Ws0.00.01000.0
tilimTEC current limitR/WA1.00.251.5
rtminMinimum thermistor resistance. If temperature protection is enabled, the laser current is automatically disabled below this value.R/WΩ5000.02000.050000.0
rtmaxMaximum thermistor resistance. If temperature protection is enabled, the laser current is automatically disabled above this value.R/WΩ15000.02000.050000.0
vtminMinimum TEC voltageR/WV-2.0-3.00.0
vtmaxMaximum TEC voltageR/WV3.00.03.0
tjuncTEC driver junction temperatureR°C
iphdPhotodiode currentRmA0.05.0
tboardBoard temperatureR°C
vposPositive supply voltageRV
vnegNegative supply voltageRV
versionFirmware versionRv0.1
statusReturn lason, vlaser, ilmon, itec, vtec, rtact, iphdR
saveSave configuration in internal memory (no argument)W
modelReturn the board modelR
serialReturn the serial numberR
userdata writeWrite the user data (e.g. userdata write ABC)W31 chars
userdataRead the user dataR
brateUART baud rateR/Wbaud1152009600460800
errReturn the error code in hexadecimal format (no argument)R
errclrClear the error code (no argument)W

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: VPOS_UNDERVOLTAGE (err = 10)
  • B5: VPOS_OVERVOLTAGE (err = 20)
  • B6: VNEG_UNDERVOLTAGE (err = 40)
  • B7: VNEG_OVERVOLTAGE (err = 80)
  • B8: BOARD_OVERTEMPERATURE (err = 100)
  • B9: LASER_UNDERTEMPERATURE (err = 200)
  • B10: LASER_OVERTEMPERATURE (err = 400)
  • B11: TEC_AMP_OVERTEMPERATURE (err = 800)
  • B12: LDO_OVERTEMPERATURE (err = 1000)
  • B13: LASER_DRIVER_OVERTEMPERATURE (err = 2000)
  • B14: CMD_UNKNOWN (err = 4000)
  • B15: CMD_INVALID_ARG (err = 8000)
  • B16: LASER_ON_WHILE_INTERLOCK (err = 10000)
  • B17: INTERLOCK_TRIGGERED (err = 20000)

Interlock

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.

See also

Can't find your answer? Contact us
[email protected]