LCD Display Won'T Work with Nano Every

I am trying to operate an HD4478 16x2 LCD display from an Arduino "Nano Every" but, not having any luck. The display stays blank. I am building a 120 Vac Min/Max voltage display. I have it working with a "Micro" but cannot get the liquid crystal to function with the "Nano Every".

I tried using the Liquid Crystal Display example sketch for a test. When I try to compile the "Hello World" example sketch in "IDE 1.8.12" I get the an error message containing the following: fatal error: ../Print.h: No such file or directory #include "../Print.h" ^~~~~~~~~~~~ compilation terminated., also: Invalid library found...arduino_220378.

I can compile and upload the sketch in the web editor but the LCD remains blank. I downloaded the LCD library folder "LiquidCrystal-1.0.7" from the web editor and installed it in the Arduino folder in "Documents" but, it didn't help.

The LCD display is wired to the "Nano Every" as per the instructions in the example sketch: LCD RS to D12, LCD Enable to D11, LCD D4 to D5, LCD D5 to D4, LCD D6 to D3, LCD D7 to D2 and R/W to ground.

Any help will be greatly appreciated. Thanks

Are you using a seperate supply for the screen as they are almost always 5 volts and the EVERY is 3.3 volts.

You have two (possibly 3) seperate issues from what I can see in that the desktop IDE has not had the correct LCD library installed or it was installed incorrectly.

The second issue maybe voltage related.

A third possible issue is that there are lots of LCD libraries and some use different pin arrangements or are designed for the regular AVR MCU's and not the newer MCU's used in the new NANO series.

It is for those reasons I would like you to read the follwing links please

Could you take a few moments to Learn How To Use The Forum.
Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

Thanks for the reply.

QUESTION: Are you using a separate supply for the screen as they are almost always 5 volts and the EVERY is 3.3 volts. The second issue maybe voltage related.

ANSWER: I am powering the Nano Every from the +12V output of a +/- 12 VDC supply located on the proto board. I’m using an analog interface circuit to isolate and scale the 120 VAC input so I had to install a split supply to power the opto-isolator, op-amps and RMS converter. The Nano Every is a 5V board. I checked pins 1 & 2 and 15 & 16 on the LCD and both pairs have 4.97V.

QUESTION: You have two (possibly 3) separate issues from what I can see in that the desktop IDE has not had the correct LCD library installed or it was installed incorrectly.

ANSWER: I agree I think it’s a library issue. When I compile the sketch in the desktop IDE I get the following error (notice that the processor listed in the first line of the error message is a ATMEGA328 not the ATMEGA4809 used in the Nano Every:

Arduino: 1.8.12 (Windows 10), Board: "Arduino Nano Every, ATMEGA328"
In file included from C:\Users\Leonard\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.6\cores\arduino/api/Stream.h:25:0,
from C:\Users\Leonard\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.6\cores\arduino/api/Client.h:22,
from C:\Users\Leonard\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.6\cores\arduino/api/ArduinoAPI.h:29,
from C:\Users\Leonard\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.6\cores\arduino/Arduino.h:23,
from sketch\Nano_LCD.ino.cpp:1:
C:\Users\Leonard\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.6\cores\arduino/api/deprecated/Print.h:23:10: fatal error: ../Print.h: No such file or directory

#include "../Print.h"
^~~~~~~~~~~~
compilation terminated.

exit status 1
Error compiling for board Arduino Nano Every.
Invalid library found in C:\Users\Leonard\Documents\Arduino\libraries\X_arduino_220378: no headers files (.h) found in C:\Users\ Leonard \Documents\Arduino\libraries\X_arduino_220378
Invalid library found in C:\Users\ Leonard \Documents\Arduino\libraries\X_arduino_220378: no headers files (.h) found in C:\Users\ Leonard \Documents\Arduino\libraries\X_arduino_220378
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

QUESTION: A third possible issue is that there are lots of LCD libraries and some use different pin arrangements or are designed for the regular AVR MCU's and not the newer MCU's used in the new NANO series.

ANSWER: My research for the Nano Every showed that although the Nano Every uses the ATMEGA4809 it has the same pinout as the Nano. I followed the circuit connection instructions in the comments section of the IDE example sketch listed under LiquidCrystal-Display. I have tried connecting LCD RS to D11 with LCD Enable to D12. I have also tried RS to D7 with Enable to D6. Neither worked.

QUESTION: It is for those reasons I would like you to read the following links please.

ANSWER: I read the material in the troubleshooting link but, could not find any info on my problem.
In closing, I noticed that I can compile and upload example code that does not have #include <LiquidCrystal.h>, such as “Blink”, without getting an error. However, when I open example code that calls the liquid crystal library it will not compile. This, and the fact that the error message list an ATMEGA328 processor leads me to believe that the problem is being caused by an improper or missing library. How do I locate the correct library for using an LCD with a Nano Every?

OK I think we can boil this down to a library issue.

There are so many it is pretty difficult for me to say which would work with the every.
Most people use SPI displays as they are a lot easier to get going and often provide more functions such as graphics.

The only way to be sure would be to test likely candidates based on the MCU's they support.
Whilst the 4809 is close and part of the AVR family it may not be close enough to support some libraries.

I am going to tag somebody who may have more knowledge in this area.