The CmdMessenger messaging library has both an Arduino and .NET+Mono compatible C# implementation

The library implements

  1. Commands that can be sent or received.
  2. Multiple arguments can be appended to commands.
  3. Callback functions can be triggered on received commands.
  4. All basic data-types (char arrays, floats, ints, bytes), both for sending and receiving.
  5. Optional waiting for a acknowlegde commands.
  6. Escaping data. The special characters that would be interpreted to be field separators or command separators, can be escaped and used in arguments.
  7. Sending and receiving both plain text and binary data.

You can find the CmdMessenger Playground page here:

C# with Arduino on Facebook

C# with Arduino on Facebook

.Net2.0 gives you the easy to use System.IO.Ports so a programm that writes everything you type to the arduino is quickly written :

 using System;
 using System.IO.Ports;

 namespace test
    class Program

        static void Main(string[] args)
            SerialPort port = new SerialPort("COM4", 9600);
            while (true)
                String s=Console.ReadLine();
                if (s.Equals("exit"))



Detect Arduino com port and use Serial Comms

C# with Arduino Duemilanove + Led On/Off/Pwm Control

C# + Arduino Duemilanove + RGB Led Control

Tutorial: sending instructions to Arduino using C# (portuguese with translation options) (source code available)

SerialTalk: send and receive data from Arduino (portuguese with translation options) (source code available)

ArduinoLibrary: C# library Source code (in progress). Can be used to send messages to arduino pins directly from a PC, or compile and upload code

C# application for controlling the brightness of the LED (Dimmer example)

C# application to print user input strings on the 8x8 LED Matrix Youtube video: Video

Some Arduino and Visual Studio C#.Net Projects