Audi TT Forum banner
81 - 100 of 335 Posts
The sync combiner circuit worried me a bit before I started, but it was actually pretty easy - one logic chip, with a handful of resistors / capacitors. I’ve put it on a breadboard for now (so no soldering), but will turn it in to a proper soldered up circuit before it goes in the car. Depending on how that goes, I could make up a few more to share with other RNSE users. There are commercially available boards that do the same thing (e.g. VGA2Scart), but it’s cheaper to build your own. The software side of it has taken longer to sort out than the hardware so far - getting my head round a ReactJS app and setting up the ability to change / compile the code has taken a while!


Will put a video together when I work out how best to do that… Sound works, and there are a few options available for how to get it connected. RIght now, I’m using sound output directly from the Pi and putting it into a small desktop stereo for testing purposes. The quality seems ok, but I’m sure it could be improved. The Pi can use an external sound card, so that gives many options, including adding a microphone to the Pi for use with Siri (react-carplay supports this).



I know a touch overlay has been added to an RNSE before (for use with OpenAuto), but it adds to the cost and involves dismantling the screen surround and opening up the RNSE, so I’d rather try the button control option first to see how that goes. For music track skipping, pause / play etc, I think the buttons would be better based on my own experience in other cars.

If people are interested, I’m up for providing support to get them up and running - it would be great to have some feedback and help in solving some of the problems that I’m sure will come up along the way. Given that this is a ReactJS web app underneath it all, there's a lot of potential in extending this beyond just CarPlay as well.
I would love to know how to do this
 
Here is what I see when the vertical line counts are not exactly correct for NTSC. i.e. 525 lines total with 3 lines v-sync.

Look at the centre of the raft, between the birds and the basket. There’s a “shimmer” every few seconds or so. Looks like it might be de-interlacing the frames the wrong way around. There’s a few other places on the screen with this issue also, for example see the reflection of the front of the raft in the water.

When I correct the EDID and use proper NTSC line counts (not what I assume were correct VGA counts), the problem goes away.
 
I am using the same sync combining circuit that pcbbc is using. I would imagine it’s the same sync combining circuit that everyone here is using as it’s the only one I’ve found that works with the rns-e. Mines currently on a breadboard but I could fancy it up if pcbbc hadn’t already done it above. The man is brilliant! It’s a very simple circuit to build.
The beauty of the Tomi Engdahl circuit is it’s agnostic to sync polarity. PCs in the good old VGA days used the 4 combinations of sync polarity to indicate resolution, so you never really know what you’re going to get. Ultimately it depends what the person who crafter the video mode selected for sync polarity, and if they followed the standard convention or not.

But the RNSE is always needing negative going combined sync, and won’t accept anything else. So if your circuit relies on a known h and v sync polarity (as many of the simple implementations do), and you’re unlucky enough not to receive that exact combination, the RNSE will display either nothing at all, or a rolling picture.
 
Hi All - inspired by the Standard Sat Nav or Waze? thread from a couple of years ago, together with the open source react-carplay app from Rhys Morgan and @pcbbc’s firmware enabling the TV input & VIM, I’ve persuaded wireless CarPlay to work on my RNS-Es (both 192 and 193), using the RNS-E’s controls to navigate around the CarPlay UI (no touch screen here). I’m using an HDMI to VGA adapter to get and RGB signal from the Pi and then a home made circuit to combine the syncs together, so none of the commercially available video converter boxes in this build.

Some pics…
192 running at 480i resolution:
View attachment 525340
View attachment 525339

193 running at 480i:
View attachment 525341

I’ve tried running at higher resolution (576i), but the 192 doesn’t like it at all, and the 193 has some issues with the picture. 480i seems pretty good for the job right now, even if it’s not particularly crisp on the screen. I’ll try and put together a video of it in action when I get a chance.

This setup is currently just running on the bench using:
  • Pi 3B+ with Pi Buster OS - the more recent OS versions use a newer graphics driver which struggles to do what it’s told when asking for non-standard resolutions like 480i
  • A CarlinKit CarPlay dongle attached to the Pi
  • A slightly older version of react-carplay (4.0.1) that runs better on the Pi 3B+, together with some custom code for canbus messaging to enable control via the RNS-E buttons (and MFSW in the future)
  • Cheapo HDMI to VGA adapter
  • Custom video sync combiner circuit (based off this one)

Hardware next steps:
  • Wiring and power supply setup to allow this to run in the car. Will need to solder up a better version of my sync combiner, and use some decent shielded cable to get the video between the Pi and the RNS-E
  • Sorting out an enclosure for the glovebox to replace the CD changer. I have a few ideas as to how I can repurpose some other parts to help with this

Software next steps:
  • Sort out the aspect ratio of the display so that the icons aren’t stretched
  • Add code for the steering wheel controls
  • Merge in the fixes that have appeared in more recent versions of react-carplay without breaking the working display code

I’ll update this thread with more information as I progress. Given this is a hobby project, it might be some time before I get this into the car! If anyone else is interested in doing this, I’d be happy to share some more info.
I really wan this on my navigation plus don’t want to change units but literally have no clue about any of this. Is it easy to do ?
 
Reillyccfc said:
literally have no clue about any of this. Is it easy to do ?
In a word, No.

As a minimum you'll need to purchase, configure & program a Raspberry Pi
Build or buy a video converter, sync combiner, and Can bus interface.
Know how to solder. Be able to identify & modify your car's wiring harness.
Have a good understanding of impedance matching, video sync & line rate timing (ideally you'd have access to an oscilloscope)

Then, if you want touch screen capability, purchase, install and configure a digitizer (requiring you to partially disassemble your RNSE.

This is more of a 'proof of concept / labor of love' project that (if you accounted for your time) makes aftermarket options look inexpensive.
 
  • Like
Reactions: TT'sRevenge
In a word, No.

As a minimum you'll need to purchase, configure & program a Raspberry Pi
Build or buy a video converter, sync combiner, and Can bus interface.
Know how to solder. Be able to identify & modify your car's wiring harness.
Have a good understanding of impedance matching, video sync & line rate timing (ideally you'd have access to an oscilloscope)

Then, if you want touch screen capability, purchase, install and configure a digitizer (requiring you to partially disassemble your RNSE.

This is more of a 'proof of concept / labor of love' project that (if you accounted for your time) makes aftermarket options look inexpensive.
Sure…while this is kind of true, it’s only that way right now because we have to find everything that works correctly. It is absolutely a labor of love. That being said, once this is all figured out and can be replicated, the cost is absolutely less than kufatec’s IMA which, to be totally honest, gives a terrible picture over composite. I am NOT a programmer or an electrical engineer. I am learning this all as I go and I’ve come pretty far in a few short weeks. Granted there has been support from some other very impressive individuals here…but if I can pull this off…so can anyone else. And like I said, most of this has been super time consuming because I’ve had to research and trial and error the whole way. It makes every little victory that much sweeter though.
 
I really wan this on my navigation plus don’t want to change units but literally have no clue about any of this. Is it easy to do ?
Yeah I would say it shouldn't be hard per se, but it's dependent on the individual. It's "not for everyone", especially not when there's nothing "plug & play" about it and there are not even "step-by-step" instructions for a total beginner either.

Perhaps someone here...once they have everything all figured out and polished, might be able to fabricate/produce/sell something if it's worth it to do so. That is, if it makes them enough money for them to bother--we cannot expect anyone could put time, effort, $$$ into this and sell it as some kind of not-for-profit venture lol. But for now even if someone is thinking about doing that, it's not quite there yet. By all accounts here anyway.

If you can't really follow along with all the stuff being said/discussed even in theory, then it's probably "not the project for you" and you might be served better by just getting something aftermarket and installing that--whether it be a cheap China Android jobbie or a brand name head unit. Even if it does all make sense then you might still determine it's not worth your own time and effort to bother. It may well fall into the category of, "well if you have to ask..." lol.

OTOH if you're familiar with tinkering with electronics, stuff like (including but not limited to):
-Soldering...even if you suck at it (like me lol)
-Using a DMM, bench power supplies, etc.
-Are familiar with what things like resistors, diodes, transistors, etc. are
-Pinning/de-pinning, crimping, various electrical connectors
-Following circuit diagrams

And have an idea about any such random stuff as:
-video resolutions, formats, connection types
-rooting a phone, unlocking bootloaders, or installing custom OSes--if you've even heard names like "Cyanogenmod" or "LineageOS" before
-Installing/running custom firmwares, scripts, executables on routers, or other standalone devices
-doing virtually anything that involves linux-style command lines--anything computing related other than "using Windows"...this may not necessarily be involved that much but there's still going to be the kind of logic/syntax you have to understand

I mean if you're good with any of that^ stuff... Then it's probably right up your alley and you're probably in good shape to have a go at it! It doesn't seem like anyone has started doing this and just flat out given up--which, to me, is a very good sign. It's definitely doable and the hardest thing so far just seems to be getting digital (HDMI) video turned into the correct type of analog video signal for the RNS-E--this is what all the sync-combine talk is about. After that the next hardest part is probably the software side, but that's talking from my own perspective since it's not my strong point lol--I can certainly do the things in that second group above, but if I have to actually program or write something myself, even a script...I'm probably going to have no idea 😆 YMMV on what parts are easy and what parts are hard...or if you have no idea about any of this stuff as it is which will probably make it "not for you".
 
  • Like
Reactions: pcbbc and Jezzie
I would love to do this. How is it possible
Read the whole thread. Everyone is posting up steps that need to be done. We're still at the trial and error phase, though it is functional at this point. Basically it's a raspberry Pi with a CarLinkIt Android adapter that allows you to connect your phone and run CarPlay or Android Auto. The Pi uses an HDMI to VGA adapter and then a VGA Sync Combiner to input the picture directly into the RNS-E. From here you have to get the picture correct for the RNS-E to display and also incorporate either Canbus Controls or a touchscreen digitizer (or both if you’re feeling saucy) to control it. From there a few of us are also messing with alternate OS’s on the Pi such as Lineage OS (Android) as pi os on its own has little to offer outside of CarPlay support using React CarPlay, where as Android supports CarPlay and Android Auto as well as having the full Google Play store at your disposal.
 
I don’t have any artifacts. I’m not sure if this is a Lineage thing over pi os thing. I needed the custom edid for pi os to work (modified a 480i edid from 640x480 to 800x480). The cmd line modifications did not work in piOS. For some reason on lineage they work. I’ll try and post up a video of it all in action tonight while I’m tinkering.
hey. can you just post what your cmdline.txt looks like for Lineage? I can't figure out what you did.
 
I am using the same sync combining circuit that pcbbc is using. I would imagine it’s the same sync combining circuit that everyone here is using as it’s the only one I’ve found that works with the rns-e. Mines currently on a breadboard but I could fancy it up if pcbbc hadn’t already done it above. The man is brilliant! It’s a very simple circuit to build.

View attachment 530462
To get Android to work, you need to install KonstaKang’s port of Lineage 22 (Android 15) onto the pi 5. From there, the only bit of coding that needs to be added to cmdline.txt in the /root directory is:

video=HDMI-A-1:800x480M@30i,margin_left=0,margin_right=0,margin_top=0,magin_bottom=0

You can change the margin numbers to account for overscan to get the picture perfectly on screen. 1 moves the picture in 1 pixel, 2 moves 2 pixels, so on so forth. If you use your phones camera to zoom in on the rns-e screen, you can count the individual pixels to get a perfect picture. Just set them all at 25 first and work your way back.

You also need to set 800x480 as the resolution in the resolution.txt file also found in /boot.

As for the touchscreen, this 6.5” one is the one I used for the rns-e. You just remove the screen bezel, and overlay it over the screen. Some clearencing on the bezel to allow it to lock in place smoother is definitely recommended but not required. I got it to fit between the screen and the bezel without modifying it. The touch screen fits the rns screen like it was designed for it. I didn’t even have to calibrate anything, it works perfect out of the box.



As for Android 15, just follow all of konstakangs recommendations for things like the gps dongle and everything just works. It really really is awesome.

The rns-e background is a quick and dirty photoshop I did from a picture of the media screen but I will clean it up to get it perfect so you see no difference when swapping from any other source to the media button.

Still have to sort out canbus but even without it I’m 100% happy. CarPlay and Android are made for touch interface and I feel it’s clunky to use them without it.
hey sorry i didn't see this reply. i'm gonna try the cmdline out now.

I bet pcbbc could somehow snag the background image of the RNS-e off the firmware somehow.
 
I bet pcbbc could somehow snag the background image of the RNS-e off the firmware somehow.
No need for my help. There’s a screen shot mode built right into the RNSE firmware.
Engineering > General > Enable screen shot mode
To take a screen shot press and hold the next track button >| until the screen flashes black.
A BMP image will be saved to the screen shots folder on the SD card.

Also FYI on 193 the font is Zurich Bold BT.
 
I am using the same sync combining circuit that pcbbc is using. I would imagine it’s the same sync combining circuit that everyone here is using as it’s the only one I’ve found that works with the rns-e. Mines currently on a breadboard but I could fancy it up if pcbbc hadn’t already done it above. The man is brilliant! It’s a very simple circuit to build.

View attachment 530462
To get Android to work, you need to install KonstaKang’s port of Lineage 22 (Android 15) onto the pi 5. From there, the only bit of coding that needs to be added to cmdline.txt in the /root directory is:

video=HDMI-A-1:800x480M@30i,margin_left=0,margin_right=0,margin_top=0,magin_bottom=0

You can change the margin numbers to account for overscan to get the picture perfectly on screen. 1 moves the picture in 1 pixel, 2 moves 2 pixels, so on so forth. If you use your phones camera to zoom in on the rns-e screen, you can count the individual pixels to get a perfect picture. Just set them all at 25 first and work your way back.

You also need to set 800x480 as the resolution in the resolution.txt file also found in /boot.

As for the touchscreen, this 6.5” one is the one I used for the rns-e. You just remove the screen bezel, and overlay it over the screen. Some clearencing on the bezel to allow it to lock in place smoother is definitely recommended but not required. I got it to fit between the screen and the bezel without modifying it. The touch screen fits the rns screen like it was designed for it. I didn’t even have to calibrate anything, it works perfect out of the box.



As for Android 15, just follow all of konstakangs recommendations for things like the gps dongle and everything just works. It really really is awesome.

The rns-e background is a quick and dirty photoshop I did from a picture of the media screen but I will clean it up to get it perfect so you see no difference when swapping from any other source to the media button.

Still have to sort out canbus but even without it I’m 100% happy. CarPlay and Android are made for touch interface and I feel it’s clunky to use them without it.
tested the cmdline method and it doesn't work on rpi4. green screen on half.
 
This is what I did. I replied to your other post.

Also note, that you can’t use the R8 RVC and TV tuner as there is only one port on the rns-e. I have a parts list together to build an RGB switching circuit to change from tv input to RVC module input when put in reverse, but haven’t gotten that far yet.
that's wrong. because i've already done it. the r8 rvc has basically an input passthrough for the tv tuner. instead of connecting tv tuner rgbs into the rnse 32 pin you put it in the r8 rvc module. The pic has the pins you connect the RGBS (tv tuner) to the RVC module.

 
No need for my help. There’s a screen shot mode built right into the RNSE firmware.
Engineering > General > Enable screen shot mode
To take a screen shot press and hold the next track button >| until the screen flashes black.
A BMP image will be saved to the screen shots folder on the SD card.

Also FYI on 193 the font is Zurich Bold BT.
Legend. Thanks
 
This is the capacitive touch screen digitizer I used. It fits the rns-e screen absolutely perfectly.


I just found this on AliExpress: $14.60 | 3.5/4.3/5/6.2/7/8/9/10.1 Inch Raspberry Pi Industrial Equipment PC Car Capacitive Digitizer Touch Screen Panel USB Driver Board

This is the setup I built. It loads CarPlay or AA automatically by default, but when you exit out of it instead of going to pi OS, it goes to Android 15. Then you basically have an Android tablet and can add whatever Android apps you want. I’m not familiar with Android auto so I don’t know if it’s content locked like CarPlay is, but it’s cool to be able to use CarPlay and then also have the ability to load obd2 apps or YouTube or plex if you want.
Cool I am ordering that overlay! It's surprising these are capacative too--I was actually expecting something resistive...

One question on the bolded text though, how are you using both an AA-supporting OS (OpenAuto?) and Lineage OS at the same time? Is this some kind of dual-boot scenario or is OpenAuto (or whatever you're using) running "inside" Lineage, or? I'm considering buying a Pi 5 but want to see how far I can get with the Pi 3b I have already before spending the money on something better. For that reason I'm not going to bother with Lineage at the moment (newer Android will surely run like crap on 1GB RAM 😂 and would therefore be pointless); but still curious as to how this is accomplished.

if anyone needs I can provide a script to control it. so far it works to a limited extent. I'm trying to start open auto andriod. video here
View attachment 530830
Out of curiosity what CAN interface did you use? Did you use the same CarPiHat, or were you using something different like PiCan2 or Carberry?
 
Cool I am ordering that overlay! It's surprising these are capacative too--I was actually expecting something resistive...

One question on the bolded text though, how are you using both an AA-supporting OS (OpenAuto?) and Lineage OS at the same time? Is this some kind of dual-boot scenario or is OpenAuto (or whatever you're using) running "inside" Lineage, or? I'm considering buying a Pi 5 but want to see how far I can get with the Pi 3b I have already before spending the money on something better. For that reason I'm not going to bother with Lineage at the moment (newer Android will surely run like crap on 1GB RAM 😂 and would therefore be pointless); but still curious as to how this is accomplished.


Out of curiosity what CAN interface did you use? Did you use the same CarPiHat, or were you using something different like PiCan2 or Carberry?
He is just using OpenDash on the Pi. It's just another implementation of OpenAuto and has Android Auto and CarPlay capabilities.
 
81 - 100 of 335 Posts