Logging in some Screen Time

This little screen posed more of a challenge than I thought it should have, however that could be because I’m not doing things the “normal” way, and need to come up with a bit of a workaround.
The 16x2 LCD I’m using ideally runs on 5v, however the nodeMCU I’m connecting it to is only capable of a 3v output. The solution seemed simple enough; run power from the Uno in the case up to the screen, and run the 6 data lines from the NodeMCU to the display.

I connected the LCD, as per the tutorial, to the NodeMCU with two small changes.
First, I connected the power rail to the Uno’s 5v.
Second, I switched the output pins from D2 and D3 to D3 and D4 as I am already using D1 and D2 to run my I2C communication lines.

When I plugged it in, the screen filled with boxes, which turned into arrows when the NodeMCU was reset.


Interestingly, this did not happen when the power rail was connected to the Uno’s 3v output, nor did it happen when I was using the Uno to test the screen on 5v; it would only happen when the screen was connected to the 5v with the NodeMCU providing the data.

After reconnecting the screen to the NodeMCU, I tried running the LCD using the 3v NodeMCU power and it did work… it was dim, but it worked!


Not satisfied with a dim screen, I kept at it, and through process of elimination I was able to determine that the issue was coming from the LCD’s (VDD) power in… and I don’t know where this idea came from but I had the thought that the 5v was somehow spilling/backing up into the NodeMCU which was causing some kind of conflict, and that if I was to pop a diode into the circuit going into the LCD’s power that it would prevent current backflow… so I did, and YeHaw the screen lit up with the full might of 5 wonderful volts!

Now all I need to do is mount it in the box… and code it to display sensor values.

Cannabal

Part time mad scientist, gardener, tinker and dreamer.

https://www.cannabalurges.com
Previous
Previous

I let the smoke out

Next
Next

Building a case for the Colonel