USB and C# in .NET Micro Framework (NETMF)
The .NET Micro Framework implements a USB device (also known as USB client) that enables your device to act as a USB device, like a mouse, keyboard, or printer. For example, a .NET Micro Framework device can function as a mouse, and after connecting to a PC can provide mouse coordinates.
Does .NET Micro Framework supports the USB host?
The USB host feature that allows you to connect other USB devices to your .NET Micro Framework device is not supported. However, .NET Micro Framework devices from GHI Electronics (www.ghielectronics.com) are all capable of USB host through a proprietary implemented USB host stack.
The GHI Embedded Master SDK includes a mouse sample, along with other samples, that shows how to make your device available as a virtual COM port when connected to a PC.
An extensive article that shows how to use a USB device feature with the .NET Micro Framework be found at www.guruce.com/blogpost/communicating-with-your-microframework-application-over-usb. It also covers how to write custom drivers for your USB devices.