Using serialosc backbone in Arduino projects? (OSC over USB)

I don’t know if this is an overly naive question as I’ve never looked at the serialosc code, but I’ve got an upcoming DIY project (basically a static LED-based ‘display’ that would take prompt messages) that would benefit from using OSC messaging instead of a lookup table-y USB-MIDI implementation.

Or hell, all of my DIY controller things would be better off as bidirectional OSC.

Is it possible to connect to the serialosc client with DIY arduino/teensy firmware? (without a big pile of hassle)
Or is there something similar that lets you send OSC over a wired USB connection?

This is a thing that exists, but I do not know if it is better/worse for your purposes than serialosc.

Hmm, I’ve seen that before, but I thought it only handled the OSC messaging on the Arduino-side of things, while still relying on OSC-over-ethernet (or wiireless) as the connection type.

I am not knowledgeable about this but during my googling I saw mention of OSC over USB via something called SLIP which I gather this library uses. It’s just the scent of information rather than actual information, sorry about that.

Hey @wrl or @tehn, what say you? Can serialosc be used without a monome device?

If you plan on using Max, there is Maxuino. It’s an OSC-based library for Arduino-Max communication

1 Like

yes, certainly… depending on your threshold for “hassle.” :wink:

i’d think it would be sufficient to implement the monome serial protocol and apply it to the stream from an arduino Serial object or whatever. on the host side, i think serialosc should work fine with any TTY device that obeys the protocol.

the “canonical” implementation would be of course in the grid firmware. it’s not exactly easy to read / port, but it is straightforward.

a nice clean c++ implementation would be great to have, and several times i’ve found myself just not quite motivated or available enough to make one…

if you just want to use OSC messaging format on some arbitrary transport layer, i would use the oscpack library which has minimal dependencies and can be easily added to an arduino project.

maybe the main point to make here is that monome devices are just TTY serial devices, just like the serial port on an arduino. data is pushed and pulled in the normal way - on *nix’s, by polling and writing to a regular ol’ file descriptor.


Thanks for the various responses.

Hassle is definitely a subjective measure!

I might look at some of the existing libraries and see how that sits vs what I want to do. I’ve just been weary of using the actual serial object in Max after running into many headaches (quite a while ago to be fair), where I would have system crashes harder than I had had with anything else (presumably due to serial buffer overrunning).