Any hint for a good starter example?

Hello,
I am late to the party - I managed to get my midiboy assembled just recently. Arduino IDE is setp and working, uploading patches works, so the thingie is verified.

Now I am looking for some easy example to quickly see how the following things on the hardware are working:

  • read and write Midi Messages from USB and DIN
  • Access the buttons
  • display something on the display

I have some need for a very simple MIDI Program changer device (to send Program Change Messages to a vintage Midi-Switchable Guitar Preamp, Exef Sixshooter).

The idea to begin with:

  • Implement a counter, that displays just the program number
  • have it count up/down with the buttons from the cross
  • send the displayed number as Program change message when pressing the right button on the cross

Soooo, to get going with this idea some simple examples for accessing the Midiboy hardware would come in handy :smiley:

thanks,
Reinald

You may have already seen these, Reinald

dunno if you’d call any of them simple!

thank you for pointing that out - I have to admit that I am more used to the single-file examples for libs or arduino examples - when I saw the dozen-ish files from opening the midimon, I didn’t dig deeper into that, it seemed to be more complex than I expected. I will have to look in detail what is in there.

1 Like

It may not make it any more complicated when you take a closer look; it’s as likely that the workflow has just been broken down into smaller (& maybe more reusable) components…

…the sort of thing that better coders than me do “from scratch”!

Check the ‘File → Examples’ menu:

image

There’s a couple of examples coming from some Arduino Libraries that should demonstrate some particular features.

To send / receive MIDI over the UART, use Serial.begin(31250), and just write and read the MIDI bytes.

To get up to speed with USB MIDI on Midiboy, check https://github.com/BlokasLabs/USBMIDI - the interface is very similar to Serial, except you do USBMIDI.begin(), without any arg. :slight_smile:

To interact with the display, get input, you may do it via the Midiboy Core Library, documented in its .h files: https://github.com/BlokasLabs/Midiboy/tree/master/src

See how particular features of Midimon is implemented. There’s also two more, lighter, sketches that use the Midiboy lib: MIDI Chords and CCMon

Alternatively, you may use the Arduboy2 library that was ported for Midiboy: https://github.com/BlokasLabs/Arduboy2 - one thing to be aware of is that it allocates memory for holding the entire 128x64 monochrome pixels in memory, and provides more graphics utilities, while Midiboy Core Library does not allocate the memory for it and provides APIs for simple bitmap blitting.

1 Like