Hi All, I have made a usd midi controller using a Leonardo. Is there any way I can make it wireless or Bluetooth.
Many Thanks
Hi All, I have made a usd midi controller using a Leonardo. Is there any way I can make it wireless or Bluetooth.
Many Thanks
Can you tell us how many bits per second you need to support?
I'm not sure, how would I know?
Thanks
You have it running in your Leonardo. Add to your code to count the number of bytes being processed in one second.
Sorry but I don't understand, could you please explain?
Thank you
What does your midi controller do? Does it write any bytes as output? If not, what is it's purpose? If it does output byes of data, COUNT THEM for one second. DO that for some time and pick the greatest number as the bytes per second your need to send wireless.
but how do I count the bytes?
If you can't do that, how will you ever make your project go wireless?
That's the point asking. Don't worry hopefully someone less rude will be willing to be helpful.
Thank you
The simplest way is to replace the Leonardo with an AdaFruit nRF52832 Feather, it will do both jobs of acting like a MIDI device over Bluetooth.
If you stick to the the Leonardo you will only have to add a Bluetooth chip which will cost you the same as a Feather.
It also has a build in a battery charging circuit.
Thank you for your reply.
So windows will recognize it as HID device same as the Leonardo?
Will it program the same as a Leonardo ?
I will need to check to see if the code will be compatible with this device, and if it as enough gpio pins.
If I stick with the Leonardo, what Bluetooth chip would I need?
Thank you.
I don't know, I have a Mac and the device I made was just a Bluetooth output not HID.
Odd question, I don't quite understand it fully.
You program it through the IDE just like the Leonardo.
If it hasn't then you simply use a port expander.
something like a Bluetooth Friend.
The Leonardo is recognized by windows and mac as a usb device due the ATmega32u4 chip.
Do things work differently when making a device Bluetooth? I.e. the device has to be a HID compliant to work as I want in windows, as my current Leonardo controller is. I take it, if I have a Bluetooth capable board (AdaFruit nRF52832 Feather) it would still need to be HID Compliant to work as a midi controller. I hope that makes sense?
What device did you build?
Many Thanks
A Hawaiian guitar, using a TOF distance sensor and an I2C display.
The device I made did not have a direct USB connection, but then I didn't attempt to do this. Why do you want USB when you have a Bluetooth connection?
Sorry I meant HID
MIDI over USB uses the Audio device class. It does not use HID, which is an entirely different class. MIDI over USB uses Bulk transfers, HID uses Interrupt transfers. If you have a chip with decent USB hardware, implementing MIDI over USB should not be an issue, but you should probably check whether there are libraries that support it before ordering a specific microcontroller.
It should be noted that even though the Arduino Nano 33 BLE supports both BLE and USB, it might not be the best choice, since the USB implementation is quite unreliable. I've opened an issue about it, but it still hasn't been fixed, and despite other people reacting and trying to debug themselves, the Arduino team have been silently ignoring it for almost two years
MIDI over BLE is completely different from MIDI over USB, it uses the Bluetooth LE stack and the GATT API for discovery of services. Although some protocols support both USB and Bluetooth transports, that does not mean that the descriptors and the data format are the same across transports.
I've implemented a MIDI over BLE library for the ESP32, and it was quite a challenge, BLE is far more complex than USB, because you need to consider things like advertising, pairing, encryption, persistent CCC descriptors ...
Most higher-level Arduino BLE libraries just expose the characteristic values, which does not really match the way MIDI over BLE works. You can still do it, but usually with lower performance or with the risk of data races if not implemented carefully.
Last time I checked, Windows 10 did not support MIDI over BLE out of the box, I needed a third-party connector application.
On Linux, you need a recent version of BlueZ that was configured with the --enable-midi
flag. I suspect that on most modern distributions, this just works out of the box these days.
Most of Apple's devices have fairly good MIDI over BLE support.
Hi Pieter, thanks for that clarification.
It looks like it would be more trouble than it’s worth at the present.
Thanks
Thanks Grumpy Mike for you input.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.