0
ironmantis7x

Waveshare 10.1" Display with Orange Pi WinPlus on SPI doesn't appear to work

Recommended Posts

Hello all.

 

Okay: I am a total newbie to Orange Pi.

I apologize upfront for any and all obvious self inflicted mistakes that you all spot.

AGAIN: total newbie to the Orange Pi world.

Please go easy in me!

 

I have an Orange Pi Win Plus A64 board and frankly --- I love the darn thing!

Powerful for my needs and I have a niche application that I am working on and this board is really the only one that fits my needs. The 2GB RAM is a must.

 

The issue I am having is this: I am usinga  waveshare 10.1 inch TFT HDMI display that has the SPI connector (lcd: https://www.waveshare.com/wiki/10.1inch_HDMI_LCD).

 

I have attached the LCD to the WinPlus aligning Pin 1 of the WinPlus with pin 1 of the lcd.

 

I used this as a tutorial guide of followed the steps to activate the spi interface and have used armbian config to turn on the spi interface as well:

And .... nothing has worked at all.

I really want and need to get this working successfully and I need to community's help in a major way.tfttft

 

The display does light up when I power on the display. I get a message on the screen that says "No Signal Detected".

 

Is there something I am missing with the GPIO pin configs for the A64 chipset on the WInPlus?

Has anyone successfuly connected a TFT LCD display to the Opi WinPlus?

 

The reason I want the SPI interface is because I want dual screens (SPI plus HDMI) for my application.

*** If there is a 10 inch LCD panel (with touch) that will work with the OPi WinPlus that can be connected through LCD connector on this board, can someone post a link to it?? I have not been able to find one in my google searches.

 

Thanks all!

 

Share this post


Link to post
Share on other sites
8 hours ago, jernej said:

You linked HDMI version of the screen. Which SPI screen do you have?

 

This display has HDMI and the standard 26 pin GPIO SPI connector on the back of the board.

So I am not sure what you mean by "Which SPI screen do you have?"

Share this post


Link to post
Share on other sites
3 minutes ago, ironmantis7x said:

This display has HDMI and the standard 26 pin GPIO SPI connector on the back of the board.

I'm not sure for what is the purpose of that 26-pin header. Official documentation still says you have to connect HDMI and gives you HDMI settings. I imagine pin header is meant for screen management, like screen rotation and similar.

 

Anyway, 1024x600 is too big for SPI screen, refresh rate would be abysmal. For example, if you running SPI at 40 MHz, using 24-bit colors and utilize every cycle for pixel data, you would have 2.7 FPS. On top of that, CPU would have to SW render it, which is another slowdown.

 

That guide links to another, which explicitly states it for https://www.waveshare.com/3.5inch-rpi-lcd-a.htm and the likes. As you can see, this one states that SPI interface is supported, while yours does not.

Share this post


Link to post
Share on other sites
9 hours ago, jernej said:

I'm not sure for what is the purpose of that 26-pin header. Official documentation still says you have to connect HDMI and gives you HDMI settings. I imagine pin header is meant for screen management, like screen rotation and similar.

 

Anyway, 1024x600 is too big for SPI screen, refresh rate would be abysmal. For example, if you running SPI at 40 MHz, using 24-bit colors and utilize every cycle for pixel data, you would have 2.7 FPS. On top of that, CPU would have to SW render it, which is another slowdown.

 

That guide links to another, which explicitly states it for https://www.waveshare.com/3.5inch-rpi-lcd-a.htm and the likes. As you can see, this one states that SPI interface is supported, while yours does not.

 

A raspberry pi 3B+ attached to this very interface works just fine (I have even tested it myself. They have drivers for this very screen for the raspberry pi (its there in the support and drivers section on that page which where I got it from).

However, my particular application cannot use anything less than a 10 inch screen.

Thank you for your feedback, but I cannot use a 3.5, 5 or 7 inch screen.

 

My application CANNOT use a R-Pi because it doesn't have enough processing power and memory.

 

I appreciate the feedback very much.

 

I am sure this can be done and I ask again if there is anyone who can help me out on this.

 

Thanks.

 

 

Share this post


Link to post
Share on other sites

Here is the pinout of the waveshareboard I am using:

 

PIN NO SYMBOL DESCRIPTION
1, 17 3.3V Power positive (3.3V power input)
2, 4 5V Power positive (5V power input)
3, 5, 7, 8, 10, 11, 12, 13, 15, 16, 18, 24 NC NC
6, 9, 14, 20, 25 GND Ground
19 TP_SI SPI data input of Touch Panel
21 TP_SO SPI data output of Touch Panel
PIN NO SYMBOL DESCRIPTION
22 TP_IRQ Touch Panel interrupt, low level while the Touch Panel detects touching
23 TP_SCK SPI clock of Touch Panel
26 TP_CS Touch Panel chip selection, low active

 

Here is the pinout of the GPIO for the Orange Pi winplus:

 

 

What I need help with is how to map the signals of the display to the corresponding signals on the Orange pi winplus. 

 

Can someone please help me figure this out??

Thanks!

Snap72.thumb.jpg.7b763269d93e7930d298200bda45eb53.jpg

Share this post


Link to post
Share on other sites

Hi, I think there is some misunderstanding how this display works. In order to display a picture to the screen a small HDMI connector is used (or in case of RPi Zero an HDMI cable), while the GPIO is used only to read touch data. So, if you want to see picture on the screen the first thing you should focus is on enabling the HDMI interface on Orange Pi. Once you do that you can then see how to configure GPIO pins to read touch controller data.

Share this post


Link to post
Share on other sites
7 hours ago, nradulovic said:

Hi, I think there is some misunderstanding how this display works. In order to display a picture to the screen a small HDMI connector is used (or in case of RPi Zero an HDMI cable), while the GPIO is used only to read touch data. So, if you want to see picture on the screen the first thing you should focus is on enabling the HDMI interface on Orange Pi. Once you do that you can then see how to configure GPIO pins to read touch controller data.

The HDMI is enabled and works right out of the box.

I have 3 other Waveshare displays with GPIO (5" 7" 3.5") that I used with Raspberry Pi 3B, 3B+, and Zero-W and they all work with display AND touch w/o needing the HDMI connector at the same time.

 

This 10.1 inch display from Waveshare with the same connector on the back is no different.

Touch AND display can be accessed through the 26 ping GPIO on the rear side of these displays - I know this based off experience.

 

Thanks for your input - but, again - based on my direct experience, these displays do NOT have to have HDMI AND  GPIO at the same time to work.

 

Can some one please help me understand how to get this display working with Orange Pi Win Plus?

I know a person did it for the Orange Pi Zero. I mentioned it in my initial post in this thread with the link.

Here it is again for reference: https://kaspars.net/blog/spi-display-orange-pi-zero

 

Thank you.

 

 

 

 

Share this post


Link to post
Share on other sites

To me it still seems that this display cannot receive image data through SPI bus.

 

On the waveshare site itself, when clicking on certain display product page, you can usually find a table named Selection guide. In that table waveshare has listed and explicitely divided displays to:

  • smaller displays that are driven through GPIO using SPI bus to write graphics data and the same SPI bus to read touch data,
  • bigger displays (above 4inch) are using HDMI as data bus for graphics and SPI bus for touch data.

 

Share this post


Link to post
Share on other sites

I'm trying to get a smaller LCD working on my Win Plus (again, I had it before but was on Jessie I think, old at least).

You need to use the BCM numbers from gpio readall and map to the physical pins the seller usually gives.

For example my screen use pin 18 and 22 for DC and reset, so they map to 68 and 230 for Win Plus (but now I get SPI timing out, at least the pins do "mount" now, when I was trying BCM values for the Lite it's running on - 71 and 2 -  I got an error on pins).

(These pinouts used in /etc/modprobe.d/fbtft.conf).

 

Sorry for bit confused reply, hope it helps.

 

-- Edit:

I was following the same guide you sent also (and all others I could find, plus the older ones I used before) so I guess you took the same steps - 

After raising max frequency - /boot/armbianEnv.txt -> param_spidev_max_freq=16000000 - (I dont think I changed anything else at least) I got rid of errors from dmesg but the screen is still blank (white) on Win.

 

Edit2: 
Tried on another sd card (strectch, earlier was on a bionic build), now I again get the same error, SPI timing out and max_freq didnt help this time. Checking what other settings I could have messed with but I'm pretty sure only other thing I changed was the framebuffer used from 8 to 0 or back.

 

Edit3 (and last):
I tried the bionic card again, error was back so I dont know why it disappeared. Still no progress beyond this point, if I figure something out I'll update or reply again.
 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
0