As many others, I wondered if I can use a Myo for an Arduino project. Unfortunately, all BLE shields out there where either incompatible or did not provide the necessary firmware functions. Because we want to use the Myo in a research project for devolping helpful devices for disabled people, I started to write a custom firmware for this, together with a high-level, easy to use library for Arduino, called MyoBridge.
The concept is simple: Flash a Bluetooth module with custom firmware, connect it to the arduino with a simple two-wire serial connection and pack all complicated protocoll stuff in one library for arduino. The Bluetooth module used is the HM-11 Bluetooth Low Energy module. It uses the CC2541 BLE SoC by Texas Instruments, so this project is probably adaptable for other BLE devices with similar hardware.
Currently the library provides support for:
- Reading Firmware Info
- Reading IMU Data
- Reading EMG Data
- Receiving Classifier Updates
- Receiving IMU Motion Event Updates
- Enable/Disable all Messages
- Enable/Disable Sleeping
- Reset if necessary
- And some more, which are not yet that simple to use.
I would really appreciate feedback of any kind. If you have any Questions, feel free to ask. The Project with documentation and source code is available on GitHub:https://github.com/vroland/MyoBridgeFor any more info on how to set this up, visit the wiki: https://github.com/vroland/MyoBridge/wiki
To test this, you will at least need a HM-11 or HM-10 module with a CC2541 (probably easily compilable for CC2540, too) and a CC Debugger to flash the firmware. Maybe you can use an Arduino instead of the CC Debugger, I have heard about something like that, but I have not tested yet.
Hope this is helpful and we can help each other.
EDIT: Feature list updated. Software serial communication is now more reliable thanks to changed protocol.