Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Steering Wheel Project!!

Tue Jan 02, 2018 10:48 am

Hi!!

I’ve just received "Waveshare 4inch HDMI LCD" . I bought this screen because I’m member of Formula Student Team at the University and our team is creating a Steering Wheel. For this reason, we need to simplify the HDMI pins. I want to know from the 19 pins which ones are useful HDMI pins in this screen “Waveshare 4inch HDMI LCD” to works good. In conclusion, I want to reduce HDMI electric cables (like: 13,14 and 18 pin. These pins im sure that are not necessary, but i need to reduce more.)

I need to reduce HDMI cables because i want to connect my raspberry to that screen with only one spiral cable. This spiral cable has to transmit HDMI and MICROUSB(power) interfaces like this (USB to Screen MICROUSB, and HDMI to screen HDMI) but with only one spiral cable:
Image

Summary: (USB + HDMI) - (Spiral Cable) - (HDMI + MICROUSB)


(I have 2 of them with 15 electric cables inside)
Image

Many thanks for your help.
Last edited by Pau.C on Thu Jan 04, 2018 8:21 pm, edited 2 times in total.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5207
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Useful HDMI pins?

Tue Jan 02, 2018 12:14 pm

https://en.wikipedia.org/wiki/HDMI
Pin 13 - CEC. It is supported by the Pi, but not critical.
Pin 14 - principally used for Audio Return Channel which isn't used on the Pi.
Pin 18 - 5V to power the EDID EEPROM. Provide a fixed EDID via config.txt and you don't need it or pins 15 or 16 (SCL and SDA).
The rest are required.

The data pairs should be carried on shielded twisted pairs with a 100 ohm characteristic impedance. If your cable just has 15 unscreened connections then I would expect some level of crosstalk issues.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Useful HDMI pins?

Tue Jan 02, 2018 4:43 pm

6by9 wrote:
Tue Jan 02, 2018 12:14 pm
https://en.wikipedia.org/wiki/HDMI
Pin 13 - CEC. It is supported by the Pi, but not critical.
Pin 14 - principally used for Audio Return Channel which isn't used on the Pi.
Pin 18 - 5V to power the EDID EEPROM. Provide a fixed EDID via config.txt and you don't need it or pins 15 or 16 (SCL and SDA).
The rest are required.

The data pairs should be carried on shielded twisted pairs with a 100 ohm characteristic impedance. If your cable just has 15 unscreened connections then I would expect some level of crosstalk issues.
mmmm i understand..
Then, I dont know how i can connect the raspberry and screen with only one spiral cable... in the internet there are spiral hdmi cable but only hdmi, no hdmi + power (microusb)...

In Formula Student Rules doesn't appear to have to go with a spiral cable, but i think is the best way to connect Steering Wheel in cockpit to raspberry inside the car...

Thanks!

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5207
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Useful HDMI pins?

Tue Jan 02, 2018 4:59 pm

Mount a Pi Zero on the steering wheel with a coiled network cable (eg http://www.cablescience.com/coils/elect ... eries.html) between the main intelligence and the wheel? Ethernet only requires two pairs, so there are two more pairs spare for power.
(A standard Pi might be easier as it then has the ethernet built in, whereas the Zero needs an external network adapter).

Nothing stopping you trying HDMI up the mismatched coiled cable. You may get away with it, or find that the crosstalk issues aren't a problem in your situation.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

hippy
Posts: 3156
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Useful HDMI pins?

Tue Jan 02, 2018 10:21 pm

I would perhaps have gone for an RGB screen requiring just 5 wires or even composite requiring just three. And not worried about making it touch sensitive.

If you want touch sensitive HDMI I would put a zero in the steering wheel. Make that a remote GUI peripheral for the main system elsewhere and you are back to four wires again.

User avatar
mahjongg
Forum Moderator
Forum Moderator
Posts: 10645
Joined: Sun Mar 11, 2012 12:19 am
Location: South Holland, The Netherlands

Re: Useful HDMI pins?

Wed Jan 03, 2018 12:04 am

practically all 19 Wires in a HDMI connection are necessary, see https://en.wikipedia.org/wiki/HDMI

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Useful HDMI pins?

Thu Jan 04, 2018 8:06 pm

6by9 wrote:
Tue Jan 02, 2018 4:59 pm
Mount a Pi Zero on the steering wheel with a coiled network cable (eg http://www.cablescience.com/coils/elect ... eries.html) between the main intelligence and the wheel? Ethernet only requires two pairs, so there are two more pairs spare for power.
(A standard Pi might be easier as it then has the ethernet built in, whereas the Zero needs an external network adapter).

Nothing stopping you trying HDMI up the mismatched coiled cable. You may get away with it, or find that the crosstalk issues aren't a problem in your situation.
It's a good idea but i have some doubts.
- When u say "main intelligence" u are talking, for example, about my pi 3? In that case, How can I transmit data between pi 3 and pi Zero? What Pi will have the python program to run the screen?

- If i connect external network in this way, i could use microUSB ports for screen power?? Or do i need an external MicroUSB power to supply Pi Zero? (Option 2, look down):
Image

I dont know If I understood it well.
What option is the correct option?:
Option 1:
https://prnt.sc/hw4bn6


Option 2:
https://prnt.sc/hw4ccc

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Useful HDMI pins?

Thu Jan 04, 2018 8:13 pm

hippy wrote:
Tue Jan 02, 2018 10:21 pm
I would perhaps have gone for an RGB screen requiring just 5 wires or even composite requiring just three. And not worried about making it touch sensitive.

If you want touch sensitive HDMI I would put a zero in the steering wheel. Make that a remote GUI peripheral for the main system elsewhere and you are back to four wires again.
Thanks! In this case, i dont need touch sensitive in my screen of the steering wheel.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 19809
Joined: Sat Jul 30, 2011 7:41 pm

Re: Useful HDMI pins?

Thu Jan 04, 2018 8:20 pm

Pau.C wrote:
Thu Jan 04, 2018 8:06 pm
6by9 wrote:
Tue Jan 02, 2018 4:59 pm
Mount a Pi Zero on the steering wheel with a coiled network cable (eg http://www.cablescience.com/coils/elect ... eries.html) between the main intelligence and the wheel? Ethernet only requires two pairs, so there are two more pairs spare for power.
(A standard Pi might be easier as it then has the ethernet built in, whereas the Zero needs an external network adapter).

Nothing stopping you trying HDMI up the mismatched coiled cable. You may get away with it, or find that the crosstalk issues aren't a problem in your situation.
It's a good idea but i have some doubts.
- When u say "main intelligence" u are talking, for example, about my pi 3? In that case, How can I transmit data between pi 3 and pi Zero? What Pi will have the python program to run the screen?

- If i connect external network in this way, i could use microUSB ports for screen power?? Or do i need an external MicroUSB power to supply Pi Zero? (Option 2, look down):
Image

I dont know If I understood it well.
What option is the correct option?:
Option 1:
https://prnt.sc/hw4bn6


Option 2:
https://prnt.sc/hw4ccc
Depending on the amount of data you need to transfer and how fast, you could use a UART, or ethernet. Easy enough to provide communications that way. Where you put your program logic is up to you. Steering wheel Pi0 could just gather data and send it out to a Pi3 in car.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Please direct all questions to the forum, I do not do support via PM.

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Steering Wheel Project!!

Thu Jan 04, 2018 8:35 pm

The Pi3 will receive the data from the sensors of the car and a python program processes them and makes an interface appear on the screen (Done). Installing the PiZero I would like the pi3 to send all the processed data to the PiZero and that the PiZero shows the interface on the screen. Speed is very important.

This is my first version, i cant send python program because we are in a competition and this program is private (Sorry for that):
https://prnt.sc/hw4sjr

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 19809
Joined: Sat Jul 30, 2011 7:41 pm

Re: Steering Wheel Project!!

Thu Jan 04, 2018 8:37 pm

Pau.C wrote:
Thu Jan 04, 2018 8:35 pm
The Pi3 will receive the data from the sensors of the car and a python program processes them and makes an interface appear on the screen (Done). Installing the PiZero I would like the pi3 to send all the processed data to the PiZero and that the PiZero shows the interface on the screen. Speed is very important.

This is my first version, i cant send python program because we are in a competition and this program is private (Sorry for that):
https://prnt.sc/hw4sjr
How much data do you need to send, and how quickly must it get there? You might get away with UART at 115kbaud which will be pretty easy to do.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Please direct all questions to the forum, I do not do support via PM.

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Steering Wheel Project!!

Thu Jan 04, 2018 9:06 pm

jamesh wrote:
Thu Jan 04, 2018 8:37 pm
Pau.C wrote:
Thu Jan 04, 2018 8:35 pm
The Pi3 will receive the data from the sensors of the car and a python program processes them and makes an interface appear on the screen (Done). Installing the PiZero I would like the pi3 to send all the processed data to the PiZero and that the PiZero shows the interface on the screen. Speed is very important.

This is my first version, i cant send python program because we are in a competition and this program is private (Sorry for that):
https://prnt.sc/hw4sjr
How much data do you need to send, and how quickly must it get there? You might get away with UART at 115kbaud which will be pretty easy to do.
How much data I dont know yet, but how quickly yes, 57600baud. But if I use UART, Can't I do "Option1" or "Option2" installation?

User avatar
thagrol
Posts: 695
Joined: Fri Jan 13, 2012 4:41 pm
Location: Darkest Somerset, UK
Contact: Website

Re: Steering Wheel Project!!

Thu Jan 04, 2018 11:48 pm

If you're going to put a zero into the steering wheel to drive the screen, why not go for a zeroW and communicate with the Pi3 over wifi?
Note to self: don't feed the trolls
If you believe "L'enfer, c'est les autres" (Hell is other people) have you considered that it may be of your own making?

hippy
Posts: 3156
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Steering Wheel Project!!

Fri Jan 05, 2018 2:04 am

Pau.C wrote:
Thu Jan 04, 2018 9:06 pm
How much data I dont know yet, but how quickly yes, 57600baud.
If it's just a status display; speed, oil pressure, the usual 'car stuff' then you probably don't need to send a lot of data, nor that quickly.

If the sender is informed which screen is being shown it only needs to send the data used for that screen. Important data you can send every time. Less import data can be sent in two halves, one half each update. The rest of the data can be cycled through sending one or two items at a time. A bit like Teletext used to transmit pages.

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Steering Wheel Project!!

Fri Jan 05, 2018 9:22 am

thagrol wrote:
Thu Jan 04, 2018 11:48 pm
If you're going to put a zero into the steering wheel to drive the screen, why not go for a zeroW and communicate with the Pi3 over wifi?
Because I think it's the slowest way to transmit data... And i need to put one spiral cable anyway to supply piZero and screen...
hippy wrote:
Pau.C wrote:
Thu Jan 04, 2018 9:06 pm
How much data I dont know yet, but how quickly yes, 57600baud.
If it's just a status display; speed, oil pressure, the usual 'car stuff' then you probably don't need to send a lot of data, nor that quickly.

If the sender is informed which screen is being shown it only needs to send the data used for that screen. Important data you can send every time. Less import data can be sent in two halves, one half each update. The rest of the data can be cycled through sending one or two items at a time. A bit like Teletext used to transmit pages.
Parameters like speed or oil pressure are not necessary to transmit quickly, but RPM itself must be in real time...
Is a good idea transmit in different speed but i need to know how will I connect all devices, with UART, with Ethernet (WHY OPTION IS THE CORRECT, 1 OR 2??)...
Option 1:
https://prnt.sc/hw4bn6

Option 2:
https://prnt.sc/hw4ccc

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 19809
Joined: Sat Jul 30, 2011 7:41 pm

Re: Steering Wheel Project!!

Fri Jan 05, 2018 9:54 am

Pau.C wrote:
Fri Jan 05, 2018 9:22 am
thagrol wrote:
Thu Jan 04, 2018 11:48 pm
If you're going to put a zero into the steering wheel to drive the screen, why not go for a zeroW and communicate with the Pi3 over wifi?
Because I think it's the slowest way to transmit data... And i need to put one spiral cable anyway to supply piZero and screen...
hippy wrote:
Pau.C wrote:
Thu Jan 04, 2018 9:06 pm
How much data I dont know yet, but how quickly yes, 57600baud.
If it's just a status display; speed, oil pressure, the usual 'car stuff' then you probably don't need to send a lot of data, nor that quickly.

If the sender is informed which screen is being shown it only needs to send the data used for that screen. Important data you can send every time. Less import data can be sent in two halves, one half each update. The rest of the data can be cycled through sending one or two items at a time. A bit like Teletext used to transmit pages.
Parameters like speed or oil pressure are not necessary to transmit quickly, but RPM itself must be in real time...
Is a good idea transmit in different speed but i need to know how will I connect all devices, with UART, with Ethernet (WHY OPTION IS THE CORRECT, 1 OR 2??)...
Option 1:
https://prnt.sc/hw4bn6

Option 2:
https://prnt.sc/hw4ccc
I think UART is going to be fast enough - at 115kbaud you can send 14k characters per second. Assuming 2 bytes/chars per RPM up you could update 7k times per second which is clearly massively over the top - you only need 60 updates/second at the most (screen refresh rate). Of course there are over heads for the protocol and the other data, but should be fine.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Please direct all questions to the forum, I do not do support via PM.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5207
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Steering Wheel Project!!

Fri Jan 05, 2018 10:03 am

Pau.C wrote:
Fri Jan 05, 2018 9:22 am
Parameters like speed or oil pressure are not necessary to transmit quickly, but RPM itself must be in real time...
Think more carefully about what "realtime" means in this context, and what latency is both practical and acceptable. An HDMI display is typically refreshed at 60Hz, so any rate greater than that is redundant.
How are you reproducing RPM on the display though? If as numerics, then the eye can't read the digits that fast, hence the smear of numbers on a stopwatch. Some form of graph can be interpreted by the brain faster, but also reduces the resolution of the data you need to transmit (256 steps on a graphical rev counter is probably sufficient).
Pau.C wrote:Is a good idea transmit in different speed but i need to know how will I connect all devices, with UART, with Ethernet (WHY OPTION IS THE CORRECT, 1 OR 2??)...
Option 1:
https://prnt.sc/hw4bn6

Option 2:
https://prnt.sc/hw4ccc
Not quite either as drawn.
Option 1 has no power going to the Pi0. Option 2 you haven't shown how you're looping the power through the Pi0 to the display.
(a) Check the current draw of your screen. The current available from the Pi3's USB ports is limited to 1.2A. If you're going to be drawing more than that, then T off your main power supply.
(b) At the steering wheel end, T the power connections and feed one set to the display, and one to the Pi0. That may be easiest if you feed power and ground up each of the two spare pairs, and then feed one pair to the Pi0 and one to the display.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Steering Wheel Project!!

Fri Jan 05, 2018 10:09 am

jamesh wrote:
Fri Jan 05, 2018 9:54 am
I think UART is going to be fast enough - at 115kbaud you can send 14k characters per second. Assuming 2 bytes/chars per RPM up you could update 7k times per second which is clearly massively over the top - you only need 60 updates/second at the most (screen refresh rate). Of course there are over heads for the protocol and the other data, but should be fine.
Should be fine yes!
Then, How can I do the installation?
Someone in this Forum has transmitted data from Pi3 to PiZero with UART?

User avatar
thagrol
Posts: 695
Joined: Fri Jan 13, 2012 4:41 pm
Location: Darkest Somerset, UK
Contact: Website

Re: Steering Wheel Project!!

Fri Jan 05, 2018 1:20 pm

Pau.C wrote:
Fri Jan 05, 2018 9:22 am
thagrol wrote:
Thu Jan 04, 2018 11:48 pm
If you're going to put a zero into the steering wheel to drive the screen, why not go for a zeroW and communicate with the Pi3 over wifi?
Because I think it's the slowest way to transmit data... And i need to put one spiral cable anyway to supply piZero and screen...
Err no. If wifi were slower we'd be using serial links for video streaming and gaming.
Note to self: don't feed the trolls
If you believe "L'enfer, c'est les autres" (Hell is other people) have you considered that it may be of your own making?

Pau.C
Posts: 21
Joined: Sat Nov 11, 2017 11:18 am

Re: Steering Wheel Project!!

Fri Jan 05, 2018 2:13 pm

Think more carefully about what "realtime" means in this context, and what latency is both practical and acceptable. An HDMI display is typically refreshed at 60Hz, so any rate greater than that is redundant.
How are you reproducing RPM on the display though? If as numerics, then the eye can't read the digits that fast, hence the smear of numbers on a stopwatch. Some form of graph can be interpreted by the brain faster, but also reduces the resolution of the data you need to transmit (256 steps on a graphical rev counter is probably sufficient).
https://prnt.sc/hw4sjr
Not quite either as drawn.
Option 1 has no power going to the Pi0. Option 2 you haven't shown how you're looping the power through the Pi0 to the display.
(a) Check the current draw of your screen. The current available from the Pi3's USB ports is limited to 1.2A. If you're going to be drawing more than that, then T off your main power supply.
(b) At the steering wheel end, T the power connections and feed one set to the display, and one to the Pi0. That may be easiest if you feed power and ground up each of the two spare pairs, and then feed one pair to the Pi0 and one to the display.
I can supply screen with GPIO Pins or with one PiZero microusb port. (PiZero MicroUSB - USB - Screen MicroUSB) or maybe MicroUSB to MicroUSB... What is better?

How can I know how much the screen consume?(No appear in instructions) and consume of PiZero?

My screen is this:
https://www.amazon.es/Waveshare-4inch-H ... are+4+inch

hippy
Posts: 3156
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Steering Wheel Project!!

Sat Jan 06, 2018 11:48 pm

Pau.C wrote:
Fri Jan 05, 2018 9:22 am
Parameters like speed or oil pressure are not necessary to transmit quickly, but RPM itself must be in real time...
As others have noted; realtime does not mean fast transmissions or high bandwidth are required.

RPM and speed are likely just 16-bit values, with a refresh of 50Hz, that's 20ms per update, 40-bits of data via serial every 20ms; 2,000 baud.

But if UART serial does become a bottle-neck you can probably run some form of 'ethernet' Rx and Tx over just two wires.

Return to “Advanced users”

Who is online

Users browsing this forum: hmdra and 8 guests