Arduino Serial Board error: C8 backward?

Is C8 backward in both the two-sided and one-sided serial eagle schematics?
This is the cap that steals “mark” voltage for the rs232 transmitter from the
Rx line, and it switches to +5V, so the idle state is going to be -Vrs232
compared to GND, right?

Don't think so, it matches the diode that's attached to the + lead. I've built three or four of these in the past few weeks.

Remember rs232 voltages are inverted - mark/1 is ~-12V, space/0 is +12V.


The way I read it, C8 charges to -Vrs232 through the diode from RxD (or it discharges to that voltage.) Then it either pulls down TxD through R1 in the idle state, or RxD gets switched to +5 by T2 when the AVR says so. But the voltage at the C8/D2/R1 junction is always BELOW GND… I imagine the currents involved may allow it to work OK even installed backward… (got a voltmeter handy?)

I took a voltmeter to the single-sided-serial arduino board I've been working one, and measure the voltage across the points where C8 belongs. The side connected to GND is indeed positive compared to the other side, so the cap in the published schematics IS backwards from the way it should be...

I read somewhere that the backward C8 is what generates the negative voltage for the RS-232 signal.

It would be helpful if the original designer stands up and gives us a hint...

You're right.

C8 is backward, but not causing problems because is low current. But this reduces component's life.

In a first moment, the tension on serial pin3 becomes negative (almost -11v.) [logic 1 - from computer]. The node between D2 and C8 becomes negative, charging the capacitor with 0v. on GND side and negative on plus side (on original schematics). Charged, the cap supplies negative tension to serial pin2 [logic 1 - to the computer], because this pin is signal out. When M8TXD receives a 5v. [logic 1], T2 remains cut and serial pin2 is negative [logic 1 too] When M8TXD is 0v. [logic 0], T2 saturates, changing serial pin2 to positive [logic 0 too].

Observe that this is only possible with pulse signals, because C8 stored negative tension just to pulse, not ilimited energy. It is always getting charged when serial pin3 gets negative. If serial pin3 is positive, the D2 diode cuts current, and don't let cap discharge.

Just for curiosity, I tested my serial Arduino with Pure Data, and when at least 2 digital pins are set to input, and you put a finger on pins, Arduino starts sending too many information throw TXD, and the cap gets fully discharged, and serial pin2 has a pulse only with more than 0v., then PD and Arduino stops communication and becomes freezed. Taking off finger or disabling pins from input state restarts communications, and everything works again.

But this problem doesn't occur on correct use of Arduino, when you use digital signals on digital pins. Data transfered throw TXD is a pulse that can't discharge C8, even on high traffic on TXD.

So, you're right, and we can use the cap on correct position (plus to GND) in our projects.

You can get some reference here, but all this is explanation is just simple electronic theory, not complicated.


note that C8 works diferently in diferent situations. At the above condition, C8 backwards is true, with Arduino connected to a serial port.

When disconnected from serial, can work in normal position (plus to D2, minus to GND). When disconnected and digital pin 1 (M8TXD) level is not used, pin gets Vcc (+5v.), and C8 is 0v. on both sides. But when disconnected and digital pin 1 (M8TXD) is used and with 0v., a unused circuit starts working: +5v./T2/R1/D2/R8/T1/GND and so C8 gets +1,4v. on D2 node (cap plus side)!!!

So, the correct component for this use must be a BIPOLAR CAPACITOR. But if you want to keep the same C8, its is better to connect plus to GND, because this will bring only 1,4v. inversion. The original design has less than -11v., that is a worth tension value for a inverted cap.

Interesting observations! I had never thought about what would happen when the serial port wasn't connected.