I have the following problem: for some *** reason, my LCD is flashing when my fingerprint scanner turns on. Here is a video of the behavior: https://www.dropbox.com/s/mqk4u0vu8yvhiwz/IMG_3171.m4v?dl=0.

More details: I have a membrane keypad. When I start typing on it, the LCD turns on, and when I type the correct code, the fingerprint scanner turns on, and the LCD prompts the user to press a finger upon the scanner. However, then the LCD backlight starts flashing badly. Interestingly, if I just plug the wall adapter into the arduino and try the scenario, the LCD does not flash. However, if let's say 10-15 have passed since the adapter is plugged in, the LCD flickering becomes visible and irritating (again, when the fingerprint scanner is turned on). So, what could be the reason and how to fix it? Why if I just plug the adapter and execute the scenario, the LCD does not flash, and if I wait some time with the adapter plugged in, and then execute the scenario, the LCD flickers?

Just to add: My fingerprint scanner is GT511C1R (https://www.sparkfun.com/products/13007) and I am using the standard scheme for wiring it (560/1000 ohm for the RX). I am not using lcd.clear() command as I know it's heavy, and even if I don't write any text, the still LCD flickers.

Best regards, Nike

  • 3
    Sounds like lack of power. What kind of power supply are you using? Is the regulator on the Arduino getting hot?
    – Majenko
    Apr 3 '16 at 21:04
  • I have tried with two supplies: 1. simple small wall adapter, can't recall it's exact specs, but given its size, it will not be more than 10 watts 2. big 150 watt supply dedicated to carry a lot on it. If by regulator you mean the stuff surrounding the female 12v plug of the arduino - then, yes, it's hot. Apr 3 '16 at 21:18
  • Interesting why at the beginning (first ~10 secs) of the 'life' of the charged Arduino everything seems ok and then little by little, the LCD starts to flicker. Apr 3 '16 at 21:23
  • 1
    It sounds like you are on the cusp of thermal shutdown. Power the LCD and fingerprint scanner from a separate 5V power supply.
    – Majenko
    Apr 3 '16 at 22:11
  • 2
    You can use the same power supply to give a global 12v rail but step that down to 5v separately using a small switching regulator. They are cheap enough on eBay etc and avoids having another brick.
    – Majenko
    Apr 4 '16 at 8:37

The backlights on these LCDs are just an LED array with a series resistor so the intensity will be directly proportional to the input voltage; flickering voltage = flickering backlight.

Check these things:

  1. Measure the output of the 5V regulator with an AC volt meter to see if the regulator is oscillating when the backlight flickers, i.e. AC voltage >> 0V. If it is, then you probably need to increase the size of the output and possibly the input capacitors.

  2. Measure the Input-to-Output voltage differential of the regulator and multiply it by the output current. If you dissipate more power than the thermal design allows this will heat the regulator making (1) more likely as well as driving the regulator into thermal shutdown.

If the regulator is linear, i.e. 7805 etc, you can solve both (1) and (2) by changing the regulator to a drop in switching type. These will dissipate heat as a percentage of the output power instead of as a function of the input voltage and can be made self contained with regard to input/output capacitors which would be on-board instead of off-board. A switcher can also do something a linear can't do: Supply more current than the source. A 12V 0.5A power supply into a 5V regulator can supply 5V at 0.5A with 3.5 watts of waste heat. That same 12V supply into a decent switcher can deliver 1.14A at 5V with only 300mW of waste heat!

This PDF is an example circuit that runs about 95% efficient and fits on a 7805 footprint.

This PDF is the circuit of the 1516 switcher linked above configured to replace the NCP1117 linear regulator use on the Uno Rev3.

This PDF is a full thermal analysis of the Arduino Uno NCP1117 regulator running under the conditions stated in your question. As you can see, you were right on the edge of what the NCP1117 could handle at 200mA (LCD plus scanner). I have included a thermograph showing the same unit supplying 1.85A at 5V using a drop in switching regulator with no issues.

  • It looks like the Uno uses a SOT-223 linear regulator that has a 150C/W thermal resistance with a 150C die limit: (150C-25C)/150C/W = 833mW. At 12V in and 5V out, this limits the output current to 833mW/(12V-5V) = 119mA max output current. A typical 2x16 LCD with green backlight draws 115mA at 5V leaving 4mA in your current budget for everything else. Apr 6 '16 at 17:15
  • The fingerprint scanner that you indicated has a supply current specification of <130mA, but I'm pretty sure it's closer to 130 than zero! I'm surprised your circuit runs at all. Apr 6 '16 at 17:20

A huge thanks for your detailed replies! They lead me into the very right direction. So here is what was it: As I mentioned, the situation gets worse as more time passes with the 12v jack plugged in. At the same time, the regulator was getting damn hot, I could not stick my fingers to it for more than half a second. So, I kind of did what you recommended - got a regulator and put down the voltage to 7V (with 5V the display did not want to show any text). With 7V the regulator is still getting warm, but even if I left it for 10 minutes running it's not getting hot any further further. The display - it's flickering very little and only if you look at it at a specific angle, but it's not flickering overall if you look straight at it. Interestingly, I also took a look at the schemes of the display and the fingerprint scanner and it sounds like it would not be possible for the arduino to feed these two. But, the whole project is running flawlessly (at least looks so). I just hope that math equations in regards to the mA would not cause harm to the fingerprint scanner or the arduino.

So, thanks again, for your kind and detailed replies, much appreciated.

All the best, Nike


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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