Audio USB/BT/Wi-Fi Amanero-like module
Posted: Fri Jan 08, 2021 5:29 pm
Hi,
I personally used the Amanero modules for my audio devices and never had any problems with drivers or it's hardware, so I bought licenses for integration in my projects a while ago. The main disadvantage was lack of possibility to communicate from PC to, for example I2C port, for sending configuration to audio DSP. There was only I2S audio stream. So my first idea was just to have USB hub on board to connect VCP IC.
But when esp-adf was released I was thinking about some universal audio data transport module with wireless interfaces also. Initial idea with VCP IC and USB hub fits very well with ESP32 module configuration, so this architecture was born: Unfortunatuly ESP32 does not support any HQ codecs, so I had to add another module for AptX bluetooth audio.
The hardware is a bit overkill, there is no need to have 8K FPGA. But it is very nice for experiments, there is plenty room for some DSP fun!
And here is the photo of actual hardware: And "in the field" in my Merus Audio amplifier board: Regarding firmware - there is still huge amount of work for both ESP32 and the FPGA.
Currently implemented features are:
1. USB Audio interface (of course)
2. BT Audio input
3. Web interface (based on REST server example from ESP-IDF)
4. mDNS service
5. MP3 stream playback (Web radio)
6. CLI for ESP control, FPGA and external DSP register access
There are few mistakes in the first revision of this module, but second is on the way.
For future versions I may switch to XMOS USB interface because it is cheaper, 3 ICs can be replaced with one MCU and USB audio can be extended to 8 in/out channels. I did such experiments and it's indeed possible, but for second revision I'd like to keep Amanero MCU& firmware since I still have it in stock
I personally used the Amanero modules for my audio devices and never had any problems with drivers or it's hardware, so I bought licenses for integration in my projects a while ago. The main disadvantage was lack of possibility to communicate from PC to, for example I2C port, for sending configuration to audio DSP. There was only I2S audio stream. So my first idea was just to have USB hub on board to connect VCP IC.
But when esp-adf was released I was thinking about some universal audio data transport module with wireless interfaces also. Initial idea with VCP IC and USB hub fits very well with ESP32 module configuration, so this architecture was born: Unfortunatuly ESP32 does not support any HQ codecs, so I had to add another module for AptX bluetooth audio.
The hardware is a bit overkill, there is no need to have 8K FPGA. But it is very nice for experiments, there is plenty room for some DSP fun!
And here is the photo of actual hardware: And "in the field" in my Merus Audio amplifier board: Regarding firmware - there is still huge amount of work for both ESP32 and the FPGA.
Currently implemented features are:
1. USB Audio interface (of course)
2. BT Audio input
3. Web interface (based on REST server example from ESP-IDF)
4. mDNS service
5. MP3 stream playback (Web radio)
6. CLI for ESP control, FPGA and external DSP register access
There are few mistakes in the first revision of this module, but second is on the way.
For future versions I may switch to XMOS USB interface because it is cheaper, 3 ICs can be replaced with one MCU and USB audio can be extended to 8 in/out channels. I did such experiments and it's indeed possible, but for second revision I'd like to keep Amanero MCU& firmware since I still have it in stock