eclab / gizmo

Apache License 2.0
92 stars 8 forks source link

Gizmo on an ESP32 with SD Card + TFT Display? #2

Closed knopserl closed 3 years ago

knopserl commented 5 years ago

I found this very interesting MIDI swiss army knife. I was looking for someting like that. I was wondering if it could be ported to a state of the art MCU like the ESP32 with a SD card read/writer and a real display like a 2,4" TFT with 320x240.

Do you think it's portable for that HW selection (I might start with a trial) but if there are good reasons or show stopper arguments, then I will not even start. I thought I could record MIDI inputs/songs with barly unlimited time (taking a 32GB SD card) with a file browser and playback.

eclab commented 5 years ago

Gizmo was designed for the Atmel series and targets a 16x8 pixel display. It could totally be ported to another chip, but you'll face some hurdles:

- You'd first want eliminate all the #ifdefs, just accepting them unilaterally so you offer all features.  That'll make the code cleaner to read.  I'd just use a preprocessor to do that.

- You'd have to change how timing is handled, and also have to handle the buttons and pots

- You'd have to change the file formats.

- Your big challenge would be in dealing with Gizmo's heavy customization of drawing glyphs and usage of the screen for other purposes.  Moving to a larger screen will be a lot of work GUI wise.

It's possible to start with Gizmo to get ideas: but in fact if you had a big screen and a faster machine I'd design a whole new piece of software. Gizmo's designed to squeeze as much as possible out of the Arduino and it's heavily customized for that purpose.

An EASIER task would be to add SD card support to gizmo and possibly enable larger file sizes (maybe twice the size or more) for the Mega.

On Dec 11, 2018, at 1:33 PM, knopserl notifications@github.com wrote:

I found this very interesting MIDI swiss army knife. I was looking for someting like that. I was wondering if it could be ported to a state of the art MCU like the ESP32 with a SD card read/writer and a real display like a 2,4" TFT with 320x240.

Do you think it's portable for that HW selection (I might start with a trial) but if there are good reasons or show stopper arguments, then I will not even start. I thought I could record MIDI inputs/songs with barly unlimited time (taking a 32GB SD card) with a file browser and playback.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

knopserl commented 5 years ago

@eclab THanks for the fast answer. I find the project extremly interesting, as it is a Swiss-Army knife for MIDI and I have not found anything compareable with that amount of features. The only two things which I find is very limiting is the small size for recording and the very limiting display where you need a lot of scrolling which I find is not efficient. An ESP32 costs 2,50€, has plenty of RAM/ROM (384kB RAM, typically 16MB Flash) and a TFT Display with 320x240 does not cost much too (3,50€). I even ordered a complete module with ESP32, SD Card reader, audio chip, TFT, buttons for 14€. I would even use the two pots or even better one or two rotary encoder. I have also odered 4 x 8x8 LED's which is double the size of Gizmo (to avoid so much scrolling) and could use the glyphs. I hope that most of the code is not really depending on Atmega HW and the display glyphs might be possible to translate to a TFT graphics. I did a sanity check and did a test compile of the used MIDI lib from FortySevenEffects with an WEMOS LOLIN32 (ESP32 standard board) and least it compiles without any error. Any interest from your side to include a very popular power MCU (like the ESP32, dual core 2x240MHz) and also support SD card and a real display? Otherwise I need to start my own project and use Gizmo just as starting point.