I have an intention to build a large system around an Arduino Nano (328) and ESP8266-12E. The system should have the FM tuner, option to receive bluetooth audio from a phone and to send the FM audio to a BT speaker. The controls should be capacitive through glass switches, an LCD pro showing the informations, an RTC for functions like clock, alarm, timer, temperature and humidity sensor, wifi, a sound path (source/destination) selector and a switch for 120 SK6812 LEDs.
Idea is to have an option to send MQTT data to other location from the temp/hum sensors. The ESP may be a slave to Arduino for just that function, for that and some other functions, because I assume that I will not have enough memory to implement all in one Arduino. I do not know enough about ESP to understand the pro’s and con’s of Arduino slave to ESP or ESP slave to Arduino.
Until now I have a working solution of MPR121 capacitive sensor with pcb switches behind a glass panel, a few SK6812 with logic level shifter reacting to the touches. On another Arduino I have a working SI4703 tuner with PAM8403 amp.
I have found out that some of the libraries that I will need would not work on an ESP (ex. SI4703 and MPR121 libraries). I have tried to find a bluetooth module which would be able to sink or source an AD2P signal, but at the end opted for an end user device which should be able to send or receive analog audio signal through AD2P protocol (I assume that I would need about three lines to control this device, one to set the direction, source or sink and two to start/accept pairing process, but the device has not yet arrived so I do not know for sure). There will be two audio sources, remote bt and FM tuner and two destinations, PAM8403 amp and remote bt speaker, so I need a selector. I intend to use Panasonic TQ2-L2-5V latching relays, two of them back to back. That brings me to the first question, what would be wise to use to control the latching relays?
The relays use reversing polarity to set/reset so I searched for DC motor control circuits which utilizes I2C control and found DRV8830 as one of the solutions and various H-bridges as the other. There are also specialized circuits intended for use with latching relays but they may be an overkill.
The other question that I have at this moment is about the display. I would take a Nextion display if I can benefit of it, but I have never worked with graphic displays so I do not understand is it beneficial to use a Nextion vs. a graphic I2C controlled display. I intend to use a 2.8"-3.5" graphic display to show data like temperature, humidity, fm station, volume, time/date, settings menu, while the mqtt data should be not accessible by the user. How would I use a Nextion on an Arduino when the Arduino has only one UART port, should I use an FTDI adapter for another uart port, or use the display on ESP and use some other method (I2C?) to communicate between Arduino and ESP? At this stage I am completely lost and any help would be appreciated.