ESP32 module

ESP32-D0 based programmable module with 4 MB flash, MIDI input, analog I/O, and user interface.


:blue_book: Documentation: modules — midi→cv
:shopping_cart: Product page: microrack — midi→cv

:hammer_and_wrench: Web flasher: ESP32 Firmware Flasher - Microrack
:computer: Firmware link: GitHub - microrack/MOD-ESP32-FW: Microrack MOD-ESP32 firmware

1 Like

Hi, sounds really interesting. I understand specs might not be finalised yet, but can you say anything about the module? Like number of I/O, what processing platform you plan to use, will there be an sdk or will it be open to programming?

We plan to make a more detailed description within 2-3 days.

2 Likes

Hey. As far as I understand from the picture, it has 3.5 trs midi input on top. (at least it seems like it)

To my knowing, there are two widely used “standards” - MIDI Type A and Type B.
(https://minimidi.world/)

Thus, two questions

  1. Is that 3.5 midi input?
  2. If yes, which of these pinouts is used here?

(Basically that’s important to buy or solder the right cable)

Yes, this is MIDI input. We use type A

1 Like

What screen resolution is it going to have? I’m trying to understand if it would be feasible to hack it into a sequencer thing by adding a keyboard

We have 128×64 OLED display, HS96L03W2C03

1 Like

Wonderful!

I purchased this as an addon to the synth starter kit on Kickstarter.

Can you go into some detail on the bt/ wifi capabilities please?

I am synthesis noob and it will show.

Does this have DC coupled Audio interface capabilities? Or does that require the “input 6.3” module?

I understand that this will convert midi to CV (I think?), I am wondering if it will take advantage of the functionality of FAC Polyflo app?

Thanks for your help

1 Like

The BT/Wifi is probably a more advanced feature for people who have experience with rolling their own firmware for microcontrollers. The two packaged apps are a midi-to-cv mode and an o-scope. The community (and maybe microrack, who knows) can make more – Which is part of why I grabbed one myself.

Regarding the module itself: I’ll probably design some sort of cap/cover for the ESP32 module headers because that’s a fast way to fry things. This is the one module where if you’re letting a relatively new friend jam on your microrack, you have to be watching.
EDIT: The headers aren’t soldered in, so to access them, you’d have to use a male-end cable or solder the headers on yourself. This is a good thing, as it prevents accidental connection.

1 Like

Thank you for the question!

BT/WiFi are indeed available to use on the hardware level in current version of the module design, but we are not providing firmware ourselves for that from the start.

We have some ideas (e.g. web-based sequencer) but for now we are focused on the fundamental firmware which is MIDI to CV converter + Oscilloscope.

Unfortunately, ESP chip that currently is available at our supplier is limiting us a bit, and we can’t provide DC coupled Audio interface capability yet on the hardware level. But we plan to replace the chip to more advanced one with better ADC/DAC, so in the future module version it will be possible to develop a firmware to use this moule as Audio Interface.

If you use your DAW with FAC Polyflo as MIDI source and pass this MIDI signals to MICRORACK it should work as intended, with all the MIDI signals being manipulated from your computer.

Hope that helps!

2 Likes

ESP32 module headers (on the sides) are not soldered out of the box, since it’s intended for more advanced usage.

Pre-soldered pins are: IN1, IN2, OUT A, OUT B, OUT C on top and CLK/RST pins on the right.

And by the current usage we had it seems pretty safe. The only problem we had so far was bricked module after incorrect flashing (which still is not hard to fix with esptool and working dump)

2 Likes

That’s a relief. I’ll edit the the above comment for clarity. I’ve seen other projects with rogue headers create issues not just for the end user, but for support.

Is there a way to get it out of test mode?

Just to note. I was able to connect this module to BLE Artinoise midi flute, and latency seems okay but it required a firmware modification (which is expected). There was a pull request in this module’s code repo with BLE MIDI functionality that I could use as a starting point, but it is configured as Server device (suitable to connect to phone or pc).

Meawhile, all my BLE midi controllers (Artinoise Re.corder, Artiphon Orba 2) are Servers too, and I had to rewrite the firmware to make esp32 module to behave as a Client and connect to the first midi ble device it sees. Not sure though that my code is good enough to be merged into a main repo.

Bottomline, it is possible, it works, but at this point requires to get hands dirty (which was the whole point of having an opensource firmware I guess)

2 Likes

I saw the bluetooth midi pull request but failed to figure out how to install it on my module. But I expect only the phone\laptop connection. Would’ve been nice to connect my roli seaboard block directly to microrack, but it probably won’t work on the block side due to custom driver that’s required.

Oh, that’s an issue. Sory for that, it seems that it was not reset after QA test on a rig.

The easiest way to fix it is to reflash it yourself via Type-C using our Firmware Flasher

Please note, that before reflashing you’ll need to install CP210x drivers first: CP210x USB to UART Bridge VCP Drivers - Silicon Labs

We need test it first and prepare new release afterwards.

For now you can use Platformio VS Code plugin and open firmware repository on branch and compile it yourself.

Maybe @ignis32 can help you with details because he recently tried it in his experiments too.

1 Like

I did not setup from scratch now, I am using platform io for a long time already.

But basically, in a broad strokes you need to install

  1. Visual Studio Code (not Visual Studio)
  2. Install platformio extension to it (Your Gateway to Embedded Software Development Excellence · PlatformIO)
  3. Get module code from github and open folder with VScode
  4. It would take a lot of time to open and initialize, because it would download all the toolchain stuff for ESP32, compilers, libraries, etc.
  5. Connect ESP32 module with type-c cable (I have no idea if it can be on the breadboard at this moment, I had it standalone)
    (Actually Upload includes building task)
    Build and upload using PlatformIO interface within VScode:

4 Likes