Allwinner A6 and Arduno Uno, interface logic voltage

I have a sim900 A6 plate like this

The seller says “interface logic voltage” = 3.3V
I will feed it separately with a 5V 2A charger
I wish to connect it to an Arduino Uno (5V).
I have various doubts:

  • Is this board 5V tolerant?
  • has two serial port:
    • TTL serial port (U_TXD U_RXD)
    • RS232 port ( R232_RX R232_TX)
      Arduino connects to the first one?
      What is R232 used for?

Thanks for your help

P.S. I do not know exactly how I should mention this module: is “sim900 A6” correct? Or should I say “sim900A”?

Its Allwinner A6 module. The IO level as specified in the specs is 3.3V. You should use 3.3V IO only or use a level translator.
Since the board has RS232 interface, You can also use another MAX232 chip to convert,
5V TTL levels of Arduino to -> RS232 levels using MAX232 to -> RS232_RX and RS232_RX lines

I will use two resistors.

My wiring for voltage level shifting:
Arduino_tx (5V) - 1K - Sim9000_rx (3.3V) - 2K - GND

I think the other line
SIM900_tx (3.3V) - Arduino_rx

no need to change voltage, because 3.3V is logic 1 for Arduino

It is right?

You cant use resistors to convert voltage levels. Use level translators like TXS0104 or converter boards like this,

Thank you for answering.

I would like to understand why I can not use resistors. The baud rate between the A6 and Arduino is 9600. I have put 1K + 2K, and it gives me just 3.3V
Can you give me a brief explanation? I will thank you.

Because the resistors will drop current and the current you get out, might not be enough to excite the drivers of the UART inputs. By adding resistors you will be changing the input impedance of the UART lines which might affect the normal behavior.

Thank you. I’m not an expert on the subject.

1 Like