How to interface Visual Basic 6.0 to Arduino Microcontroller?

I Tried every .net compatible library out there and found major issues with them all. I ended hacking at firmata .net (http://www.imagitronics.org/download/arduino.cs, replacing all of the code with serial port processing, and fixing a few bugs with the main processing loop. I may follow up with the author and see if he wants to accept my changes and if so I will post the updated version back here.

mxm2:
For those who have problems with Firmata's sysex and want to acess sysex comands easily:

Try http://connect.mind-craft.net/arduino-firmata-vb-class - change "storedInputData" variable to public and use it, e.g.:

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

arduino1.StartSysex()
       arduino1.mycommand1(20, 1)
       arduino1.EndSysex()
       Thread.Sleep(100) 'Delay less than a second
       arduino1.processInput()
       TextBox1.Text = arduino1.storedInputData(1)
End Sub




use https://github.com/jgautier/arduino-1/blob/master/examples/EchoString/EchoString.ino
and read http://firmata.org/wiki/Protocol to add your own sysex command to Arduino.vb.