back on this project again !!!

A project log for wireless microphone digital

developing a digital wireless radio mic in both 2.4ghz and UHF

ben bilesben biles 04/04/2020 at 11:530 Comments

this project has had a lot of neglect so I just bought 2 x Lyrat 4.3 boards

and 2  x  RFM96 ( SX1276 modules )  radio modules.

The lyrat 4.3 boards come with an audio codec on board and the ESP32's / audio hardware works with the ESP-IDF and ESP-ADF audio IDE

here is the start

as you can see in these pictures the SD cards have been removed along with some 10k pullups and diodes since there are not enough GPIO pins lefton the boards left for SPI. a lot of esp32 pins are used already for the codec push buttons and Jtag debugger pins. I ordered a cheap JTAG debugger for the board so I'm keeping them in case I can use the debugger. would be helpful. I won't need the SD card slots.

The Lyrat 4.3 boards were cheap and there's BT 4.0 and wifi on there that I thought might come in useful. 

The code is still a mess as i'm porting from arduino C++ based code !

I'm a complete novice when it comes to C++

I just learned for instance you can supply less than the defined number of params to a function or have more than one prototype of a function ! 

amazing , but I think I'm better off converting the library to C for esp32 as there are downsides in compiling C++ with ESP-IDF and the ESP-ADF IDE environment for the time being. It might have been more work than starting from scratch from the datasheet but at least I might learn something about C++ on the way :)

inspired by..

I will use a better compression than CODEC_G711A if I get the audio link working.

for now I will be concentrating on getting the radio lib working.

I'll have to re-write the radio transmit receive functions for ESP32 ( burst mode needs CS line held low ) and now i'm looking at how to define the hardware interrupt pins in esp32. should be doable ! 

I think I can get away with just tieing the radio reset hardware pin high. ( another possible sparse GPIO pin saved ! ) 

The ESP32 has SPI DMA with ESP-IDF and I2S DMA from the codec in the ESP-ADF.  I think i will have much more luck with ESP32 than the last arduino attempt since I could't really figure out how to assign DMA to the I2S transfer.

Any ideas / help with the code would be much appreciated. especially if anyone is more familiar with esp32 ? 

the RFM96 ( SX1276 modules ) are more known for loraWan but they have high sensitivity in FSK OOK mode and should be capable of 200kbsp at fairly respectable power output.