Electronic – Arduino + MAX232 + Pharos GPS360

atmegagpsrs232

I'm working on getting an ATMega168 to talk to my GPS that I ripped out of the casing from Microsoft Streets and Trips. I know it talks RS232 @ 5v (according to this post) and I just need to listen on pin 3 and apply 5v to pin 5 and ground to pin 2. I'm having a hard time finding good info on how to use the MAX232 and I just followed a diagram from somewhere but I omitted all capacitors as I need to get some. I'm using the FTDI from an Arduino to forward any TTL to my computer and I get a special "y" symbol coming in when I unplug the data out from the GPS and I get the initial "Hello World" serial message I have in there, so I think the MCU side is all good. Do I really need these caps that I ommitted on the MAX232 chip? Why? Is there some other issue? How do I troubleshoot? I've got no scope.

Here's my pinout for the MAX232:

2 -> +5v
6 -> GND
8 -> GPS RX (pin 3)
9 -> MCU Digital in (software UART)
15 -> GND
16 -> +5v

Best Answer

The MAX232 is a charge pump. It fills a cap with charge, then moves it to the other side of the supply rail. For example, if you charge a cap on the 5V rail, then disconnect it and connect the low side of the cap to +5V, the high side will now be at +10V.

In short, the capacitors are how the MAX232 makes its high voltages from the lower supply voltage. It will not function without caps.