питание внешнее.
пробовал и 5В 2A и 12В 2А.
преобразователь на MIC29302 c выходом 4,1В
почему-то побайтные операции write() шилд не принимает по виртуальному порту ,
а вот если сформировать аt-команду в строку
com=Serial.readStringUntil('/n') и отправить SIM900.println(com)
то шилд отвечает как положено.
такое вот одно из решений проблемы, если необходимо оставить аппаратный порт ардуино для отладки.