Go Down

Topic: Arduino with MAX232 not transferring data properly (Read 12001 times) previous topic - next topic


Look at this post. It work for me.



I'm not sure if you've covered this, but you need to ground pin 5 of the DB9 connector. You also need to ground one end (and only one end) of the cable shield.

Most MAX232's charge pumps will run at 3.3 volts, but you'll only get about +/-6v.


Yes. GND pin in db9 is connected to GND on arduino.


What is the charge-pump voltage? It appears on pin 2 and 6 for positive and negative respectively.

During transmit and idle?



I just did a little project where I used the Sparkfun RS232 to TTL converter. [sorry I am not allowed to post links... go to Sparkfun.com and search for "RS232 Shifter SMD"]

This only converts the Rx and Tx but it worked fine for me on my Sony Receiver and another RS232 device I have.

I am a firm believer in the KISS (Keep It Simple Stupid) principle and unless you need all the handshake signals this is the way to go..



@Jan G, I don't agree that Sparkfun RS232 Shifter SMD is the way to go.  For half the price you can get a REAL RS-232 to TTL converter done using MAX232 or MAX3232 chips.  



just saying the level converter I used worked for me.....  :)


just saying the level converter I used worked for me

And max232 like solutions should work for just about everyone. MAX232s require much less black-magic, like vampiring the negative voltage from the TX line.

But that's neither here nor there. If you have a handful of transistors, resistors, a diode, and a cap laying around, can replicate a transistor-based level shifter. Just follow Sparkfun's schematic. You can use pretty much any small signal transistors, I like 2N3904s and 2N3906s as the NPN/PNP respectively, but it shouldn't matter here. The unlabeled resistors should likely be either 10K or 1K.

The Arduino serial schematic contains a similar level converter, but it proved unreliable enough that both NKC and myself make MAX232 based 'duinos instead.

Go Up