I have a copy of MikroBasic, but find it frustrating that it does not have equivalents to SerIn2 command with time-outs if there is no data. So for any serial you need to write an interrupt routine otherwise the serial receive is a blocking command...

But on the other hand it does support GLCD, Ethernet parts and CF or SD Cards out of the box.

bill