Last night I was debuggung some code in PICED. I have a procedure that sends a string to a modem, then reads back the echo. i.e. a WriteSerial followed by a ReadSerial. The problem was that the ReadSerial never got the echo. I finally got it working only by seperating the "SendData" to the "ReadEcho" parts, and calling them from a module so I could insert a delay in between of them. Does the ReadSerial() only pick up new data once a new 'logic loop' has been run? (so only after a delay(), waituntil(), etc). The documentation indicates that my initial function should have worked. I'll try some other experiments tonight to make sure code from other modules wasn't interfering and causing the problem.