The KLD2 I have has an AV input but one has to switch the MCU specifically to the AV input in order to listen.
What I am looking for is to have an audio input which mixes/plays full time with the rest of the android apps without having to explicitly switch to it. Has anyone done this? Do any usb devices exist (with android driver support) which implement an audio input and play real time what's coming in?
Yes, people have used a USB DAC, you need to search the original Q&A thread here :
https://forum.xda-developers.com/showthread.php?t=2660662
and maybe the MTCB Hardware Development forum. Try this first, its shorter !
Ok, I'll search that thread. DAC (Digital to Analog Converter) are used for the opposite thing though - to output sound from the MTC unit to an external amplifier or some other device. I am looking for the opposite (ADC) - to bring sound from external analog device into the MTC (and have the MTC mix/play it along). I've searched for USB ADC in the past but haven't found any interesting info yet.
shtirlitz111 said:
Ok, I'll search that thread. DAC (Digital to Analog Converter) are used for the opposite thing though - to output sound from the MTC unit to an external amplifier or some other device. I am looking for the opposite (ADC) - to bring sound from external analog device into the MTC (and have the MTC mix/play it along). I've searched for USB ADC in the past but haven't found any interesting info yet.
Click to expand...
Click to collapse
Doh, stupid me, but maybe an ADC will work in a similar way, via USB etc, so DAC posts may still help ? A seatrh for DAC should bring something up, btw, sometimes it works better to use google to search threads on XDA.
You are looking for something called an audio interrupt device. They used to be more popular when GPS nav units came out and people wanted voice nav over their stereo. They can connect by various means but you'll need to do some research to be sure it will work with your car and stereo setup.
Hello,
I have rooted my infotainment system in my Honda Civic according to this forum post successfully.
I installed the Torque Pro app which connects to the a Bluetooth ODB-II reader. I verified that it was working using my OnePlus 2 phone and that there were no issues pairing. However, the car infotainment system seems to only display Phones when scanning for devices. It does not detect the reader or my laptop when in discoverable mode.
I took a peak inside the /etc/bluetooth/main.conf file and it seems that it contains entries to whitelist only certain kinds of devices. However, following the comments replacing the values 0xFFFFFF does nothing. I don't think the file is even being read because if I change the device name "HandsFreeLink" to something else, it doesn't actually change.
My suspicion has something to do with the Android version that it is running and the bluetooth stack. It is running Android 4.2.2, and since Jelly Bean, the Bluez stack was replaced with Bluedroid. However, I can't tell what Bluetooth stack is actually running because of some contradictory things:
- /etc/bluetooth/main.conf is there (though it seems to be ignored)
- /data/misc/bluetooth is empty
- /data/misc/bluetoothd has a folder with the device MAC address. Looking into the files, they have lists of already paired devices, etc. (isn't this Bluez that creates these?)
- /data/misc/bluedroid does not exist
I also tried using a separate app to do the pairing, perhaps the UI was hiding other devices. Nope, only phones are being shown.
Where else should I look for Bluetooth configuration? Is there anything I can do, or is this likely something deeply ingrained whenever Honda rewrote part of the bluetooth stack for their car...
Thanks,
cdahmedeh
I'm looking for the same thing but my data/misc/Bluetooth is not empty, I have two HCI folders. I'm trying to get any command that use bluetooth like hciconfig but I cannot get it
Have you guys found a way to pair other bluetooth devices? Its really seems that only phones are visible. Please share if you guys found a solution. Thanks!
I may have found a fix. Not sure how helpful this is but there is a customizable ECU for honda vehicles called Hondata. Normally it just allows you to flash you car ECU to gain more HP but since honda started using android on their headunits, it opened up doors for your car to display ECU info and communicate easier with other bluetooth devices. In this video tutorial, it showed how to root the headunit, install custom apps, and also find other bluetooth devices. They show you for their own purposes of connecting their device but im sure it will allow any bluetooth device.
https://www.youtube.com/watch?v=XGdF1jm987o
simpleDSP installation into MTCD/E inside (ImprovedSound)
after in the summer of 2017 I disasseble the MTCB/C MCU firmware, I decided to try to improve the sound of these head units and bought a DSP test card based on the low-cost ADAU1401/1701 chip and started experiments with it to solve all the flaws in the sound settings of the Chinese head units.
In February 2018, Chinese vendors began the first sales of MTCE head units with internal DSP modules installed based on the ADAU1701 chip. A detailed analysis showed that the new hardware version of the head unit does not differ much from the previous one based on the sound processor BD3702, so I can try adding this module to me myself, because the Chinese refused to separately sell the DSP module for me.
[fig.1] photo of the main board of the new MTCE head unit with built-in DSP module
View attachment 4561586
[fig.2] photo of the main board of a typical MTCD/E head unit with a sound processor
View attachment 4561611
[fig.3] screenshot of the fake 9-band EQ of a typical MTCD/E head unit with a sound processor
View attachment 4561612
[fig.4] electrical circuit schematic of the sound processor of a typical MTCD/E head unit
View attachment 4561619
[fig.5] electrical circuit schematic of the sound switch of a typical MTCD/E head unit
View attachment 4561621
[fig.6] photo of the PX3(1GB) CPU coreboard of a typical MTCD/E head unit
View attachment 4561630
[fig.7] photo of the PX3/PX5 CPU coreboard of a typical MTCD/E head unit
View attachment 4561637
[fig.8] sigmaDSP ADAU1701 LQFP48 pinout
View attachment 4561645
[fig.9] sigmaDSP ADAU1401/1701 test board
View attachment 4561646
[fig.10] electrical circuit schematic of the ADAU1701 test board
View attachment 4561651
[fig.11] chinese built-in DSP ADAU1701 sub board
View attachment 4562327
As a result of comparing the MCU firmwares of the head units with the sound processor and with the integrated DSP module, we see that the same firmware is used.
When analyzing the behavior of the MCU firmware, it is found that after the start, it first polls the I2C bus on the sound processor chip and if it answers its own address, the head unit operates normally. If there is no sound processor, i.e. it does not respond to its own address, then the DSP chip is polled. If the DSP chip responds to its own address, then the head unit is already operating in the mode of improved sound with a real 15-band equalizer.
The sound processor chip BD37033 is powered by a 9-volt voltage source, and the AMS1117-3.3 stabilizer is used on the sigmaDSP test board, which allows operation from a voltage of up to 15 volts, so connect the DSP test board to the voltage of the sound processor chip on the main board. Disconnect from the I2C-bus of the MCU chip of the sound processor BD37033 and instead connect to the DSP chip ADAU1401/1701.
A real check showed that the software support of the DSP is in the MCU firmware from version 2.72 and higher and in Android builds versions 6.0.1, 7.1.2 and 8.0 and this mod is compatible with most MTCD/E head units
[fig.12] screenshot of the real 15-band EQ of a modified MTCD/E head unit with a DSP inside
View attachment 4562339
Since there is no electrical circuit schematic of the Chinese DSP module, then compare visually the board of the Chinese embedded DSP module with the DSP test board. The test board uses a onboard 12.288MHz crystal oscillator for clocking, and there is no resonator on the Chinese board and uses an 11.296MHz external clock from the CPU coreboard (I2S bit clock frequency for the sampling rate frequency of 44.1kHz).
Unsolder the crystal oscillator from the DSP test board, find the output of the clock signal on the CPU coreboard and provide a master clock signal to the 32-pin chip of the DSP chip ADAU1401/1701.
I and most my friends in the car listen only digital sounds from Android and analog sound from the FM radio tuner, so in the simplest version of the upgrade can do without using an analog audio switch that will simplify the finalization of the head unit.
On the new PX3/PX5 coreboards there are an additional 4 pins on which the I2S digital audio signals are output. These signals are connected to the DSP test board (the MCLKI signal of the external clock was already connected a little earlier).
[fig.13] digital I2S sound output from CPU coreboard
View attachment 4562387
On the older PX3(1GB) coreboars not are an additional pins for external output, but the I2S digital audio output can be founded on the onboard Wolfson audio codec chip pins. However, I have not connected such a coreboard yet and I do not know about real software compatibility with the Android build of version 5.1.1, but I suppose that this should be possible without much additional effort, but need to try...
[fig.14] digital I2S sound output from CPU to Wolfson audiocodec on coreboard
View attachment 4562396
Digital signals from Android sources must be connected to ADAU1401/1701 as follows:
-- Master CLOCK to 32 pin (MCLK) throu 100 Ohm resistor;
-- SDATA to 11 pin (MP0);
-- BLCK to 9 pin (MP5);
-- LRCLK to 8 pin (MP4)
The DSP chip has two built-in ADCs, so the analogue sound from the FM radio tuner can be connected to the sound processor pins as follows:
-- FM-R (pin 10) to 2 pin (ADC0);
-- FM-L (pin 11) to 4 pin (ADC1)
The DSP chip has four built-in DACs, so analog audio output can be connected for the power amplifier input to the sound processor pins as follows:
-- FR (pin 23) to 46 pin (DAC3);
-- FL (pin 22) to 45 pin (DAC2);
-- RR (pin 21) to 44 pin (DAC1);
-- RL (pin 20) to 43 pin (DAC0)
If do not need an additional output for an external subwoofer, then this is enough to enjoy improved sound due to the presence of a full 15-band equalizer, the ability to set delays, etc. (see screenshots at the end of this post), else if need to connect the external subwoofer, need to add the I2S DAC chip ES7144LV and connect it as follows:
-- Master CLOCK to pin 4 (CLKIN);
-- SDATA (MP6 pin 15) to pin 1;
-- SCLK (MP11 pin 19) to pin 2;
-- LRCLK (MP10 pin 16) to pin 3
[fig.15] electrical cuircuit schematic of the I2S DAC
View attachment 4562429
[fig.16] wire connections
View attachment 4564796
Verification showed that the improved sound is excellent
[fig.17]
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
[fig.18]
[fig.19]
[fig.20]
reserv1
reserv2
You are missing some pics there
[11]
[12]
[13]
in the process of filling information
[digital I2S sound output from CPU to Wolfson audiocodec on coreboard]
[digital I2S sound output from CPU coreboard]
[screenshot of the real 15-band EQ of a modified MTCD/E head unit with a DSP inside]
[...]
Xorit said:
You are missing some pics there
Click to expand...
Click to collapse
I did not forget these pictures, I just did not have time to cook them for posting in the thread -- coming soon...
cs-x(RU) said:
As a result of comparing the MCU firmwares of the head units with the sound processor and with the integrated DSP module, we see that the same firmware is used.
When analyzing the behavior of the MCU firmware, it is found that after the start, it first polls the I2C bus on the sound processor chip and if it answers its own address, the head unit operates normally. If there is no sound processor, i.e. it does not respond to its own address, then the DSP chip is polled. If the DSP chip responds to its own address, then the head unit is already operating in the mode of improved sound with a real 15-band equalizer.
Click to expand...
Click to collapse
Please correct me
The 7floor mod just re-routes and cuts some traces to control the in-build DSP directly and if i got it correct, people got full access to the DSP after.
You say that in the boot process the MCU polls it's hardware interfaces and if it detects the internal DSP it operates in "normal" mode.
Could this normal mode be modified to remove the config restriction and fully control the internal DSP? Or instead boot in "improved" mode?
// In my car (Opel Astra J) the HU is heavily mounted inside the dash and it's not fun to rip the whole thing apart every time.
Also I have a DVD drive installed and the space inside the silverbox is super limited due to that.
Or is this a "prove of concept" for people who don't have an in-built DSP and just a "stage" before you come up with a software solution? (You mentioned that in the other thread)
Xorit said:
Please correct me
The 7floor mod just re-routes and cuts some traces to control the in-build DSP directly and if i got it correct, people got full access to the DSP after.
You say that in the boot process the MCU polls it's hardware interfaces and if it detects the internal DSP it operates in "normal" mode.
Could this normal mode be modified to remove the config restriction and fully control the internal DSP? Or instead boot in "improved" mode?
// In my car (Opel Astra J) the HU is heavily mounted inside the dash and it's not fun to rip the whole thing apart every time.
Also I have a DVD drive installed and the space inside the silverbox is super limited due to that.
Or is this a "prove of concept" for people who don't have an in-built DSP and just a "stage" before you come up with a software solution? (You mentioned that in the other thread)
Click to expand...
Click to collapse
English is not native to me, so I apologize if I misunderstood you, but head units now have two options - with a sound processor and with a built-in DSP.
All the features of the sound processor are determined by the specific chip BD3702 / 37534/37033, etc, soldered on the HU mainboard. Since some of the audio presets are fixed in the MCU firmware, some do not like this sound and they want to customize it to their preferences. This can be achieved either by modifying the MCU firmware, or by direct control of the sound processor, for example, as in 7floor mod, but the audio capabilities are still low functional and are limited by the sound processor chip itself.
The possibilities of DSP for sound are very huge and diverse, but the Chinese sellers do not sell it separately for MTCD/E head units, so I suggested an alternative option by purchasing an affordable low-cost inexpensive DSP test board on Aliexpress and installing it inside the head unit to get a very improved sound, because all the software support has already been present and verified in the Android builds of versions from 6.0.1 to 8.0 and only need to connect the electrical circuits to the main board correctly.
I did it in practice and checked that it really works and it improves the sound very much, sorry, but if I did not answer your questions, please clarify them again for my understanding (my English is very pour)
cs-x(RU) said:
English is not native to me, so I apologize if I misunderstood you, but head units now have two options - with a sound processor and with a built-in DSP.
All the features of the sound processor are determined by the specific chip BD3702 / 37534/37033, etc, soldered on the HU mainboard. Since some of the audio presets are fixed in the MCU firmware, some do not like this sound and they want to customize it to their preferences. This can be achieved either by modifying the MCU firmware, or by direct control of the sound processor, for example, as in 7floor mod, but the audio capabilities are still low functional and are limited by the sound processor chip itself.
The possibilities of DSP for sound are very huge and diverse, but the Chinese sellers do not sell it separately for MTCD/E head units, so I suggested an alternative option by purchasing an affordable low-cost inexpensive DSP test board on Aliexpress and installing it inside the head unit to get a very improved sound, because all the software support has already been present and verified in the Android builds of versions from 6.0.1 to 8.0 and only need to connect the electrical circuits to the main board correctly.
I did it in practice and checked that it really works and it improves the sound very much, sorry, but if I did not answer your questions, please clarify them again for my understanding (my English is very pour)
Click to expand...
Click to collapse
Nah you got me completly right there and I fully understood what you wrote. (not a native english myself )
So basically this MOD provided by you is an alternative method of "super-improving" the sound with a standard car sound system (speaker connected to the radio directly).
This, because if you have a factory amp like bose preinstalled or you have already upgraded the sound system with a DSP/amp you don't want to have the audio processed in the HU, but rather have clean signals to your installed DSP in the car.
Let me shortcut:
version 1: add DSP board for standard sound system to be improved (THIS THREAD)
version 2: have full control of the standard sound processor already present to get rid of the MCU presets. (MY IDEA)
For me personally it would be super great to just have the 7floor mod in software. My factory amp does all the audio magic, but I need more control of the HU output and it would totally be enough to control the TDA7388 PDF file
This is my Witson seller MX HU W2-V5754
cs-x(RU) Could you share a picture of the installed ADAU1401/1701 chip in your unit, give us an idea what were looking at?, It all makes sense to me now.
Also in there a new amplifer.apk with the 15 band eq that you show in fig. 17 to fig. 20?
Octane70 said:
cs-x(RU) Could you share a picture of the installed ADAU1401/1701 chip in your unit, give us an idea what were looking at?, It all makes sense to me now.
Also in there a new amplifer.apk with the 15 band eq that you show in fig. 17 to fig. 20?
Click to expand...
Click to collapse
In the summer of 2017 I bought this DSP test board for experimentation and subsequent installation in my MTCC head unit, but a significant software change was needed, so I suspended these works before the New Year 2018, and put a test card in the garage.
In April 2018 I decided to go back to the experiments to connect the test board to the MTCE head unit, but for a long time I could not find the card in the garage and was able to find it only last week. Immediately my friend asked me to install this DSP test board in his head unit, so I lasted all last Saturday and checked it on his head unit, but did not do the photo, and on Sunday he installed in the car and now I can not take the photo. Therefore, I can only sketch and specify the soldering points on the main board, but I'm going to do the next modification with the sound switch and ordered another DSP test board on Aliexpress.
A new apk with the 15 band eq that shown in fig. 17 to fig. 20 already present in the original Chinese Android build versions from 6.0.1 to 8.0 for MTCE head units and do not need to add anything yourself, since to activate the improved equalizer mode, it is sufficient only that the MCU firmware detects a DSP chip on the I2C bus and sends the command to the Android device
Xorit said:
This, because if you have a factory amp like bose preinstalled or you have already upgraded the sound system with a DSP/amp you don't want to have the audio processed in the HU, but rather have clean signals to your installed DSP in the car.
For me personally it would be super great to just have the 7floor mod in software. My factory amp does all the audio magic, but I need more control of the HU output
Click to expand...
Click to collapse
I have plans to try to make a completely software solution similar to 7floor, but without soldering, but so far there is no time for such experiments, becouse need to debug everything well
For your case, can do it simply - set the zero frequency response and prevent it from changing, and only your external amplifier with DSP can control any frequency response (very small changes in the MCU firmware code needed and not need in Android build)
cs-x(RU) said:
I have plans to try to make a completely software solution similar to 7floor, but without soldering, but so far there is no time for such experiments, becouse need to debug everything well
For your case, can do it simply - set the zero frequency response and prevent it from changing, and only your external amplifier with DSP can control any frequency response (very small changes in the MCU firmware code needed and not need in Android build)
Click to expand...
Click to collapse
Would you maybe provide a version to test in the other thread? Would be happy to try!
No need to rush things tho!
Many thanks!
Will this mod work on an Intel Sofia mtcd unit? Thanks in advance
brickbeats said:
Will this mod work on an Intel Sofia mtcd unit? Thanks in advance
Click to expand...
Click to collapse
I do not know, because I do not have Intel Sofia and can not test -- tested only on Rockchip PX5 with Android 8.0 and on Rockchip PX3 with Android 7.1.2 and on Rockchip PX5 with Android 6.0.1, not tested on Rockchip PX3 with Android 5.1.1
Octane70 said:
cs-x(RU) Could you share a picture of the installed ADAU1401/1701 chip in your unit, give us an idea what were looking at?, It all makes sense to me now.
Click to expand...
Click to collapse
added wire connection (see fig.16) in the first post of the topic
P.S.
the chip of the sound processor can not be removed from the main board, but then you must unsolder its SDA and SCL pins (26 and 25 pin of the BD37033)
This looks very interesting. Out of interest is there a solution to get additional analogue audio? I use the aux input as well?
I use dab most of the time so could potentially do without fm if there was not an option to switch the analogue audio as well
Ben.suffolk said:
This looks very interesting. Out of interest is there a solution to get additional analogue audio? I use the aux input as well?
I use dab most of the time so could potentially do without fm if there was not an option to switch the analogue audio as well
Click to expand...
Click to collapse
in the current implementation there is one digital input for sounds from Android applications and one analog input for other sounds without a switch. Since I and my friends are listening to FM radio, I made the connection just for it. If you need another analog source, then instead of FM radio you can connect either AUX-input or DAB-radio according to your desire.
I ordered another same DSP test board on Aliexpress and in the next implementation I plan to add an analog audio switcher for the possibility of programmatically selecting any of the sound sources
cs-x(RU) said:
in the current implementation there is one digital input for sounds from Android applications and one analog input for other sounds without a switch. Since I and my friends are listening to FM radio, I made the connection just for it. If you need another analog source, then instead of FM radio you can connect either AUX-input or DAB-radio according to your desire.
I ordered another same DSP test board on Aliexpress and in the next implementation I plan to add an analog audio switcher for the possibility of programmatically selecting any of the sound sources
Click to expand...
Click to collapse
Ok great,
I assume that there must be a switcher built into the MTCE units with DSP, and I see your schematic for a switcher in the first post, but I will wait until you have figured out what it connects to so it works to switch the sources.
As it happens DAB is USB, so will be audio via the Android card (Digital), so I can use Aux and Digital, just meaning I don't have a fall back to FM if I loose DAB. Thats ok for the moment, and I'll upgrade to switched later.
Thanks for this mod.
Mind posting some pics of the board installed?
Thankyou so much for posting this, this is exactly what I have been looking for to improve sound quality of my unit. I have already ordered an ADAU1401 eval board.
I just wanted to confirm, if I add the ES7144LV as described, will I be able to control the sub channel selerately using the amp app on the unit without any additional modification?
Also, I am correct in thinking that if I make the correct electrical modifications the app will automatically identify the changes and I will not need to make any software changes?
Would it be possible to get a higher quality picture of where to connect the pins? I am finding the text hard to read in certain areas.
Thanks again!
Hi,
I'm building "accessory" box that allows me to add Carplay to my 2016 Audi A6 that has no carplay support. The build in infotainment has analog video in using Audi AMI connector. The plan is to use Raspberry Pi running LineageOS connected to infotainment video/audi in, and using CarLinkit usb-carplay dongle run Carplay in the Raspberry.
The center console controll knobs / buttons communicate the headunit via rs232 serial - and when the infotainment is on aux video mode, only the back button is in use. The plan is to use the stock controlls to conrol this monstrosity. So far i have connected my laptop in between to map the data each key press send ie: each click of the wheel to the left send "3#56" trough the serial.
Now the real question is, how i can use this to controll the android? So that each time the wheel turns to left it would be mapped as arrow key left in android?
Bump!
I'm literally wondering in the woods how / where I should start unraveling this... If this would be normal PC enviroment and i could use Python i would know how to do it, but being and IOS guy i have no idea how the android functions and where is should start: Can i make autorunning app that emulates keyboard from the serial input? or what would be the best way for it?
I am currently attempting the same thing. I’m half-way through gathering my parts and pieces so I can’t speak to a functioning example. What I can say is what I am trying to do to leverage the in-vehicle iPod controls to control the Pi.
Search for an android app called “PodEmu”.
It spoofs the vehicle’s head unit into thinking an android device is actually an iPod. You have to create you own DIY cable to make the connection happen but I’ve managed to cobble one together for about $15.
Download the app, plug in your homemade cable and you should be set (in theory). In a perfect world it will even transfer the artist info to your vehicle but I’m currently running into notification enablement issues between PodEmu and LineageOS.