I was working at a project and left it working in last December.
Meanwhile I have switched to a new computer, so I have the latest version of all libraries, Arduino, DaisyDuino (which however hasn’t been updated since 2023!), stm32duino 2.9.0, VistualStudio, VisualMicro extension, etc. and now if I recompile the same project without changing a single byte in the source, and run it on the same board it was already running on, everything works except MIDI.
Being based on DaisyDuino, I’m using Arduino’s built-in MIDI library.
Anybody else experiencing the same issue? Any clue?
I tried to recover the old binary from my local repository, downloaded it back to the Daisy and I can confirm that it still works, so this exclude possible circuit or connection issues.
Then I tried to recompile it with Arduino IDE (rather than vMicro and Visual Studio) and download it directly via the STM32CubeProgrammer, and the problem still persists, so this excludes both Visual Studio and the vMicro extension.
I tried with both stm32duino version 2.9.0 and 2.8.1 and the problem still persists.
I don’t remember which version I had on the old computer… but I also had both Arduino IDE 2.x and 1.8.x… Is it possible that MIDI doesn’t work Arduino 2.0 and DaisyDuino?
Tested with several versions of the stm32duino down to 2.4.0…
Tested with two boards and two different projects, one is an effect, one is a synthesizer, in both cases everything works (LEDS, potentiometers, audio stream, etc.) except all MIDI functions.
I’m at a loss… don’t know what’s changed.
I could check with the old computer, of which I still have the hard drive, the last time this project was compiled with Arduino 1.8.x and stm32duino 2.7.1.
I still have the compiled binary, if I download it to the Daisy it works as expected. If I recompile it, it doesn’t work!
Well, this is getting even worse…
I have tried a fresh install on a Windows 10 virtual machine, installed Arduino 2 (latest), stm32duino 2.7.1, DaisyDuino and wrote a very simple sketch that should control an LED when MIDI CC 1 is received, and send CC 7 from a potentiometer. Nothing more than that.
Well… MIDI DOES NOT WORK.
Are you talking about USB or Serial MIDI?
Maybe it’s another issue with Windows’ ridiculous USB driver setup?
I’m talking about Serial MIDI.
As far as I know, Daisy does not support MIDI over USB, at least not via DaisyDuino.
OK. I seldom use Arduino for Daisy, so I’m not completely updated.
I just tried the Pod MIDI example on a Bluemchen, using Arduino IDE 2.3.3 (Mac), works for me with Arturia Keystep.
How do check the DaisyDuino and stm32duino versions?
Install Arduino.
If you go with Arduino 2.x, you can install the latest version of stm32duino (2.9.0);
if you choose Arduino 1.8.x then you’re stuck to stm32duino version 2.7.1 which however is OK for the Daisy.
Next, install DaisyDuino and the MIDI library from the library manager of Arduino.
Now you’re ready to go.
When compiling a sketch for the Daisy, select Generic STM32H7 board.
HOWEVER I have found what was blocking the Serial MIDI functionalities. By default, after a fresh install, the option “USB support (if available)” is set to “none”. This must be set to:
CDC (generic 'Serial' supersede U(S)ART)
Apparently this is a global setting that is stored somewhere in the toolchain folders. Probably this was set to the correct value when I started using the Daisy back in 2020, but switching to a new computer this was now set to “none” and I don’t know why. This isn’t saved anywhere in the project, neither using Arduino 2 nor using VisualStudio with vMicro.
The USB setting broke serial MIDI. Nice.
I’m not convinced of the logic in setting up DaisyDuino in a different IDE. Seems to me, you’re better off just using the C++ libDaisy and DaisySP, which enjoy somewhat better support.
You may be right but since I use other microcontrollers other than the Daisy, I find using Arduino the best solution for my needs. One IDE for all.