2.4" EVE Touchscreen Display - Where do I start?

magicaltrevor

New member
Well this is a lonely part of the forum! ;-)

I've bought the 2.4" EVE Touchscreen Display developers kit with the Seeduino, breakout board and a nice sunlight readable display. Ultimately, I have a simple application in mind, read inputs from an Arduino (I'll start with the Seeduino and then move to a Nano sized board) and display them on screen.

Where do I start though? My understanding is that I can develop screens with the FTDI tools such as EVE Designer and/or Editor but they seem overly complicated.

Please can I have a nudge in the right direction to do simply display a variable on screen in a nice smooth font? "Hello World" will do :)

Many thanks
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 

magicaltrevor

New member
Thank you, I'd seen the demo code but I was looking for an even simpler example as I don't yet have the experience/knowledge to really get in to understanding the demo code just yet.

Thanks for the Rudolph Riedel link, that's very helpful.

So is there a good place to get started with Eve Designer or Editor? It's difficult to find out for sure but can I wire together the demo kit and use either of those pieces of software to develop a simple screen that reacts to inputs on the Arduino? That's my assumption but I don't know how to even configure it!
 

CF Tech

Administrator
To use EVE Designer on your PC

To my knowledge, to use the Eve Designer effectively you need to be able to talk SPI from the PC.

This cable:


Can be plugged between the PC and the CFA10098 board. I have also seen this module mentioned but have not experimented with it:


Using one of the USB to SPI bridges above, you can then run the FTDI tools and demos on your PC - I believe under Visual Studio.

The trouble is that in your end product or project, you probably will not have a PC available to control the EVE screen. It will probably be controlled by a small microcontroller. This is why we made our demos work with a Seeeduino v4.2 (which is a clone of an Arduino UNO that can be switched to run at 3.3v).

To use Crystalfontz Demo with a Seeeduino

If you have the Seeeduino, CFA10098, and the EVE display, then you have about the simplest EVE development environment I can think of.

For an example of how to display text, you can look at CFA10097.INO, line 372:
Code:
          FWo=EVE_PrintF(FWo,
                         x_points[i]+xoffset,  //X coordinate
                         y_points[i]+yoffset,  //Y coordinate
                         27,                   //Font
                         EVE_OPT_CENTER,       //Options
                         "T[%d]@(%d,%d)",      //"printf" style format string
                         i+1,                  //point number displayed as text
                         x_points[i],          //X coordinate displayed as text
                         y_points[i]);         //Y coordinate displayed as text
The equivalent for "Hello World" would be:
Code:
          FWo=EVE_PrintF(FWo,
                         LCD_WIDTH/2,     //X coordinate -- centered in display
                         LCD_HEIGHT/2,    //Y coordinate -- centered in display
                         27,              //Font
                         EVE_OPT_CENTER,  //Options
                         "Hello World!"); //Text to render
 

AA9GG

New member
To use Crystalfontz Demo with a Seeeduino


The equivalent for "Hello World" would be:
Code:
          FWo=EVE_PrintF(FWo,
                         LCD_WIDTH/2,     //X coordinate -- centered in display
                         LCD_HEIGHT/2,    //Y coordinate -- centered in display
                         27,              //Font
                         EVE_OPT_CENTER,  //Options
                         "Hello World!"); //Text to render
Where can I find reference to the "FONT" parameter? The Font table in the BT817 datasheet makes no sense
 

AA9GG

New member
The programming guide for the BT817 can be found here: https://brtchip.com/wp-content/uplo...BRT_AN_033_BT81X_Series_Programming_Guide.pdf

It describes using CMD_ROMFONT on page 166.

I'm not aware of us demonstrating this command in our demo software.
You are correct. My problem is I am not sure how to use it. It is defined as EVE_ENC_CMD_ROMFONT in EVE_defines.h, but I don't understand how to use it within your code. How do I set that register within your demo code?
 

CF Tech

Administrator
For issues that dig deeper into the BT817 usage -- especially items that are not specific to the Crystalfontz implementation -- you can also post questions over on Bridgetek's forum:

 

AA9GG

New member
To use EVE Designer on your PC

To my knowledge, to use the Eve Designer effectively you need to be able to talk SPI from the PC.

This cable:


Can be plugged between the PC and the CFA10098 board. I have also seen this module mentioned but have not experimented with it:


Using one of the USB to SPI bridges above, you can then run the FTDI tools and demos on your PC - I believe under Visual Studio.

The trouble is that in your end product or project, you probably will not have a PC available to control the EVE screen. It will probably be controlled by a small microcontroller. This is why we made our demos work with a Seeeduino v4.2 (which is a clone of an Arduino UNO that can be switched to run at 3.3v).

To use Crystalfontz Demo with a Seeeduino

If you have the Seeeduino, CFA10098, and the EVE display, then you have about the simplest EVE development environment I can think of.

For an example of how to display text, you can look at CFA10097.INO, line 372:
Code:
          FWo=EVE_PrintF(FWo,
                         x_points[i]+xoffset,  //X coordinate
                         y_points[i]+yoffset,  //Y coordinate
                         27,                   //Font
                         EVE_OPT_CENTER,       //Options
                         "T[%d]@(%d,%d)",      //"printf" style format string
                         i+1,                  //point number displayed as text
                         x_points[i],          //X coordinate displayed as text
                         y_points[i]);         //Y coordinate displayed as text
The equivalent for "Hello World" would be:
Code:
          FWo=EVE_PrintF(FWo,
                         LCD_WIDTH/2,     //X coordinate -- centered in display
                         LCD_HEIGHT/2,    //Y coordinate -- centered in display
                         27,              //Font
                         EVE_OPT_CENTER,  //Options
                         "Hello World!"); //Text to render
Thank you. Dumb question....how can I print a floating point number (a number with a decimal place) with EVE_PrintF() ?
 

CF Tech

Administrator
I doubt if the full floating-point printf is included in the Arduino library. A full printf implementation can get huge.

You can search for arduino printf full floating point and find lots of people talking about it.

As a quick hack, if you just need a couple of digits, you can print those out using some subtract and multiply.

First print out the integer portion, then a decimal point.

Then subtract the integer portion so all that remains is the fractional part. If you want 3 digits to the right of the decimal, multiply that fractional part by 1000 and print those 3 integer digits. (use 10 for 1 digit, or 100 for 2 digits, etc)
 

AA9GG

New member
I doubt if the full floating-point printf is included in the Arduino library. A full printf implementation can get huge.

You can search for arduino printf full floating point and find lots of people talking about it.

As a quick hack, if you just need a couple of digits, you can print those out using some subtract and multiply.

First print out the integer portion, then a decimal point.

Then subtract the integer portion so all that remains is the fractional part. If you want 3 digits to the right of the decimal, multiply that fractional part by 1000 and print those 3 integer digits. (use 10 for 1 digit, or 100 for 2 digits, etc)
ok...I kinda had a feeling it was something like that. I wound up abandoning that Arduino code for the XMEGA code done by Rudolph. My platform IS Atmel (atMega644) but NOT Arduino. I use an older version of Imagecraft's AVRICC, so I have to streamline the code to ANSI C. It is a bit of a challenge, but I am almost done. I also pulled out what I didn't need as far as bloat code for other displays and micros.
 

Kendall Roy

New member
To use EVE Designer on your PC

To my knowledge, to use the Eve Designer effectively you need to be able to talk SPI from the PC.

This cable:


Can be plugged between the PC and the CFA10098 board. I have also seen this module mentioned but have not experimented with it:


Using one of the USB to SPI bridges above, you can then run the FTDI tools and demos on your PC - I believe under Visual Studio.

The trouble is that in your end product or project, you probably will not have a PC available to control the EVE screen. It will probably be controlled by a small microcontroller. This is why we made our demos work with a Seeeduino v4.2 (which is a clone of an Arduino UNO that can be switched to run at 3.3v).

To use Crystalfontz Demo with a Seeeduino

If you have the Seeeduino, CFA10098, and the EVE display, then you have about the simplest EVE development environment I can think of.

For an example of how to display text, you can look at CFA10097.INO, line 372:
Code:
          FWo=EVE_PrintF(FWo,
                         x_points[i]+xoffset,  //X coordinate
                         y_points[i]+yoffset,  //Y coordinate
                         27,                   //Font
                         EVE_OPT_CENTER,       //Options
                         "T[%d]@(%d,%d)",      //"printf" style format string
                         i+1,                  //point number displayed as text
                         x_points[i],          //X coordinate displayed as text
                         y_points[i]);         //Y coordinate displayed as text
The equivalent for "Hello World" would be:
Code:
          FWo=EVE_PrintF(FWo,
                         LCD_WIDTH/2,     //X coordinate -- centered in display
                         LCD_HEIGHT/2,    //Y coordinate -- centered in display
                         27,              //Font
                         EVE_OPT_CENTER,  //Options
                         "Hello World!"); //Text to render
What Libraries and header files are needed to run this code in the arduino IDE?
 
Top