Siento que el problema que estás experimentando es que no estás seguro por dónde empezar y que necesitas ayuda para realizar la investigación necesaria para que puedas aprender estos protocolos que has enumerado.
Para mí, parece que hay tres pasos para comprender bien un protocolo relativamente simple (simple en relación con los protocolos como Bluetooth) e implementarlo en las MCU. Voy a ser genérico aquí, pero trataré de indicarte lo mejor que pueda para que puedas comenzar tu propia investigación.
1: Aprende el protocolo
Lee sobre el protocolo en un nivel inferior; qué señales están involucradas, la lógica, los requisitos de tiempo, cómo se transfieren los datos, etc. Por ejemplo, esto parece ser un gran artículo sobre cómo aprender cómo funciona UART en un nivel bajo:
Tutorial de UART de Cytron .
Encuentre artículos como este para todos los protocolos y entienda realmente lo que sucede en los pines de una MCU.
2: Investigue las hojas de datos en MCU
Encuentre una MCU que admita este protocolo y lea la hoja de datos. Digikey es una gran herramienta para encontrar MCU y las hojas de datos asociadas con ellos. Por ejemplo (yo mismo soy una persona AVR), elegiré el siempre omnipresente ATmega328p. Buscando esto en Digikey se obtienen los diferentes paquetes para este chip. Elegiré DIP ( DIP ATmega328p ).
Aquí puede abrir la hoja de datos de la MCU. En la sección 20, la hoja de datos describe su USART HW (puede configurarlo para que se comporte de forma asíncrona y se convierta en un simple UART). Aquí es donde tendrá que tomarse su tiempo e investigar cómo configurar los distintos registros para configurar el UART y cómo interactuar con el HW en general.
Mire el diseño HW del protocolo en sí:
Las piezas de HW en negrita, por ejemplo, UBRRn, UDRn, UCSRnA, UCSRnB y UCSRnC son registros con los que se conecta para usar USART HW. Por ejemplo, puede usar el registro UCSRnC para controlar si USART funciona de forma síncrona o asíncrona.
3: implementarlo realmente
¡Tome el MCU que elija, construya un circuito de suministro de energía y utilícelo! O, mucho más convenientemente, interfaz con los registros con Arduino; Arduino en realidad usa el ATmega328p por cierto. Usar Arduino fuera de la caja con sus funciones de alto nivel no te enseñará el protocolo involucrado. Pero en realidad jugando con los registros en el nivel inferior, comenzarás a entender los matices y las complejidades involucradas.
Sí, es mucho trabajo, pero es gratificante; También te enseña habilidades invaluables en el camino que son útiles en EE.
TL; DR: Lee mucho
La mejor de las suertes.