I am researching the schematic of the arduino GSM shield. Link is this: https://www.sparkfun.com/datasheets/DevTools/Arduino/cellular%20shield-v12.pdf

What i do not understand is the upper right part, wich says ARDUINO_SHIELDNOHOLES.

What i want to do is understand which pins are used for Rx and which for Tx.

But there are four usable pins on the arduino side and six(?) pins on the other side which says jumper, where are six pins on seeminly two jumpers...

Can anyone understand what is going on here?


"ARDUINO_SHIELDNOHOLES" is a connector in the SparkFun EAGLE libraries which is basically, well, an Arduino shield. It provides the schematic symbol as well as the PCB landing pattern for such.

The pins on the top right of the schematic are two sets of 3, which should have jumpers connecting either 1 and 2, or 2 and 3. To use hardware serial to connect the Arduino to the SM5100B you connect 2 and 3 of the "top" one and 1 and 2 of the bottom one. This connects D0 (RX) and D1 (TX) of the Arduino to TXD0 and RXD0 of the SM5100B. If you want to use software serial instead, connect the other pairs. D2 will then be connected to TXD0 (and will become the software RX), and D3 will be connected to RXD0 (and will become the software TX).

As for "TXD0" and "RXD0" themselves, those are net names, and all wires with the same net name, such as those and the ones connected to pins 19 and 20 of the SM5100B, are considered to be the same wire even if they aren't connected in the schematic.


A lot of good shields will give you the option to use hardware or software serial, and that is what's happening here.

While you think you see four pins on the arduino side and six on the jumper side, what you're actually seeing is (yes) the four pins on the arduino, but those four pins go to four pins on the jumpers.

The other two pins on the jumpers (the ones in the middle) go to the TX and RX of the shield. The shield itself only has one TX (TXD0 pin 2 on JP4) and one RX (RXD0 pin 2 on JP6). So the jumpers form the connection between your arduino and the shield. This is why they are the middle pins, because you put the jumper on the first two, or the last two, depending on what it is you want to achieve.

You will note the net names of pin 2 of JP4 and JP6 relate directly to (and are connected to) pin 19 and 20 respectively of the chip on the shield.

The whole benefit of the jumpers is you connect JP4 and JP6 pins 1 and 2 to which closes the circuit and uses the inbuilt hardware serial (pin 1 of the jumper being arduino hardware and pin 2 being the TXD0 source from the shield). Connecting pins 2 and 3 means you close the circuit between the shields TX and RX to the arduino GPIO pins D2 and D3 which you can assign when initialising your software serial.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.