Replies: 3 comments 3 replies
-
If you have noise, it's maybe just the fact that standard must be i2s_format (00) - not left-justified and i2s_framesize must be 32 (10), unless you use the 32 bits version of our software. The default seems to be fine for the others. |
Beta Was this translation helpful? Give feedback.
-
For the record, it should be noted that the built-in ESP32 isn't being used since it is a WROOM32 and doesn't have PSRAM. It was very close to being an interesting standalone board. |
Beta Was this translation helpful? Give feedback.
-
@haldi4803 … could you link that board on AliExpress or the shop? edit : is your noise issue fixed? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Howdy,
After getting the ESP Audio Dock with TAS5805M to work i've bought another board with Merus Audio MA12070P onboard.
Because 2x80W is louder than 2x23W Right?.....
Well anyway... the board i wanted was this one:
Sadly AliExpress doesn't deliver what one orders but what the seller has in stock...
So i got the 2 Boards Edition.
Doesn't matter anyway as neither of the Boards has PS-RAM -.-
So for Trial and Error i've plugged the Board on a Raspberry Pi 4 (Pin compatible! yay) with MoodeAudio installed.

Was kinda annoyed by the 3W Powerdrain while Raspby and Board are running and ordered a WaveShare ESP32 One (which is also Pin Compatible to Raspberry Pi and does have 8MB PS-RAM onboard.)
Flashing SqueezeliteESP32 worked flawless via Web interface.
Now powerdraw seems to be around 0.5W with WiFi connect but nothing set up yet.
Luckily i found the config for the Pins on the AliExpress Page: (The colored one is for WaveShare ESP32 One)
Nothing stopping us now from configuring an I2S Dac.
According to these we set I2C Ports to GPIO18 for SDA and GPIO23 for SCL.
Yet nothing detected on I2C Scan, because AMP is still offline.
Pin 8 is Enable, so we set GPIO01 to High via set_GPIO in nvConfig.
1=vcc
commit, reboot and we can see the vcc pin in the Status Tab.According to documentation I2C Adress can be configured by AD0 and AD1.

I assume those are CFG2 and CFG3 but doesn't matter as both on Low = 0x20 aka 32Still nothing showing up... so time for Official Documentation:
Luckily someone already made the MA12070P working on ESP32. That might help as well...
Start-up procedure
It is recommended to follow the start-up procedure as described below:
the device is held in disable).
So we can see that we need to set the GPIO01 aka pin8 to High to start the Device, but then need to put it to Low to access the registers...
Time to test out Philippe's Testbuild with GPIO Control in DAC_Controlset -.-
Edit:

Okay....
Setting GPIO1 to amp in set_GPIO nvs apparently does the trick with booting it up correctly to show in i2C.
Using:
1=power:0,3=amp:1
does the trick with powering the Amp. But configuration still seems to be off. as i only get noise :(According to Documentation there are some i2S configurations that could be made...


Sadly i have no clue to which ones are what ^^
Edit 2:
P.S MSEL0 needs to be high to enter BTL mode instead of PBTL....
Edit 3:
going by the Procedure the other guy used for his Bluetooth player startup should be:
Set mute to 0
Set enable to 1
i2C communication.
Set enable to 0
Managed to get as far as that as i can read/write to the chip on 0x20 via Web interface...
the read Hardware version is irrelevant i assume. just skip that.
ma_write_byte(MA120X0_ADDR,1,MA_i2s_format__a,8); // Set i2s left justified, set audio_proc_enable
ma_write_byte(MA120X0_ADDR,1,MA_vol_db_master__a,0x28); // Set vol_db_master
Set Register 53 to 8 .... not sure if that does anything, according to documentation 8 is not a valid input.
Set register 64 to 40 which would just be a volume adjustment.
res = ma_read_byte(MA120X0_ADDR,1,MA_error__a);
printf("Errors : 0x%02x\n",res);
Read register 124 aka 7C in my case i always get 0x04 retour. Which would mean PLL Error.
Edit4:
Using the TestBuild 1613 i got a working boot sequence.
set_GPIO:
1=vcc, 3=vcc
dac_controlset:
{"init":[{"gpio":3,"level":0},{"gpio":1,"level":0},{"reg":53,"val":0},{"reg":54,"val":17},{"gpio":3,"level":1}]}
Doing that results in register 124 (errors) to be 0x00 so safe.
Only problem remaining is that when i set MSEL0 to High on GPIO5 there is no output at all and Register 117 (aka 0x75) results in 101.
If i leave it at low there is noise in the output :(
Edit5:
I found this post in DiY Audio Forum where Michael Xiao claimed to be the designer of the Board, i wrote him an E-Mail and got a prompt response. Including the Schematics
SCHEMATIC1 - MA12070[1400].pdf
MSEL1 is fixed to Ground. So MSEL0 needs to be high.

AD0 and AD1 are fixed to Ground so changing i2C adress is not possible.

BUT I found something else about CFG2 and CFG3... Voltage Control for VDD224 which is the USB-PD Chip.

Not exactly sure if it matters, but setting CFG2 aka pin13 aka GPIO15 to high now.
Beta Was this translation helpful? Give feedback.
All reactions