Infineon MA12070 Class D

Hi Mike,
I am open for everything.

I have successfully coded firmware to change the MA12070P resisters, I think. It runs on an ESP32 board. Simply connect SDA and SCL from the ESP32 board to SDA and SCL on the amp. When the ESP32 boots, it will connect to the MA12070P @ I2C address 0x20, and modify register(s) to hardcoded values. You will need the following:

The ability to flash the firmware. I use the ESPRESSIF Download Tool, which runs on a Windows 10 machine.

A USB cable to connect the Windows machine to the ESP32 board. It's easiest if the ESP32 board has a micro USB input that has a USB-to-UART bridge.
My tests were on a board with the ESP32-WROVER-B Chip, with 4mb flash. It will hopefully work on any ESP32 chip as long as it has 4mb flash.

I can't guarantee this will work for you, but if you're willing to give this a try I'll email you a zipped file containing the firmware (.bin). I just need to know what register values you want changed.

Mike
 
Hmmmm. The MA12070P datasheet...

The I2C serial control interface of the MA12070P allows an I2C master to read and/or modify a wide range of device parameters. The I2C interface consists of four physical pins, SDA, SCL, AD0 and AD1. I2C decoder logic handles transaction protocol and read/write access to the device register bank. SDA and SCL are standard bidirectional I2C slave pins for data and clock, respectively. Both SDA and SCL must be pulled-up to a digital I/O (3.3V - 5V) with a 5k resistor on each pin and operated in standard I2C mode up to 100 kbps transmission rate. Pins AD0 and AD1 are used to configure the 7-bit I2C address of the device. The I2C address is decoded according to Table 8-12

Maybe I should do this???
 
Maybe I should do this???
Pullup resistors?

IME pullups are hit and miss on prebuilt boards. Some peripheral board makers think the pullups should be on their board. Others think it should be on the microcontroller board. Microcontroller board makers think the same. lol. RPi 4B claims that the internal pullups are enough. So maybe you got lucky that pullups are already on either your micro board or MA12070P board (or both... It doesn't hurt, just a little more current draw).

I don't have any WROVER laying around to check, but my BPi ESP32 Pico board does not have pullups, for example. Nor does my MA12070P board have any. So I had to include some in the wiring.
 
Took my modded BRZHiFi amp on a 5 day camping trip along with a pair of JVC S-M3 speakers that are as old as I am. Powered the amp and bluetooth receiver with a 19.2V 6Ah 32700 LiFePO4 pack that I built for another purpose. Played it for a few hours each evening at reasonable levels, half expecting the battery to die before the end of the trip, but it didn't!
 

Attachments

  • IMG_20230912_072928987.jpg
    IMG_20230912_072928987.jpg
    937.5 KB · Views: 127
  • Like
Reactions: 2 users