-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the SonicWear Developer wiki! Here you can find details for programming the SoMo V5 boards.
SoMo consists of three parts:
- The wearable SoMo sensor board and wireless Transmitter with battery, and
- The USB Receiver that plugs into your computer.
- The software that generates the sound.
Plug the USB Receiver into any free USB port on your computer. This will create a virtual Serial port that is used to receive the sensor data.
To charge the SoMo battery, use a USB A to Micro-B cable (the same used for most smartphones) into the Micro-B jack on the SoMo board with the battery connected. The red LED will light while the battery charges, and will turn off when the battery is fully charged.
SoMo can be turned on and off using the slider switch at the top of the board.
To turn it on, move the switch towards the battery connector (labelled "On").
To turn it off, move the switch away from the battery connector.
Note that the board will always be on when charging, regardless of the switch position. The green LED will light up when the SoMo is on and the program is running.
SoMo is compatible with the Arduino Leonardo. To program and upload code, the free Arduino IDE may be used. The latest version (1.6.5 or higher) is recommended.
Sample Arduino sketches to get you started are provided in the Code repository located at https://github.com/SonicWear/Code . These can be loaded as-is or modified and uploaded into SoMo using the Arduino IDE.
For more advanced development, refer to the Advanced Development page.
SoMo is compatible with the SensorBox interface protocol from Cycling '74, developers of MaxMSP.
Note that an extra byte has been added to the beginning of the data packet to specify the Unit ID (Dancer #) when multiple SoMos are being used.
This requires the SoMo SensorBox patch to be running on the SoMo itself.
To make SoMo appear as a MIDI device in MacOS X, the following free tool can be used. Note that this is not required if you are using the SensorBox interface described above.
- Hairless MIDI to Serial Bridge http://projectgus.github.io/hairless-midiserial/ may be used to receive and parse the incoming MIDI data.
Note Set Hairless MIDI to receive on the virtual .usbserial port (not the Arduino Leonardo port) at 57600 baud (default). Then set the output to your app's MIDI input port.
The SoMo MIDI sketch can be run on the SoMo itself to get the sensor data as MIDI CCs.
To make SoMo appear as a MIDI device in Windows, two free tools can be used. Note that both are required:
- loopMIDI (http://www.tobias-erichsen.de/software/loopmidi.html) may be used to create virtual MIDI devices to bridge between applications. Create a virtual MIDI device called i.e. SoMo.
- Hairless MIDI to Serial Bridge http://projectgus.github.io/hairless-midiserial/ may be used to receive and parse the incoming MIDI data.
Note Set Hairless MIDI to receive on the virtual COM port (not the Arduino Leonardo port) at 57600 baud (default). Then set the output to the virtual MIDI port created in loopMIDI.
The SoMo MIDI sketch can be run on the SoMo itself to get the sensor data as MIDI CCs.
Check out the SoMo Tech Support&Development Forums at http://sonicwear.ca/forums/