ITEAD display vs Maker kit display with Photon

I just ordered my Photon board and I already have a ITEAD display lying around
It has 4 connectors, +5V, TX, RX and GND. Unlike Maker Kit OLED 0.96 inch display that has 7 connector to the Display
If I wish to play around with bus prediction Will my ITEAD work with photon. Or must I buy another display for my bus prediction project to work.

Thanks in Advance

I’m pretty sure you can get that screen working on a photon. However, I’m not sure how easy that will be because if there isn’t already a library for it, you would have to create the library yourself. After you get the screen working you will have to modify the next bus project to work with the new display.

This is an smart display and yes, you can use it with Photon.
There already is a library to support ITEAD Nextion displays.

But the way to use these smart displays is completely different to how the OLED is used in the project.

Hello ScruffR
Yes ITEAD Nextion display already has library for Arduino The problem is ITEAD is +5V and Photon Particle only supports +3Vs. I can solve that problem by using two different power supply +5V for ITEAD and +3V for Particle.
Then I only need 1 connection since there is data being transmitted from Photon Particle to ITEAD display. The problem is which PIN on Photon Particle will Transimit do I connect is it A3 or A5 on Particle board Or should I use Digital out put pin on the Particle board.

Or perhaps I need to purchase a e-paper since it takes SPI request ? ( Display-1)
Display 2 does have the MOSFT PIN that is NOT there in DISPLAY 3

Thanks in Advance

First, the Photon will accept 5V as its power source on the Vin pin. Most Photon GPIO pins are 5V tolerant. When communicating with a 5V peripheral, you should be aware that the Photon GPIO pins only put out 3.3V. Most peripherals will still be able to communicate with the Photon without additional externals. But it is more proper to use a level-shifting buffer to translate the 3.3V to 5V.

With that said, to be very clear… if you use a different display that the one used in the example, you will have to modify the example to communicate with that newly selected display. The display in the next bus example is based on the SSD1306 chipset. If you choose a display that is not driven by an SSD1306, you will have to make modifications to the example code. It doesn’t matter if an E-ink display also communicates by SPI, it is the chipset that determines how to communicate with the display (i.e. which registers to update, what control bits to set, how to place the cursor, etc.)

1 Like

@Mapoint, I have used a Nextion 4.3" display powered from the Photon’s Vin pin while the Photon itself is powered via USB without any issues. The Nextion is a serial (UART) display which means you need to connect it to the Serial1 port of the Photon via the RX/TX pins. I agree with @ninjatill on the need to change the code to suit the display.

As @ScruffR pointed out, the Nextion is an HMI display with it’s own processor so it does a lot of work but requires a different way of thinking about the way you interact with the display itself. Because of this, you program the display with its own editor to create each display page. There is a learning curve to it but the results are superior to using on non-touch, non-HMI display.

For the sake of simplicity, unless you are willing to invest the time to learn the Nextion, stick with non HMI displays. On top of that, stick with displays that use the Adafruit_GFX library like the SSD1306. This will ensure that the code is entirely (mostly) portable with a different display.

2 Likes

Thanks Peekay123 for the recommendation
There is no standard for pin labels on SSD1306 display
Some havee SCL,SDA to replace D1 and D0 in the nextbus project Other have MOSFT
On ebay the SSD1306 one gets multiple hits and many displays fom 1.50USD to $19.00 for one display all using SSD1306.
Adafruit Does not have a D1 and D0 pinout labels

Where do I buy the SSD1306 display with the exact same pin labeling Is there a translation for the PINS or do I have to read the code and edit the code to figure that out.?
Thanks

Usually you’d need to understand what interface the code uses (SPI or I2C) and then you need to look for a display that supports that.
There are SSD1306 for I2C only and others support both (maybe there are also SPI only ones, but I doubt that).
Once you know what interface you are going for, you just need to see the datasheet to understand which pin is which and have to match them to the corresponding ones on the µC.

BTW, when I said there is an ITEAD Nextion library I acutally meant a version of the Arduino library that was ported for the Particle ecosystem.
https://build.particle.io/libs/ITEADLIB_Nextion/0.0.16/tab/ITEADLIB_Nextion.cpp

1 Like

The next bus example uses this pin connection scheme (copied and pasted) and I added the pin descriptions in italics:

Wiring (Photon ⇒ OLED screen):
D4 ⇒ CS (Chip Select)
D3 ⇒ DC (Data/Command Control)
D5 ⇒ RST (Reset)
A5 ⇒ D1 (SPI MOSI)
A3 ⇒ D0 (SPI SCK or Clock)
3V3 ⇒ VCC (3.3V Supply)
GND ⇒ GND (Ground)

It is important to understand the pins and what they do. The chip select pin either enables or disables the display. If multiple screens were communicating on the same SPI bus, then you use chip select to turn on the desired screen and turn off the others as you can only communicate with one device at a time (the display library handles this for you). The data/command control pin tells the display if you want to update the data registers or the command registers (the display library handles this for you.) Reset is a bit self explanatory. I know the example is using SPI because the A3 and A5 pins on the Photon are for SPI communication, not I2C.

If you choose another display based on SSD1306, then D1 and D0 might be labeled MOSI and CLK, respectively, or some variation of those labels. Don’t get hung up on the labels when shopping. Understand the pins, read the datasheets!

Hello Ninjatill
Thank you for the info that is good to add to the documentation. I already setup my Photon board and got it connected to the internet “Cyan LED light is Lite” The ITEAD has its own processor so only two Pins are required one for Transmitting(TX)(blue wire) and one for Receiving data(yellow wire) to TX and RX pin on the Photon board as shown in the picture below


NOW I need some kind of sample test code from the photon Library to see if the TX and RX are working Which example is best to choose from to see if the Photon is able to communicate with the ITEAD Nextion Display,

Do you realize that the library that @ScruffR linked to has 14 examples in it? But as @peekay123 pointed out, these aren’t your typical displays and require a special editor to program the display ahead of time (at least that’s how I understood it). I wish I had one to test out.

With a serial interface like this (RX/TX) you need to cross the wires.
What one device sends (=transmits via TX) needs to be received (hence RX) by the other and vice vesa.
So the connection should be TX-RX and RX-TX.

If you want to use Nextion displays, you should download their editor, read the guide and have a look at the samples provided with the library.
To actually test the samples, you should download the HMI files from the library repo to build with the Nextion Editor and flash to the display.

1 Like

OK I get the display connected with correct wiring


Here is the Error I am getting because the libraries are not in the clound
Or are they and I have to just insert the reference http link to nextion.h file

You have to include the nextion library in your project. Just copying and pasting some example .ino file is not sufficient. To include the library, using web IDE, click the “libraries” icon image. Then type into the library search “ITEAD” and you will get one result.

image

Click on the ITEADLIB_Nextion library name and then click “Include in Project”. When prompted, choose which project you want to include the library in.

image

NOTE: you may have to remove the #include statement that was already in thecopy and paste code so you don’t have duplicate includes.

1 Like

You also haven’t got the wiring correct.
You need to plug the red wire into Vin when you power the Photon via USB - the display needs 5V, but VBAT does not source any power.

BTW, the library has guards in place to prevent multi-inclusion.

Will Photon Console add the add nextion.h if I commented it OUT.
Because if I comment it out. Including is NOT enough so it seems

Did you mean to comment out both #include statements? You should have at least one of those #include <ITEADLIB_Nextion.h> statements uncommented in the .ino. Including the library adds all the .cpp and .h files to your projecct in the background. However, you need to include the ITEADLIB_NEextion.h file in your .ino to be able to use the resources in the library. When you include a library, the web IDE automatically adds an #include statement to the .ino file (the top most one in your screenshot). However, I was merely stating prior, that you can remove one (and only one) of those includes to clean up the project.

Thanks for the clarification.