I have a PSOC Cypress board which generates a 5V PWM signal to drive a laser diode. The idea is to design a programmable pulse which I could control the on-time period and current in the pulse. The problem I'm facing is how will I be able to control the current in the pulse?

In other words, I want to program the board to provide specific pulse but I would like to have an external circuit which will allow me to control the average current in the pulse without changing the duty cycle or the time specs of the pulse. I was thinking to use an op amp circuit in voltage controlled current source but I can't figure out how that could be done.

  • \$\begingroup\$ It's easier to control the maximum current than the average current. \$\endgroup\$ Aug 13, 2014 at 16:46
  • \$\begingroup\$ What are the rough pulse amplitudes (microamps or amps?) and time scale of the PWM (kHz or GHz?)? Minimum and maximum PWM duty cycle? \$\endgroup\$
    – The Photon
    Aug 13, 2014 at 18:54
  • \$\begingroup\$ I don't think current modulation is easy. Why do you want to control current? Is it simply to ensure the LASER operates correctly (which is addressed at that web site mentioned in my answer), or do you need to modulate it for a specific purpose. Please help us by explaining why you need current control in more detail. \$\endgroup\$
    – gbulmer
    Aug 14, 2014 at 9:38
  • \$\begingroup\$ Thanks for your response guys, The purpose of my design is to test a new devolved laser diode, We need to investigate the laser operations, being able to control the current is quite important to evaluate the efficiency for our laser while it is pulsing, do you think this is will be possible? The pwm signal has 220 ns on time with 5V. \$\endgroup\$ Aug 14, 2014 at 13:26

1 Answer 1


There is quite a lot of information available on the web, however knowing good search terms is an obstacle.

You need a constant current source to reliably drive a LASER.

I recommend looking at Sam's LASER FAQ and specifically Communications Systems Using Diode Lasers which, I think may provide solutions to your problem.

Current control is very important to ensure a LASER works properly.

I don't think current modulation is easy. If it is to ensure the LASER operates correctly then it is addressed at that web site.

I'll quote a useful part:

Modulating a laser to complete cutoff is a very, very bad game for all sorts of reasons:

  • The light versus current behavior is hideously non-linear below about 10% of full output, so you really need dynamic feedback control - but the photodiodes tend to be slow, so that's not on.
  • Spectral quality, and beam shape, go to blazes at low power levels
  • lasers don't turn on from fully-off anywhere near as fast as they can vary intensity around the 50% level.
  • It's pig-difficult to design the modulation circuit so it is guaranteed never to overshoot the current that gives 100% full light output (which is essential, because even very brief over-power transients dramatically shorten the laser's life).

That link seems like a good place to start. At best it solves the problem, at worst it gives you enough understanding to be able to write good search queries.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.