Hi, I thought I would poke my head in as I too am trying to get this working with OSX. I *believe* I am making progress by simplifying and stripping down the port selection to a hard coded port name. For me this is "/dev/cu.usbmodem1411" which is found from the arduino IDE. Doing this allows all the registry check to be stripped out and the port name set. Unfortunately this crude change hasn't completely worked and I have become a bit stuck. The log now reports: [Log]: Error opening serial port /dev/cu.usbmodem1411: kernel32 The stack trace is perhaps more interesting: [Log]: Stack Trace: at (wrapper managed-to-native) OpenNETCF.IO.Serial.Port:LocalAlloc (int,int) at OpenNETCF.IO.Serial.Port.Open () [0x00000] in <filename unknown>:0 at OpenNETCF.IO.Ports.Streams.WinStream..ctor (Int32 baudRate, Int32 dataBits, Boolean discardNull, Boolean dtrEnable, Handshake handshake, Parity parity, Byte parityReplace, System.String portName, Int32 readBufferSize, Int32 readTimeout, Int32 receivedBytesThreshold, Boolean rtsEnable, StopBits stopBits, Int32 writeBufferSize, Int32 writeTimeout) [0x00000] in <filename unknown>:0 at OpenNETCF.IO.Ports.SerialPort.Open () [0x00000] in <filename unknown>:0 at KSPSerialIO.KSPSerialPort.Awake () [0x00000] in <filename unknown>:0 This suggests that there is still some windows stuffs going on here in WinStream. It seems looking at the code that LocalAlloc is not good. This apparently should be changed to "calloc". I've located the source to OpenNETCF.IO.Ports and I'm thinking of trying to make the changes necessary to fix this. Does this seem to others to be sensible? I've not messed around with code like this before.