I am trying to use a Siemens TC35 GSM module with my Arduino Duemilanove.
The manual says:
The data interface is implemented as a serial asynchronous transmitter and receiver
conforming to ITU-T RS-232 Interchange Circuits DCE. It operates at CMOS level (2.65V).
All RS-232 signals on the ZIF connector are low active.
The GSM engine is designed for use as a DCE. Based on the conventions for DCE-DTE
connections it communicates with the customer application (DTE) using the following
signals:
• Port TxD @ application sends data to /TxD0 of the GSM engine
• Port RxD @ application receives data from /RXD0 of the GSM
The data interface is configured for 8 data bits, no parity and 1 stop bit, and can be operated
at bitrates from 300bps to 115kbps. Autobauding supports bit rates from 4.8kbps to 115kbps
(except for 14.4kbps and 28.8kbps). Hardware handshake using the RTS0 / CTS0 signals
and XON/XOFF software flow control are supported.
In addition, the modem control signals DTR0*)
, DSR0, DCD0 and RING0 are available. The
modem control signal RING0 (Ring Indication) can be used to indicate, to the cellular device
application, that a call or Unsolicited Result Code (URC) is received. There are different
modes of operation, which can be set with AT commands.
*)
The DTR0 signal will only be polled once per second from the internal firmware of
TC35/TC37.
How can I use this device with Arduino? I am not sure what kind of interface chips/curcuits I need...
As I wrote at the top of my post, I am using a Duemilanove.
I don't want to use a Mega since firstly I don't have one here and secondly there is not enough space for it, all the other hardware has already been mounted.
I don't need a library either, because I am perfectly fine talking to the modem using AT commands. I tested everything using a RS-232 connection to my computer (I bought a development board where the TC35 is connected to a MAX232).
However I am not sure how to connect the TX0/RX0 pins of the TC35 to the TX/RX pins on my Arduino. I am confused because the documentation says something about "RS-232 signals", so I don't know if I need to invert the signal somehow, plus it says the voltage level is 2.65v, and as far as I know, Arduino's serial interface uses 5v. Maybe 2.65v signals work on Arduino's RX pin too, but I am afraid that pushing 5v signals into the TC35's RX0 pin might damage it. I already tried using a voltage divider like this: Arduino TX ---- 10k resistor ---- TC35 RX0 ---- 10k resistor ---- GND, so the TC35 should get ~2.5v, but it didn't work. It looks like the Arduino can't even receive data (maybe 2.65v are really too low)...