Most suitable 7" display for build - Zynthian Discourse
I would like to build a box and wondering what’s the most suitable 7" screen. I see these issues in the thread below about touch problems. I think some of the ones they sell on ebay here are the same model.
SATA IPC contains other products and information you need, so please check it out.
I’ve found two types, one with connectors and one with only ribbon cables. Does anyone have experience with the ribbon cable one? Or is it easier to just get the one with connectors on the board?
https://www.ebay.com.au/itm/
https://www.ebay.com.au/itm/
https://discourse.zynthian.org/t/capacitative-usb-touch-not-working-properly-on-7-hdmi-ips--600-waveshare-clone-display//2
Hi @LFO .
The official 7inch raspi display sur the DSI interface.
This waveshare too:
As you can see, this one doesn’t need any additional board.
But both of them needs the I2C bus for the touch functionality. If you plan to use encoders and switches (with mcp port expander) you will need to split the I2C pins.
Sidenote for @tunagenes : this waveshare display is declared “VisionFive” compatible.
I find the HDMI quiet useful especially for testing/tinkering because it “just work” and can be hot switched from a device to an other.
But for a final intégration the cables can be complicated To manage.
The company is the world’s best Capacitive Touch Screen 7 Inch supplier. We are your one-stop shop for all needs. Our staff are highly-specialized and will help you find the product you need.
Lastly, these displays are in 800x480 or x600 résolutions. If you choose the 7inch format for having large characters on screen, I suggest you To go for 800x480. On x600, they will be small (but this could be modified with webconf).
Ok, thanks everyone for chiming in, it helps. My preference is for the narrower bezels and higher resolution of the ‘unofficial’ ones. The other thing is these unofficial ones would be easier to mount inside a case closer to the surface. The convenience of having the connectors sounds like a good idea even if it may make it more chunky to fit in a case. I hope I won’t have to fight it too much with the touch functionality.
I have a 7" display with HDMI & 2 USB connectors. It works well but doesn’t really lend itself to mounting in an enclosure due to the need to bring the USB out to mate with the RPi USB sockets. It was cheaper than the official displays but I would recommend one that connects to internal connectors.
This display thing is really confusing to navigate. I thought the ribbon cable displays were integrated and the cable connect directly to the Pi. The screen controller part is what I found quite confusing. Some are integrated with hdmi ports, others don’t come with one at all.
I found this page comparing the video output options from raspberry pi.
There are many variations on a 7" screen on the waveshare site. I can’t see any of the 7" touchscreen with small bezel and the DSI/MIPI interface ribbon that connects directly to the raspberry pi board.
This one is slim but connects to the raspberry Pi from the small board with HDMI
https://www.waveshare.com/wiki/70H-
I found 30cm hdmi cable but they were surprisingly expensive. If I could find a really short one that’s reasonably priced, it could work.
This one is high resolution and DSI direct connection but has a larger bezel. Seems there’s not screen that is slim and DSI connection.
If you are looking for more details, kindly visit 12.1 Inch IP67 Panel PC.
7 inch TFT - Capacitive Touch Application Help Needed
The SD holder mounted on buydisplay will not work, you can get working at incredible low SPI speed but sincerily I never get really working, they mounted capacitors, series resistors and prolly pullups.
Also, the RA works in SPImode3, SD works in SPImode1.
To get an SD work you should isolate the RA with the circuit I described in github wiki, get a quality SD holder (like the one mounted in the PJRC audio board) and mount very near Teensy (or you can use the SD card holder homemade adaptor described here .
But you have to isolate the RA wiith a small circuit described here or it will not work!
Just a note, the RA it's not the best chip to send images, it's extremely fast driving his accellerated geometric primitives, internal fonts, etc, etc. but receiving pixels it's a slow business.
The best way I found it's send an entire line, better than one pixel a time but still not efficent, I'm actually cannot find another way in datasheet, so don't expect to read large images in less a second on a 800x480 display, it will take not less than 3 secs using the max SPI speed and a SDholder very near to Teensy with a high speed SD card.
It's extremely important you put the SD card very near Teensy with the shotest wires you can.
There's an 2 examples that uses SDfat and the new Paul modified SD library optimized for Teensy in the library, both working.
The RA has a separate SPI that can drive internally (very fast and using DMA) a SPI flash chip, it looks promising but it's a bit complicated since you have to program SPI Flash chip separately, I will test this option in near future since the library already support that.
About the RA library...
The library can use any permitted Teensy 3.0,3.1 and LC configuration, it's compatible with the PJRC Audio Card and it's SPI Transaction compatible, it works well with the new SD optimized for Teensy library by Paul. Datasheet on hand the RA has a SPI limit of 12Mhz but (after weeks of testing) actually I'm driving it at 22Mhz without problems by modulating SPI speed on some register so when you work with that SPI speed you always have to use short cables and good decoupling, it can work with a good quality breadboard but use always short cables and be sure contact it's good.
About the FT..
The RA library already support it internally, don't need an external FT library, just go to RAUserSettings.h file and uncomment #define USE_FT_TOUCH.
Chech the examples->_capacitiveTouchScreen->FT_touchScreen.ino example.
About wiring...
It's correct, but you missed the TC_INT pin for the Touch screen (try pin 2) and you MUST use 2 pullup resistors on SDA and SCL (2 x 2k2 resistors between each I2C line and 3V3).
Note that ER-TFTM070-5 uses a lot of current for backlight, you will need a separate supply! In that case you need to wire the RST pin as well (any free Teensy pin should work).
Some user configured ER-TFTM070-5 at 5V and they are able to drive it by 5v from Teensy but you can easily get garbage on screen because the voltage should be at list 4.8V and stable, not less.
If you have set ER-TFTM070-5 at 3V3 volt DO NOT SUPPLY with Teensy 3V3 out or you will destroy your Teensy!
My library only support SPI connection with RA, I do not support any other method.
I don't think you will get much better results with 8 bit parallel mode, probably 16 bit mode it's a bit better but both are a waste of pin to me.
The reason it's simple, the RA chip it's like a microcontroller, you send a command and you have to wait it finish it so you are forced to polling it's busy port or use an INT for that.
Sending data faster it will not help for images, the bottleneck it's the lack of a RA macro for that.
The RA it's a great controller, actually it's the only one that uses very tiny microcontroller resources (you can use a 800x480 16bit color display with 5 concurrent touches, actually impossible with any other display).
If you are cool with 3-4 sec loding time, you ca use it, or better try the internal SPI flash method that I never tested but should work, on-paper it can transfer images by using internal RA DMA very fast.
To get faster speed you need to go to SSD series chip, they work with 16bit data so use a lot of pins but they can work as frame buffer so sending pixel data it's a fast business.
In contrast you will use a lot of microcontroller resources (and RAM), remember you are using a tiny microcontroller not a CPU with 1 or 2 gig ram like raspberry.
Hello Sumoty,
GOOD NEWS !!! I got the hardware wired up and it appears to be working.
I did get several error messages when compiling the EXAMPLE called "FT_touchScreen.ino" which is located
in the folder called "_Teensy3" & "_capacitiveTouchScreen", which should be configured foir the Teesny 3.1 board.
The libraries are installed correctly, however, I am getting several compiler errors that I do not understand.
NOTE: Compiles OK on my alternate Windows XP system, having errors on Windows 8.1 laptop.
See error messages below..
Example folder
C:\Program Files (x86)\Arduino\libraries\RA-0.70\Examples\_Teensy3\_capacitiveTouchScreen\FT_touchScreen
Arduino: 1.6.4 (Windows 8.1), TD: 1.23, Board: "Arduino Uno" *** Not Sure why this sketch ID's for Arduino UNO ??? ***
Build options changed, rebuilding all
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp: In member function 'void RA::setFont(const tFont*)':
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp::80: error: 'PROGMEM_read' was not declared in this scope
_spaceCharWidth = PROGMEM_read(&_currentFont->chars[temp].image->image_width);
^
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp: In member function 'void RA::_charWriteR(char, uint8_t, uint8_t, uint8_t, uint16_t, uint16_t)':
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp::76: error: 'PROGMEM_read' was not declared in this scope
charW = PROGMEM_read(&_currentFont->chars[charIndex].image->image_width);
^
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp: In member function 'int16_t RA::_STRlen_helper(const char*, uint16_t)':
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp::80: error: 'PROGMEM_read' was not declared in this scope
totW += (PROGMEM_read(&_currentFont->chars[charIndex].image->image_width));
^
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp: In member function 'void RA::_drawChar_unc(int16_t, int16_t, int16_t, const uint8_t*, uint16_t, uint16_t)':
C:\Program Files (x86)\Arduino\libraries\RA-0.70\RA.cpp::34: error: 'PROGMEM_read' was not declared in this scope
line = PROGMEM_read(&*data++);
^
Error compiling.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Hi Sumotoy...
I got the project working, for the most part, just a few odd things going on.
I have attached a few image files to this that are confusing.
1. The manufacturers spec's show Pin # 32 on the ER-TFTM070-5 LCD should go to GROUND
however, on the pin assignments on your GITHUB page, it looks like pin # 31 is connected to GROUND
I connected my project using pin # 32 to ground and it works.
2. I contacted the manufacturer for more information about the jumper settings needed for the SPI 4-Wire
and they sent me the attached document with suggested jumpers and resistor values. I followed their
recommendations.
3. I figured out what was wrong with the compiler errors, my fault and thank you to everyone with the helpful
suggestions.
UPDATE: At this point I get the LCD to power up and display the following message.
"yo should open RAuserstiggs.h fileand uncommnt UE_FT_TOUH" ????
See Snapshot below...
Finally, I am powering the LCD externally with a 5vdc 1.0amp power adapter and connecting the Teensy 3.1
over USB. There seems to be a RESET issue and I cannot get the project to RESET properly unless I plug the
LCD 5vdc FIRST, and then, connect the Teensy 3.1 into USB, and then compile and download the Arduino Sketch
which seems to RESET the Teensy 3.1 properly and the LCD comes up with the error message mentioned above.
By the way Sumotoy, thank you VERY MUCH for all your great advice and your GITHUB page which has got me this far.