Arduino is excellent. I have worked with the Bluetooth one and the Arduino Nano, and they are really easy to use and program. The programming language is similar to C and is really simple (see the entire language reference at this page:
http://arduino.cc/en/Reference/Extended ). As part of an university project I made a rover that moved around autonomously, sensing its surroundings, and sent the data to the computer through bluetooth, where a map of the place was created in real time using MatLab. The module controlled servos, and took measurements from different sensors.
it's not similar to C, it IS C
I've worked with these before, they're just awesome!
By default, all comms with the computer are done through a serial interface, but there is a separate Ethernet Shield you can buy that adds networking abilities to it (and all the libraries needed too).
Plus, it's very well documented, and has a very active and friendly community doing all sorts of crazy things with it.
The simplest interface method is to talk to a program through serial... I have done this using a small app in Processing, that read the serial stream from the board, and sent out OSC messages to other apps like GlovePIE...
Another way I did it, which requires less programming on the computer side, but is more limited, is to install PPJoy, which is a virtual joystick driver that has a serial joystick monitor, and send out a serial feed to this. This method is limited to 8 axes and 8 buttons, if I'm not mistaken...
But the holy grail of communications with the arduino is to use the Ethernet Shield to send OSC messages directly from the Arduino, and read them in GlovePIE, which can then perform macros, update virtual joysticks, and even send OSC messages back to the board, so it can also provide feedback in the form of LEDs and stuff.
I would strongly suggest this latter method... you do need the Ethernet Shield, and IDK if there is an OSC library already available for it... but it should provide the a very flexible and easy to use interface, that isn't even limited to a single computer
(OSC is an UDP protocol, so you can send out messages and have different computers listening for those they can use, and ignore those that are not meant for them).
I'd love to see this implemented!! I might very well get to it myself
Cheers