Recent Posts

Pages: [1] 2 3 ... 10
TFTs / Re: Using the NHD-3.5-320240MF-20 with the HND-3.5-320240MF-ASXN#ND
« Last post by rrubiocastil on October 22, 2019, 12:43:15 AM »
Hello ezed413, did your code work?
I am using a PIC24F curiosity board (xc16 compiler)
TFTs / Code for NHD-2.8-240320AF-CSXP-FCTP
« Last post by rrubiocastil on October 21, 2019, 11:19:26 PM »
Hello, I recently purchased a NHD-2.8-240320AF-CSXP-FCTP display. I want to make it work using a PIC24F curiosity board or an Arduino Due. Where can I find libraries? 
Graphic LCDs / Display NHD-C12864WO-B1TFH#-M contrast options.
« Last post by on October 21, 2019, 07:49:06 PM »
I notice that the Newhaven datasheet shows a resistor network between VR, VOUT, and V0.

The Newhaven display uses the ST7565P controller.  According to the datasheet for this controller, there should be operating modes that do not require any connection to VR.   I should be able to use the internal regulator and set the contrast using a series of commands to the unit.

Am I missing something?  Has the internal contrast control logic been disabled in the Newhaven unit?  Is it the only available option to redesign my circuit so as to use an external resistor network to set VR?
Customer Projects / NHD-2.4-240320CF-CSXN#-F with ESP32 Devkit V1
« Last post by Gerdchen03 on October 19, 2019, 12:36:06 PM »
I like to use a NHD-2.4-240320CF-CSXN#-F with a ESP32 Devkit V1 (

My Sketch to test is:
Code: [Select]
//****  Screen and SPIFFS Headers and Defines ****

#include "LogoJR.h"
#include "LogoOV.h"

#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
#define GREY    0x18E3

//HardwareSerial Serial1(1);
TFT_eSPI tft = TFT_eSPI();
TFT_eSprite needle = TFT_eSprite(&tft);
TFT_eSprite Nav1 = TFT_eSprite(&tft);
TFT_eSprite Nav2 = TFT_eSprite(&tft);

//****  FreeRTOS Headers and Variables  ****


#define OuterRadius 160
#define InnerRadius 130
#define xCenter 160
#define yCenter 160

void setup() {

void loop() { 

//****  Splash Screen  ****

void splash(){
  Serial.print("Splash Screen");

Configuration at User_Setup.h from the TFT_eSPI library is:
Code: [Select]
#define ST7789_DRIVER
#define TFT_WIDTH  240
#define TFT_HEIGHT 320
#define ESP32_PARALLEL
#define TFT_CS   -1 
#define TFT_DC   15 
#define TFT_RST  22
#define TFT_WR   2 
#define TFT_RD   4 
#define TFT_D0   16   
#define TFT_D1   17   
#define TFT_D2   5   
#define TFT_D3   18 
#define TFT_D4   19
#define TFT_D5   21
#define TFT_D6   26
#define TFT_D7   25
#define SPI_FREQUENCY  40000000
#define SPI_READ_FREQUENCY  20000000
#define SPI_TOUCH_FREQUENCY  2500000

I'm not able to get a picture. I have no idea what I've made wrong. Hope someone could help me.
OLEDs / Re: NHD-2.7-12864WDW3-M Graphic OLED Display
« Last post by sporubcan on October 17, 2019, 06:54:26 AM »
I have the same problem - only 6080 mode works, other modes don't. I need to have working SW_SPI. Could you please help me?
TFTs / Re: NHD-3.5-320240FT-CTXL-CTP Eve2 co-processor issue
« Last post by jonicon on October 15, 2019, 09:35:13 AM »
Well, this turned out to be a problem in the code which sends data to the display. Temporary buffer read pointer did not advance correctly, so it copied the new data and all previous display lists to the cmd queue, with the described results. Also REG_CMD_WRITE and REG_CMDB_WRITE look very similar but aren't.
Hi all,
I found a issue with this initialisation command sequence
Code: [Select]
/*filling buffer with LCD initialization command sequence*/
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[0] =  0x00;     /*SendLCD_command to the display*/
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[1] =  FUNC_SET_TBL0;
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[2] =  FUNC_SET_TBL1;
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[3] =  0x14;     /*Set BIAS - 1/5*/
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[4] =  0x73; /* Set contrast low byte*/
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[5] =  0x5E; /*ICON display on, Booster on, Contrast high byte*/
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[6] =  0x6D;     /*Follower circuit (internal), amp ratio (6)*/
[b][b] g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[7] =  0x0C; /*Display on*/
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[8] =  0x01; /*Clear display*/
g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[9] =  0x06; /*Entry mode set - increment*/[/b][/b]

/*write text to device as soon as it is ready*/
while(I2c_write(&g_I2c_LCD_Cpu.drivers.i2cDevLCD, &g_I2c_LCD_Cpu.i2cBuffer.i2cTxBuffer[0], 10) == IfxI2c_I2c_Status_nak);
This command sequence works fine, but sometimes after resetting the board i'm getting a blank screen.
I've probed the I2C lines and found that the highlighted commands are not getting properly sent to the LCD.
If i call this init function twice i didn't get the blank screen, but i couldn't able to get the exact root cause for why those 3 commands are not properly sent.
TFTs / NHD-3.5-320240FT-CTXL-CTP Eve2 co-processor issue
« Last post by jonicon on October 14, 2019, 02:39:18 AM »

I am using Newhaven EVE2 Display over SPI with TI MCU.

The application has simple pages, which all have background image and a button. "The button" is a a tagged image as well. When the button area is touched ,an  another page will be displayed. The corresponding series of commands is first written to MCU buffer, and then transmitted to the display command queue, which is then executed, and display swapped.

The application works mostly. The page changes work as desired, but after some 5 or 6 changes the display goes crazy. It may display just one color, or the background image rasterized wrong, or just stripes etc. I've verified that the commands are written without error by dumping the CMD buffer.

A test program which has just the tagged button images, and no background, does not go crazy, but it responds slower after half a dozen  page changes. I reduced the program to just two pages changing back and forth, and the issue still takes place.

The common thing seems to be that the problem appears after the display CMD buffer has received altogether about 0x400 bytes worth of commands (1024 bytes) in several transfers. 1024 is nowhere near the CMD buffer size mentioned in datasheet. The buffer size is checked before writing to.

Also, the display is not in error state either.

After reading back the interrupt flags from the display, it seems that the display registers touch events, and the MCU application receives them, and is able to send new display commands, but the display is already crazy and shows wrong stuff.

Doing the software reset to the display does not change the situation.

Tested with 2 identical displays.

What could explain this?
« Last post by rastam4n on October 11, 2019, 08:55:25 AM »
I am still experiencing difficulties with this screen and it seems to be linked to the use of touch

The display will work well during boot up etc and will stay stable if I use a keyboard and mouse, but once I try to use the touch screen it starts flickering and the touch stops working.
This happens often but not always, sometimes everything works as it should... sometimes for 15 or 20 minutes then it malfunctions again. What can be causing this?
OLEDs / SPI Arduino US2066 Library
« Last post by shayneloyd on October 10, 2019, 10:03:52 AM »
I recently created and released a library for the US2066 Controller on Arduino. It mimics the built in LiquidCrystal library with some added functionality.

 I eventually would like to complete the i2c and parallel portions, but for now the SPI works. It uses a "bit banged" SPI so you can pass the pin numbers or the just the name of the controller("Mega", "mega", "Uno", etc) for the default SPI pins. The controller defaults to 20 x 4 but you can pass the size in the .begin(16, 2). I haven't tested it on a two line, but in theory it should work. I haven't added all the functionality of the US2066, but I eventually I may do that as well. I'm not sure how to get the Arduino Library Manager to pick it up. There is currently a bug in the createChar method... I can't get the 0 character to work.
Pages: [1] 2 3 ... 10