Невозможно проверить это, но, возможно, вы пытаетесь прочитать, прежде чем появятся какие-либо данные, таким образом, вы не получите ответ.
Чтобы проверить это, вы можете попробовать и опросить, пока не будет данных
value = None
while not value:
value = sp.readline()
print value
Редактировать
Arduino будет сброшен при открытии последовательного соединения, любые данные, записанные во время загрузки, скорее всего, попадут на небеса. Вы можете использовать сон в течение 2 секунд (не можете найти точное время, которое требуется, скорее всего, все равно будет меняться), прежде чем выполнять какие-либо операции чтения / записи.
В качестве альтернативы вы можете писать в нее, пока не получите ответ, после того, как вы получите ответ, вы начнете выполнять «настоящую работу».