trust me, it is not hot-plugged on any of those things. If you get a 16n, you’ll find the legend DO NOT HOT PLUG by the I2C jack. This is not because they are “in development”; it’s because the connection bus just doesn’t support it.

1 Like

Nor on 200e, for the record. Module discovery and address assignment happens on boot.

Seems like a pd external would be handy.

The protocol is the same as used by Monome modules and I believe there’s a “ii.h” header which defines addresses, etc. (will find link in a bit)

Edit: Some monome source files: https://github.com/monome/libavr32/blob/master/src/ii.h
https://github.com/monome/libavr32/blob/master/src/i2c.h
https://github.com/monome/libavr32/blob/master/src/i2c.c

Also wanted to chime in on this:

The norns software (and hardware) do not support i2c communication to other devices - so no, norns is not a solution here. (because of this I abandoned the idea of including i2c ports/headers on my Fates board - as it looked like it would be too difficult to support in the long run)

The crow module will have i2c capabilities and may be the swiss-army knife @koshi is looking for.

1 Like

Sorry, yeah I meant crow module with norns and it should work with PI.

Good idea about PD i2c external @TheTechnobear and i found this table here. Haven’t tried it yet tho.

Meanwhile my Pi4 bricked 3x microSD cards to the point that I can’t see partitions even with GParted on linux. I am being sent the new one…

Yeah I’d hope/expect crow will work with many things.

I must admit I don’t have any modules with i2c , so it’s of limited use for me

i think the easiest is to get Pi4 talk to MIDI using the suggestions in this thread. for er-301 you have several options:

  • use some MIDI to CV converter and er-301 CV inputs

  • add i2c support to Pi4 (monome i2c protocol is very simple, adding er-301 support should be trivial once you get the hardware working, protocol details here)

  • have something that can convert MIDI to monome i2c protocol - enigma (the device @okyeron and i are working on) could do this but it’s still in early prototype stage. or if you have 16n faderbank you could use it as a MIDI to i2c converter - it will convert either minijack MIDI or USB MIDI to er-301 or just friends i2c commands (firmware here: https://github.com/scanner-darkly/16n/tree/tom/firmware/_16n_faderbank_firmware)

this would be a pretty convoluted way to send MID from Pi4 - easier to just send it direct from Pi4, but for completeness sake i’ll mention that i did try adding MIDI support to teletype but wasn’t successful.

2 Likes

No I meant doing it the same way you did but using PI instead of Teletype. I need to get hold of USB to MIDI cable and test it again.

Cool idea with 16n! I didn’t know you can do it.

i2c support for PI sounds good will investigate that, thanks for the link.
Keen to sort out midi first as have more uses for it too.

2 Likes

just updating here in case someone comes across this thread. I managed to get PI4 working with ORCA and Hyperpixel4 screen using Elektron TM1 for midi output. Im using full ORCA linux version. atm for basic patches it is fine. Lagging a little bit once loading or injecting patches. I managed to crash only once zooming way out. Not stable once dealing with the top menu. Otherwise it works great. Will be testing it in more depth in the coming weeks.

5 Likes

So… what does the radiation trefoil key do?

1 Like

loads empty patch wiping the whole screen :smiley:

1 Like

this means that if I have a 16n, I can use it as a MIDI to I2C converter for ER-301 by loading the firmware you linked? Is that easy?
Thanks so much

1 Like

Can one do this by not having 16n and just using Teesny instead, looks like this firmware @scanner_darkly is based on teensy that might be another approach? I am looking now to use a keyboard to send gates to ER301 via keypresses.

@koshi it should be pretty straightforword, just grab a Teensy and follow the Transit schematics by Drillionare.

So do you confirm that 16n with the firmware linked above by @scanner_darkly can already work as MIDI to i2c converter?

Thanks

2 Likes

His post reads as it can do it yes. I haven’t tried it as dont have 16n myself so cant confirm.

I think using Teensy might be easy approach here actually indeed! Thanks for pointing this out.
I wonder if I can power keyboard and Teensy connecting via i2c only? or would i need extra power source. Keyboard would be connected to Teensy via USB to send MIDI.

yes, you can use 16n to convert MIDI to I2C. that version is pretty old though, so not sure it’ll still work, but you could check out the changes in my old branch to get an idea of how to mod the firmware: https://github.com/scanner-darkly/16n/tree/ttmidi2

2 Likes

Are there any pull-up resistors on the I2c lines of a Teensy board ? I think you’ll have to create a small circuit if you wish to connect a Teensy directly to the 301. With a Faderbank though, as long as it is set to “leader” mode and has the pull up resistors soldered on (I tested that once with Scanner Darkly’s code), it will work.

Otherwise, for a Raspberry Pi, I’ve made this small circuit/PCB It’s made for OSC to I2c but it would be easy to add serial midi to I2c capability (via micro usb) I’ve planned to add Bluetooth Midi but it’s not done yet, I didn’t have time to do it. USB midi to I2c would be even easier. The other reason it’s not done yet is that I can’t decide on how to map midi data to sc.cv and sc.tr ^^

And for “I2c to midi”, the title of this post, it should be capable of doing that too, it’s just a matter of taking the time to code that, the “hardware“ is ready. Actually, I was just thinking of using Teletype for generating midi data, sending that over its i2c port, using Hans to convert that to Midi… well… loads of possibilities ^^

GitHub link: the repository is a mess, a mix of research notes and WIP, the OSC part, network mgmt etc is working but the midi part needs to be implemented. Any help and ideas appreciated by the way :wink:

4 Likes

Thats awesome little board! Are you planning to make a group run of some sort?
Yeah i realise its just the time needed to code. I am using Preonic keyboard with i2c output via QWIIC connection, so potentially I can connect direct to ER301 “just” need to convert the code to firmware its useing. Which is here.
https://beta.docs.qmk.fm/developing-qmk/c-development/hardware_drivers/i2c_driver

Actually OSC is fine I am using MIDI from my old habbits :wink: idea is to use either Max or ORCA to send sequences / gates in whatever way to get to ER301. Atm I can do it using Motu Ultralite soundcards DC coupled outputs but its a bit convoluted way.

2 Likes

Oh, I was not aware or this QMK project, but looking at the GitHub briefly, it seems to be very interesting! I will look into it more deeply tomorrow.

Communicating over I2c is not very complicated in terms of code after all and this QMK solution is probably already ready for that, unless it needs some extra pull up resistors once again. I was a total newbie 8 weeks ago and managed to “talk” to the 301 thanks to the Monome ii protocol over I2c but there are a few pitfalls with the 301 specifically (mentioned in my “research notes“ on GitHub and in another thread on this forum where I received many helpful comments)

Regarding the “Hans uHat“, it is still a kind of prototype and the project is very experimental but the OSC part of the project is already working (with 301, TXo and probably some other modules too, I have implemented the commands but I don’t own Just Friends etc, I cannot test that) that being said, I have 9 extra PCBs in stock If you’re feeling adventurous :slight_smile: I’d be glad to dispatch them for a very cheap price to make the development of this project move forward. Beta testers and JS experts wanted :slight_smile: Well there are only 5 SMD components on it, not a big risk.

I had to create this small PCB only because the 301 was not behaving correctly with the regular I2c lines of the raspberry Pi. While I was at it, I added a power connector (and basic protection) to power it directly from a Eurorack case (5v rail only). I also exposed the regular I2c lines of a Pi on top of a Software I2c gpio and custom pull up resistors (for the 301). The whole thing is very basic but it opens up a lot of possibilities. Two distinct I2c busses, WiFi, Bluetooth, USB… With a 15€ Raspberry Pi Zero W.

The “code” is just JavaScript, Node.js it should be easily customizable, the Midi feature will arrive soon, like I said I’m still thinking of the best way to map it, the best way is probably to give the end user the ability to bind CC and Notes to SC.TR and SC.CV in a JSon file… OSC on another hand just follows the commands already implemented I.e: /er301/1/cv/1 1234

image

3 Likes

For info (about the project mentioned above), I’ve made some progress and implemented the Midi functionality today. It was faster than expected.

Support for Bluetooth midi devices but also USB connected devices. The midi devices auto-connect to Hans. (Ble midi devices have to be paired manually via command line, but it’s only needed once)

Each type of midi message and any Cc or note number can be binded to any ii command, any ii module and also modified through a custom function (for each), or simply ignored. Everything is quite easily editable in a separate JS “module“. At least it’s modular and I believe it will be quite powerful.
I’ve updated the GitHub readme if you want more info.

Edit: lo-fi demo of the wireless midi To i2c feature. https://www.instagram.com/p/CDrdIJWqsgr/?igshid=15149jq60alky

5 Likes

This sounds really cool. I will PM you happy to beta test this.
I made fun discovery the other day as realised that Qubit Nebulae that I have has USB input and while it doesn’t recognise keyboard (I think its due to specific OS implementation there) I can switch MIDI interface on in pd so have been testing alternative instrument using the keyboard in PD and its heaps of fun! Also, was checking use of Faderfox EC4 which also worked. Actually I managed to power both with USB hub connected. Used EC4 as voltage meter and keyboard for triggering samples.


Wonder if there is a way of connecting Nebulae to ER301 then could speak to it over PD! :slight_smile: