Yo usaría una compuerta CMOS conectada a los 3.3v mcu y un transistor conectado a los 5v mcu. Usted conecta las entradas y salidas de los 3.3v mcu a las puertas cmos. Luego, conduzca estas puertas con un transistor que tenga el colector conectado a 3.3v y una resistencia de 10k en el cable del emisor. La unión del emisor y la resistencia están conectadas a la entrada de la puerta cmos. La salida de la puerta cmos está conectada a la entrada de los 3.3v mcu. Conecta la base a la salida de 5v mcu.
Usted conduce el 5v mcu conectando el colector a 5v y aún pone la resistencia en el cable del emisor. Se conecta desde la unión de la resistencia del emisor a la entrada del 5v mcu y la base se conecta a la salida de la puerta cmos. La entrada de la puerta cmos se conecta a la salida de los 3.3v mcu.
Esto es mucho más difícil de describir que lo que es conectar. Esta configuración manejará varios 10s de MHz sin ningún problema.
Yo usaría 2n4401 transistores. El consumo de corriente está en el rango bajo de ma para cada pin. Para 8 entradas y 8 salidas, necesitarías 16 transistores y tres inmersiones de cmos que son buffers hexadecimales. Esta configuración es lógica positiva. Al conectarse a la unión de la resistencia del emisor con la resistencia conectada a tierra, la resistencia se tira completamente a 0 voltios si los transistores son buenos. La señal de salida alta es 5 o 3.3v menos unos 0.6 voltios. Estos valores están en la especificación para una lógica baja y una lógica alta. Los buffers le dan otro grado de aislamiento si algo saliera mal.