MTC Sound: controlling BD37xxx Sound Processors in MTCB Head Units (RK3066/3188)

Search This thread

7floor

Senior Member
Jul 20, 2006
236
179
Direct control of Sound Processor for Microntek Head Units based on RK3066/RK3188 processors.
HuiFei, KGL, KLD, JY, and similar, generally discussed here: http://forum.xda-developers.com/android-auto/mtcb-android-head-unit-general

WARNING! The hardware modification described in this topic, while being simple enough, still requires you to have at least average soldering skills and appropriate soldering iron that allows soldering of very small SMD components. Sample of suitable soldering iron is shown on the photo:
soldering-iron.jpg
Also, you will need a multimeter, any cheap one with buzzer will be sufficient.
There is an excellent post by @JEMShoe, a must read: http://forum.xda-developers.com/showpost.php?p=63661855&postcount=39

The goal of the modification

Microntek Car Head Units based on RK3066 / RK3188 processors have so called Sound Processor IC made by ROHM, the BD37xxxx family.

This sound processor has the following functions:
- Three-band parametric equalizer with adjustments of gain in range -20dB – +20dB, frequency and Q-factor of the filter in each band.
- Configurable loudness module with gain in range from 0dB to +20dB, and adjustment of filter frequency and the level of high frequencies suppression.
- Setting of subwoofer output, including selection of signal source, cut-off frequency, phase, and gain.
For more detailed technical information please refer to the datasheet: View attachment 3520723

In stock implementation, this IC is controlled by another 8051-based controller (called MCU) which controls all the onboard hardware, such as display, hardware buttons, BT module, video switch, etc. The way it controls the Sound Processor IC is very limited and in some aspects wrong:
- Instead of 3-band parametric equalizer, we have a 9-band graphical one, with strange logic – each of three groups of three bands controls a single hardware band, averaging their values; and the adjustments range is only +-10dB.
- Loudness compensation does not use a built-in hardware circuit, but just adds some bass and treble, which is a way not the same.
- Subwoofer output is fixed and cannot be configured.

The MTC Sound module allows for direct control of all the built-in function the Sound Processor directly from Android, overcoming limitations of stock implementation, and allowing to tune the sound quality to the best, with only minor hardware modifications.
Besides of that, in stock implementation, equalizer presets apply to any input, be it System, Radio, DVD etc. My experience tells me that it is desirable to have a separate equalizer settings per input. The Radio sounds differently than Media Player or DVD, so it needs to be adjusted differently.
In addition, a Preamp value that can be found in Factory settings was pulled for live adjustment. It is needed to equalize the volume of different inputs.

The software part

1.equalizer.jpg2.balance.jpg3.settings.jpg
The software can be installed without hardware modification, but it will not work. It can be used for evaluation, though, to see how it looks like and what settings it has.
Make sure you have a rooted device, the Xposed framework installed, and you have some file manager that allows for file manipulations in system folders. I recommend the "Root Explorer".
Find the files mentioned below in this archive: View attachment system-files.zip
1. Copy libjnidispatch.so to /system/lib and set permissions to 644.
2. Check if you have files i2c-0 .. i2c-4 under /dev directory. If they exist (typical for RK3188) skip step 3 and proceed to 4; if they don't exist (typical for RK3066) proceed to step 3.
3. Copy i2c-dev.ko to /system/lib/modules and set permissions to 644.
4. Download MTC Sound plugin from the Xposed repository (http://repo.xposed.info/module/com.sevenfloor.mtcsound) and install it. It will appear in modules in Xposed Installer, enable it there and reboot.
5. After reboot, go to Xposed Installer, and check its Log. Watch for line "The Sound Control Status is:" (see below for possible statuses).
The software brings the new Equalizer which will replace the stock one, and also it will be launched by hardware EQ button (if your unit has one).

The statuses that can be displayed in the Xposed log:
- No patch detected – either module is not active in Xposed, or device was not rebooted after activation.
- mcu,No device driver i2c-dev – you have device which requires i2c-dev.ko driver, and you forgot to copy it where needed or set permissions (see step 3 above).
- mcu,Exception com/sevenfloor/mtcsound/I2cBus$CLib – you forgot to copy libjnidispatch.so or set permissions.
- No access to /dev/i2c-?; <some additional info> - despite existence of driver, failed to access i2c bus programmatically. Normally should never happen, but if happened, contact me for further investigation.
- mcu,Error in write() 11 (no response from i2c slave) – programmatic access to i2c bus works well, but Sound Processor does not respond. Need to check soldering. Maybe there's no contact where is has to be, or you shortened something, or you messed with the wires making them wrong way around.
- mcu,Error in write() 110 (no response from i2c slave) – same as above.
- i2c,Channel x (x is a number) – everything is good, enjoy your sound.

Note
Starting from version 1.9.0, due to massive re-implementation of initialization logic, the statuses mostly change their texts.
But they still have the same meaning as above, thus can be understood easily.
Additionally, initialization steps are logged in details to system log with tag 'mtcsound' (viewed with apps like CatLog).

The hardware part

circuit-en.jpg
Please see the circuit diagram above.
Basically what we need to do is to re-route the I2C control bus of Sound Processor from the MCU to the Android Board.
Find a 28-pin IC marked BD37<whatever>. It has a key - small dot or circle near the 1st pin. Pins are counted from that key dot, counter-clockwise.
So that find pins 25 and 26, and using a multimeter, trace resistors connected to these pins, somewhere around the chip.
Unsolder these resistors - this way you'll break connection to the MCU that needs to be broken.
Keep the resistors, or throw them away if you plan to use new ones (e.g. bigger, easier to manipulate - not only SMD resistors may be used but also those with wired pins).
Now find a 28-pin IC marked WM8731S, and with multimeter, trace resistors connected to its pins 24 and 23. The same rule for pin counting applies.
Don't unsolder these resistors. Solder wires to their opposite ends.
Other ends of wires solder to the resistors that you unsoldered (or to others you had for replacement), and opposite pins of the resistors solder to the pads that are connected to the BD37xxx chip.
So that you will have the following traces:
WM8731S pin 24 - resistor - wire - resistor - BD37xxx pin 25
WM8731S pin 23 - resistor - wire - resistor - BD37xxx pin 26
After soldering, carefully check the circuit with the multimeter.
WARNING! Later in this thread, users who already done the mod share their experience, photos, drawings, etc.
When doing the mod yourself, ALWAYS read this my post and refer to the diagram above.
Use pictures from others to get an idea where the components are located, but think yourself, don't blind-follow others work.

Mini-FAQ

Q: So will the sound be much better after this modification, is it worthly at all?
A: It will not make your hardware parts like amplifier and other audio circuits any better. But it will allow you to fine tune the sound to the best that can be achieved with all the features of the Sound Processor, which is not available in the stock. Many people say they get "incredible sound". I would say that I managed to tune mine to be "much better" :)

Q. Would your software be useful without the HW modification part?
A. No. In future, such a possibility might become available. Other developer works on MCU patch, and when/if he finish his work, I will update my software to work thru his modified MCU, so that without a HW mod. As I see the picture, it will take not less than a couple of months.

Q. Please help me with the HW modification for my device XXX / YYY / ZZZ
A. I'm not familiar with other devices than mine, and, unfortunately, I've got not very helpful pictures of my work. So if you can't follow above instructions yourself, then please wait for more experienced users with units like yours, when they do modifications and share their photos.

Q. I've done the HW mod, and the software gives me the status "i2c,Channel x", which indicates success. I have sound from the Radio, but not from the Android / Media player. What's wrong?
A. Some people reported an issue with the resistors at the WM8731S chip. They're fragile and can be easily fried/broken when soldering wires to them. The WM8731S chip is the Audio Codec for Android and with broken I2C control circuit you'll get no sound from Android. Please check with the multimeter and replace one or both that are broken. Use 1 kOhm resistors suitable by size.

Q. I've got the status as follows: mcu,No access to /dev/i2c-?; su exit code 1
A. Have you installed the SuperSU or one of similar super user managers? SuperSU has the option to allow SU during boot - just enable it and reboot.

Q. Why the feature X doesn't work exactly as it worked in stock unit, or doesn't work at all? When will you fix it?
A. As the MCU does not control the Sound Processor anymore, I had to re-implement many stock features in my software from a scratch. Example is the GPS application sound switch/mix. There are some other stock features that were not implemented -- either they are impossible to implemented, or I was not aware of their existence, or I just don't want to implement them because consider them not important. Anyways, ask for a specific feature in this thread, and at least I'll answer, whether it will be implemented and how soon.

Q. You said that some features are impossible to implement. What these features are?
A. Anything related to Sound control by the MCU alone, before Android gets loaded, for sure. Not sure what this may include, maybe something related to parking sensors beeps? Did this ever existed in stock? Other features except that also may appear impossible to implement or too hard to ever try to do that.

Q. Where on your Equalizer are the sound presets like Pop/Jazz/Rock? And why my hardware EQ button which was switching these presets earlier, now just executes the Equalizer app?
A. This is a good example of a feature that I consider unimportant and will never implement. These presets are nothing than a marketing bu11$41t and have nothing in common with a quality sound. Period.

Xposed Repository link

http://repo.xposed.info/module/com.sevenfloor.mtcsound

Links to how-to posts by users who have already made the mod.

KLD by @dazza007
http://forum.xda-developers.com/showpost.php?p=63520630

JY by @JEMShoe
http://forum.xda-developers.com/showpost.php?p=63712823

JY-UQ128 by @JrFaust
http://forum.xda-developers.com/showpost.php?p=65587419

KGL by @Tutti-frutti:
http://forum.xda-developers.com/showpost.php?p=64460726

---
My other work:
- Xposed Volume Bar: http://forum.xda-developers.com/showthread.php?t=3246360
 
Last edited:

Hisma

Senior Member
Oct 24, 2010
395
80
I think I fully understand what you are trying to do now. I will try to attempt this this weekend if I can find the time. It would be helpful if you at least called out the resistor numbers, but I think that was brought up in the main HU thread. I will try to post good pictures as I go. This doesn't seem all that bad now that you have a well-worded explanation (or maybe you already had this explanation before and I never noticed).

The goal is to have the sound processor be controlled by the android processor, not the MCU. Makes sense now :)
 

7floor

Senior Member
Jul 20, 2006
236
179
It would be helpful if you at least called out the resistor numbers
They are different on different Head Unit brands. My unit does not have any component numbers on the PCB at all.
This doesn't seem all that bad now that you have a well-worded explanation (or maybe you already had this explanation before and I never noticed).
These explanations were spread over a number of my posts in the general discussion thread, as answers to people's questions. So I've decided to gather them to this thread.
 

dazza007

Member
Sep 30, 2015
47
6
A suggestion to refine the instructions
"• mcu,Error in write() 110 (no response from i2c slave) – same as above." - can you add a note whether the connections/wires are the wrong way around? ;)
 

7floor

Senior Member
Jul 20, 2006
236
179
A suggestion to refine the instructions
"• mcu,Error in write() 110 (no response from i2c slave) – same as above." - can you add a note whether the connections/wires are the wrong way around? ;)
Done :) But dont ask me to list every single mistake one can make soldering just two wires - there's so much possibilities! :D
By the way, could you please copy your post with photos of how you done the HW mod from general thread to this one? It would be helpful for others for sure.
 
Last edited:

dazza007

Member
Sep 30, 2015
47
6
so here are some images of the 7 floor modification and some less technical descriptions of what to do
The following is for a WM8731S and BD37033FV

You need 2x 1k ohm resistors, a good quality clean soldering iron, solder, flux and a steady hand!

On the android board - Solder wire to resistor R268 and R49 that connects to the WM8731S these are pin 23/4
View attachment 3520439

View attachment 3520440

On the main board find the resistors r70/1 and remove them these connect to the mcu chip and you are removing the connection to the mcu but the pin out furthest away from the label has a connection to the BD37033FV sound processor pins 25/6

View attachment 3520441
solder a connection onto the pinouts furthest away from to the label. Ensure that there is no connection between pinouts where you removed the resistor and soldered in the new wire

connect the wire you have just soldered to the original wire you solder using a 1k ohm resistor (to replace the resistors you removed)
Ensuring that you have the following connections:

R268 - R71
R49 - R70

Using a multimeter ensure that you have nearly 2 k ohms resistance through the resistor R268 to connection R71 and through R49 and R70

Ensure you have 2k resistance through the resistor R268 to connection to the chip BD37033FV
and R49 too to the other pin on the chip
the pins 25/6 on the sound processor are the third and fourth in from the top left.
 
Last edited:
  • Like
Reactions: xluisx and anyuzo

lysiong

Senior Member
Jul 27, 2007
175
38
So I confirm that it works for Waze, and it works just like in stock, i.e. you may use swith option, or you may use variable-level mixing option.
@7floor, where do I set which application will have the GPS switch/mix features? is it still the same place in setting > GPS? or it is determine by your EQ application? the mixing option also set in setting > GPS or in your application? if HU detect a reverse signal, will it be able to mute or set attenuation as stock?
 
Last edited:

lysiong

Senior Member
Jul 27, 2007
175
38
As you wish. Looks like the sound quality is the last thing that is important to you, isn't it? :)
@7floor, although I do like sound quality but I prefer safety feature(reverse mute) 1st than sound quality. [emoji2] I been change from orig to your mod & back to orig quite few times after found up some essential feature not available [emoji26] . Anyhow, I really appreciate your work :)
 
Last edited:

robertut

Senior Member
May 11, 2007
284
48
7floor, looking at the sound processor specs (at http://www.rohm.com/web/global/search/parametric/-/search/Analog Audio Processors ) I see that there's a single 3-band parametric EQ in the chip. How are you going to create different EQ parameters for the radio, system, etc., as these are all different audio inputs?

---------- Post added at 10:14 PM ---------- Previous post was at 10:08 PM ----------

Guys, in which areas of the world exists this "reverse mute safety" thing? In my area, no such thing exists. Actually, this is the first time I hear about this... sound muting when gear in reverse? What does going in reverse having to do with sound?
 
Last edited:

7floor

Senior Member
Jul 20, 2006
236
179
7floor, looking at the sound processor specs (at http://www.rohm.com/web/global/search/parametric/-/search/Analog Audio Processors ) I see that there's a single 3-band parametric EQ in the chip. How are you going to create different EQ parameters for the radio, system, etc., as these are all different audio inputs?
English is not my mother's language, but I'm not "going to", it just works already.
It has nothing to do with the chip specs. I just hold the parameters per input in software and apply them to the chip on input change, because I intercept these events and know when it happens.

Guys, in which areas of the world exists this "reverse mute safety" thing? In my area, no such thing exists. Actually, this is the first time I hear about this... sound muting when gear in reverse? What does going in reverse having to do with sound?
Never thought about this feature as about something regulated by laws. This may be useful, for example, to make the parking sensors audible (if installed). But I personally don't have those, so I never enabled this feature. Maybe people also want to hear pedestrians' screams once they hit 'em, not really sure :)
Anyways, I don't consider this feature a highly critical one - one can press mute before going backward, so that it is just a matter of comfort, nothing more.
I will implement it though, just because I am a perfectionist. Just need to fight my laziness :)
 
  • Like
Reactions: jordanow

lysiong

Senior Member
Jul 27, 2007
175
38
[/COLOR]Guys, in which areas of the world exists this "reverse mute safety" thing? In my area, no such thing exists. Actually, this is the first time I hear about this... sound muting when gear in reverse? What does going in reverse having to do with sound?[/QUOTE]
@robertut
My car is equipped with reverse sensor buzzer. It is better radio sound mute abit when reverse in case you hit something. You wont know it if your radio sound is loud.

---------- Post added at 11:19 AM ---------- Previous post was at 11:08 AM ----------

Never thought about this feature as about something regulated by laws. This may be useful, for example, to make the parking sensors audible (if installed). But I personally don't have those, so I never enabled this feature. Maybe people also want to hear pedestrians' screams once they hit 'em, not really sure :)
Anyways, I don't consider this feature a highly critical one - one can press mute before going backward, so that it is just a matter of comfort, nothing more.
I will implement it though, just because I am a perfectionist. Just need to fight my laziness :)[/QUOTE]
@7floor,
Thanks for your understanding. maybe I need to install a switch so that I can switch between your mod & stock for the EQ setting so that no need to do soldering again as it is not easy to solder back the 1K SMD resistor. I might spoil the resistor if do solder so frequently.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 30
    Direct control of Sound Processor for Microntek Head Units based on RK3066/RK3188 processors.
    HuiFei, KGL, KLD, JY, and similar, generally discussed here: http://forum.xda-developers.com/android-auto/mtcb-android-head-unit-general

    WARNING! The hardware modification described in this topic, while being simple enough, still requires you to have at least average soldering skills and appropriate soldering iron that allows soldering of very small SMD components. Sample of suitable soldering iron is shown on the photo:
    soldering-iron.jpg
    Also, you will need a multimeter, any cheap one with buzzer will be sufficient.
    There is an excellent post by @JEMShoe, a must read: http://forum.xda-developers.com/showpost.php?p=63661855&postcount=39

    The goal of the modification

    Microntek Car Head Units based on RK3066 / RK3188 processors have so called Sound Processor IC made by ROHM, the BD37xxxx family.

    This sound processor has the following functions:
    - Three-band parametric equalizer with adjustments of gain in range -20dB – +20dB, frequency and Q-factor of the filter in each band.
    - Configurable loudness module with gain in range from 0dB to +20dB, and adjustment of filter frequency and the level of high frequencies suppression.
    - Setting of subwoofer output, including selection of signal source, cut-off frequency, phase, and gain.
    For more detailed technical information please refer to the datasheet: View attachment 3520723

    In stock implementation, this IC is controlled by another 8051-based controller (called MCU) which controls all the onboard hardware, such as display, hardware buttons, BT module, video switch, etc. The way it controls the Sound Processor IC is very limited and in some aspects wrong:
    - Instead of 3-band parametric equalizer, we have a 9-band graphical one, with strange logic – each of three groups of three bands controls a single hardware band, averaging their values; and the adjustments range is only +-10dB.
    - Loudness compensation does not use a built-in hardware circuit, but just adds some bass and treble, which is a way not the same.
    - Subwoofer output is fixed and cannot be configured.

    The MTC Sound module allows for direct control of all the built-in function the Sound Processor directly from Android, overcoming limitations of stock implementation, and allowing to tune the sound quality to the best, with only minor hardware modifications.
    Besides of that, in stock implementation, equalizer presets apply to any input, be it System, Radio, DVD etc. My experience tells me that it is desirable to have a separate equalizer settings per input. The Radio sounds differently than Media Player or DVD, so it needs to be adjusted differently.
    In addition, a Preamp value that can be found in Factory settings was pulled for live adjustment. It is needed to equalize the volume of different inputs.

    The software part

    1.equalizer.jpg2.balance.jpg3.settings.jpg
    The software can be installed without hardware modification, but it will not work. It can be used for evaluation, though, to see how it looks like and what settings it has.
    Make sure you have a rooted device, the Xposed framework installed, and you have some file manager that allows for file manipulations in system folders. I recommend the "Root Explorer".
    Find the files mentioned below in this archive: View attachment system-files.zip
    1. Copy libjnidispatch.so to /system/lib and set permissions to 644.
    2. Check if you have files i2c-0 .. i2c-4 under /dev directory. If they exist (typical for RK3188) skip step 3 and proceed to 4; if they don't exist (typical for RK3066) proceed to step 3.
    3. Copy i2c-dev.ko to /system/lib/modules and set permissions to 644.
    4. Download MTC Sound plugin from the Xposed repository (http://repo.xposed.info/module/com.sevenfloor.mtcsound) and install it. It will appear in modules in Xposed Installer, enable it there and reboot.
    5. After reboot, go to Xposed Installer, and check its Log. Watch for line "The Sound Control Status is:" (see below for possible statuses).
    The software brings the new Equalizer which will replace the stock one, and also it will be launched by hardware EQ button (if your unit has one).

    The statuses that can be displayed in the Xposed log:
    - No patch detected – either module is not active in Xposed, or device was not rebooted after activation.
    - mcu,No device driver i2c-dev – you have device which requires i2c-dev.ko driver, and you forgot to copy it where needed or set permissions (see step 3 above).
    - mcu,Exception com/sevenfloor/mtcsound/I2cBus$CLib – you forgot to copy libjnidispatch.so or set permissions.
    - No access to /dev/i2c-?; <some additional info> - despite existence of driver, failed to access i2c bus programmatically. Normally should never happen, but if happened, contact me for further investigation.
    - mcu,Error in write() 11 (no response from i2c slave) – programmatic access to i2c bus works well, but Sound Processor does not respond. Need to check soldering. Maybe there's no contact where is has to be, or you shortened something, or you messed with the wires making them wrong way around.
    - mcu,Error in write() 110 (no response from i2c slave) – same as above.
    - i2c,Channel x (x is a number) – everything is good, enjoy your sound.

    Note
    Starting from version 1.9.0, due to massive re-implementation of initialization logic, the statuses mostly change their texts.
    But they still have the same meaning as above, thus can be understood easily.
    Additionally, initialization steps are logged in details to system log with tag 'mtcsound' (viewed with apps like CatLog).

    The hardware part

    circuit-en.jpg
    Please see the circuit diagram above.
    Basically what we need to do is to re-route the I2C control bus of Sound Processor from the MCU to the Android Board.
    Find a 28-pin IC marked BD37<whatever>. It has a key - small dot or circle near the 1st pin. Pins are counted from that key dot, counter-clockwise.
    So that find pins 25 and 26, and using a multimeter, trace resistors connected to these pins, somewhere around the chip.
    Unsolder these resistors - this way you'll break connection to the MCU that needs to be broken.
    Keep the resistors, or throw them away if you plan to use new ones (e.g. bigger, easier to manipulate - not only SMD resistors may be used but also those with wired pins).
    Now find a 28-pin IC marked WM8731S, and with multimeter, trace resistors connected to its pins 24 and 23. The same rule for pin counting applies.
    Don't unsolder these resistors. Solder wires to their opposite ends.
    Other ends of wires solder to the resistors that you unsoldered (or to others you had for replacement), and opposite pins of the resistors solder to the pads that are connected to the BD37xxx chip.
    So that you will have the following traces:
    WM8731S pin 24 - resistor - wire - resistor - BD37xxx pin 25
    WM8731S pin 23 - resistor - wire - resistor - BD37xxx pin 26
    After soldering, carefully check the circuit with the multimeter.
    WARNING! Later in this thread, users who already done the mod share their experience, photos, drawings, etc.
    When doing the mod yourself, ALWAYS read this my post and refer to the diagram above.
    Use pictures from others to get an idea where the components are located, but think yourself, don't blind-follow others work.

    Mini-FAQ

    Q: So will the sound be much better after this modification, is it worthly at all?
    A: It will not make your hardware parts like amplifier and other audio circuits any better. But it will allow you to fine tune the sound to the best that can be achieved with all the features of the Sound Processor, which is not available in the stock. Many people say they get "incredible sound". I would say that I managed to tune mine to be "much better" :)

    Q. Would your software be useful without the HW modification part?
    A. No. In future, such a possibility might become available. Other developer works on MCU patch, and when/if he finish his work, I will update my software to work thru his modified MCU, so that without a HW mod. As I see the picture, it will take not less than a couple of months.

    Q. Please help me with the HW modification for my device XXX / YYY / ZZZ
    A. I'm not familiar with other devices than mine, and, unfortunately, I've got not very helpful pictures of my work. So if you can't follow above instructions yourself, then please wait for more experienced users with units like yours, when they do modifications and share their photos.

    Q. I've done the HW mod, and the software gives me the status "i2c,Channel x", which indicates success. I have sound from the Radio, but not from the Android / Media player. What's wrong?
    A. Some people reported an issue with the resistors at the WM8731S chip. They're fragile and can be easily fried/broken when soldering wires to them. The WM8731S chip is the Audio Codec for Android and with broken I2C control circuit you'll get no sound from Android. Please check with the multimeter and replace one or both that are broken. Use 1 kOhm resistors suitable by size.

    Q. I've got the status as follows: mcu,No access to /dev/i2c-?; su exit code 1
    A. Have you installed the SuperSU or one of similar super user managers? SuperSU has the option to allow SU during boot - just enable it and reboot.

    Q. Why the feature X doesn't work exactly as it worked in stock unit, or doesn't work at all? When will you fix it?
    A. As the MCU does not control the Sound Processor anymore, I had to re-implement many stock features in my software from a scratch. Example is the GPS application sound switch/mix. There are some other stock features that were not implemented -- either they are impossible to implemented, or I was not aware of their existence, or I just don't want to implement them because consider them not important. Anyways, ask for a specific feature in this thread, and at least I'll answer, whether it will be implemented and how soon.

    Q. You said that some features are impossible to implement. What these features are?
    A. Anything related to Sound control by the MCU alone, before Android gets loaded, for sure. Not sure what this may include, maybe something related to parking sensors beeps? Did this ever existed in stock? Other features except that also may appear impossible to implement or too hard to ever try to do that.

    Q. Where on your Equalizer are the sound presets like Pop/Jazz/Rock? And why my hardware EQ button which was switching these presets earlier, now just executes the Equalizer app?
    A. This is a good example of a feature that I consider unimportant and will never implement. These presets are nothing than a marketing bu11$41t and have nothing in common with a quality sound. Period.

    Xposed Repository link

    http://repo.xposed.info/module/com.sevenfloor.mtcsound

    Links to how-to posts by users who have already made the mod.

    KLD by @dazza007
    http://forum.xda-developers.com/showpost.php?p=63520630

    JY by @JEMShoe
    http://forum.xda-developers.com/showpost.php?p=63712823

    JY-UQ128 by @JrFaust
    http://forum.xda-developers.com/showpost.php?p=65587419

    KGL by @Tutti-frutti:
    http://forum.xda-developers.com/showpost.php?p=64460726

    ---
    My other work:
    - Xposed Volume Bar: http://forum.xda-developers.com/showthread.php?t=3246360
    7
    Thanks, but you must work on your ego. Instead of talking about 0-30 you could have said volume knob to lowest setting 0 vs highest setting 30. Which would have been easier
    to understand.
    You're welcome, but taking my work for free, you must not tell me what I must to do.
    Instead, you must carefully read posts, where I'm trying to help you, and ideally, you must try to understand them. Just because if you don't understand, it's your problem, not mine.

    If you really need somebody to teach and to demand support from, I can recommend the Chinese seller who sold you your unit -- at least you paid him money. Go ahead, tell him about his ego.

    So, my congrats: you win the "No Support" prize.
    6
    Update:
    Version 2.0.0:
    - Now also works on Android Lollipop 5.1.1 on MTCB/MTCC/MTCD head units

    Special thanks to @kumarai for testing!
    6
    New version 1.6.0
    Added new setting "GSM via Android" for some Bluetooth types that route phone call sound via Android board (BC6B seems to do that)

    There are reports that the sound of phone call cannot be heard after the mod.
    Examples are:
    http://forum.xda-developers.com/showpost.php?p=63967019&postcount=88
    http://forum.xda-developers.com/showpost.php?p=66083203&postcount=253

    It turns out that some types of BT modules outputs the phone call sound via the Android board, not directly to the sound processor chip. Seems like BC6B module does like that.
    So for those who lost their phone function with my mod, this new setting should help.
    6
    I am a HW engineer and several of my skills include Printed Circuit Board (PCB) layout, soldering and I frequently review PCBA manufacturing facilities (we own our own electronics assembly plant).
    Just a few tips and observations:

    1) Static electricity (formally known as Electrostatic Discharge or ESD) will damage your electronics. You are taking a great risk soldering your PCBAs in areas that are not ESD safe. If you do not have such area but are insistent on handling your radio's electronics, you can reduce the amount of charge your body is carrying by first discharging yourself at a grounded fixture such as the metal screw holding the electrical outlet faceplate, any non-painted metal device (or area on that device) that is plugged in an outlet with a grounded plug (usually a third non-current carrying terminal), wearing non ESD generating clothing, do not work in carpeted areas, do not roll your chair around while handling your electronics, etc. People do not realize that some of their devices fail later due to latent ESD failure because they opened and handled their devices in a non ESD safe area.

    2) Because these devices are manufactured so that they can be sold ROHS compliant to places like Europe, they use lead free solder. Lead free solder requires more heat to melt but the components themselves are not necessarily more tolerant to heat. These parts were intended to be solder with a specific reflow profile which is never repeatable with a soldering iron. A part can be damaged in less than 10 seconds of applied heat (especially if the soldering iron is above 600C). The fastest way to get solder to melt so that a part can be removed is by adding some flux to the component pad prior to applying the soldering iron. It helps if you have a temperature controlled soldering iron and the proper tips for component removal (I actually have channel tips to simulateously heatup all the IC pins, allowing me to remove, say a 20-pin SOIC part, in about 5 seconds without damaging pads).

    3) It is better to buy and use new 0603 resistors (100 ohms, 1000 ohms, etc.) ahead of the modifications than reusing heated parts. When you heat the parts the conductive ends may not be free of contaminates due to over heating. Also the pads must be cleaned prior to putting the part on the board (new or reused). Failure to do this may required excessive heat to get the part to solder to the board.

    4) I have seen some photos on this thread and I can clearly see that there are some cold solder joints, some joints were disturbed while cooling, some did not use flux when soldering, some have the wire strewn across other components (Wires carrying I2C can induce noise into circuits the wire is laying across--SCL is the clock line and can run at speeds of 100kHz, 400kHz and even 3.4MHz), etc. I also saw unsecured wire...the radio is in a vehicle that experiences vibration and shock (sudden jarring movement with energy transferred through the medium) so if the wire is not well secured it could break loose then that energized wire could short something out inside your radio.

    5) During PCB layout, not all traces go out from the chip. Sometimes I route under the chip, through the board onto an internal layer, etc. Thoses 'pads' that were identified as alternative pickup points for SCL and SCK, those are VIAs. On this board, they are coated with soldermask. If you try to heat that via to make a wire stick you will be applying heat for a long time and risk damaging the via. If you improperly scrap the solder mask you also risk damaging the via. If that via is damaged you can render the board unrepairable if that via happens to be going to an inner layer trace that you can not see nor access. Best to use the larger component pads.

    6) Invest in good wire...don't just grab any wire you have around as a poor choice can reshape the signal and make the circuit misbehave. The wire should not be any longer than necessary (I2C is very sensitive to noise).

    That's all for now.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone