For some purpose we need to communicate with Arduino using more that one SIM card, but still like to use an only GSM shield.

So, the idea is to use several SIM holders, to commutate each of six SIM wires to the sim we currently use. But it is still the question

1) How we should handle the gsm module itself? Is it okay for it if the SIM wire will be commutated to another SIM when it is in the middle of something? May be we should power off the module before, but it unclear how to do it programmatically when it is installed on the top of Arduina Mega 2560

2) should we commutate all six wires, or may be there are few signal ones and another shouldn't be never commutated?

3) what is the best way to do this commutation? Relays/transistor switches and so on?

  • Hi Ilya, have you finally implemented it? Could you please share the solution? Thanks
    – LA_
    May 24, 2020 at 13:09
  • Hi, unfortunately no> I haven't implemented it :( May 25, 2020 at 7:58

1 Answer 1


You should reset the shield, and keep reset, while switch sims. The reset is on pin 7.

If you look at the schematic, you can see there are only 3 lines, plus a GND and VDD. The GND and VDD you can probably share between the different sims. The SIM_RST, SIM_SCK and SIM_DATA need to be switched.

I think you should use a MUX for that, but that is not my area of expertise. Note that at least the DATA line is bi-directional.


This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .