On-board I2C toys for Ksoloti Core

Who can tell me what’s going on?
Any ideas how this (whatever it is…) can be used musically?

2 Likes

6050 6 axis? Modulation sources, quantiser and note output?

Different brand but yes. The old idea of having a gyro on-board. (Some of my prototypes actually have it on-board and I finally got around to writing an object for it)

But now I am thinking if it would be nicer to have a capacitive sensor on-board instead, so users could solder random metal parts, electrodes or capacitive sliders to pads on the PCB. Not many have use for gyroscope, acceleration, and temperature.

Tech background: the IC is connected to I2C2, the on-board I2C that is only used for setting up the codec so far.

Any other ideas for a nice I2C device that could be useful on-board on the Core?

Capacitive sensor would be really good, as many channels as possible :slight_smile:

1 Like

with gyroscope and accelerometer, I can think of something like Orba: tilt and shake for generating sound and modulating effects. you know my plastiq patch? what if you shake the device and it generates plastic sounds, then add more effects?

or check the Bela blog for inspiration. Bela has a product series called Trill. I think it works with I2C? it’s basically a series of touch-based sensors in different shapes and variations.

capacitive sensor would allow more musical ideas in my opinion. if you look at the Bela blog, they sometimes post touch-based instruments. you can see how the interactivity and sound go hand in hand with each other.

1 Like

That’s three votes (inlcuding mine) for an on-board cap sensor!

1 Like

I’ll just build a Ksoloti drone with this prototype then. Make it fly around and react to sound. Follow your footsteps and panicked breathing as you try to escape your robot overlords.

1 Like

I have found a capacitive controller with 16 channels that fits:

It is a CY8CMBR3116 by Cypress/Infineon. It is not a new model but has good availability and a low price.

I have added a 16-pad SMD header on the bottom side:

I have no idea if/how the sensor will perform, and what exactly is possible with it.

I was hoping to hook up metal pieces or wires to the pads and trigger things in the Ksoloti patch by touching them. Maybe a little one-octave music keyboard with octave shift buttons. Maybe wire it up to parts of the Gills enclosure to get extra performance buttons.

It is unclear if the controller can be wired as a touch slider for example, but we’ll find out soon! A 2D trackpad does not seem possible (though I’ve seen designs for the good old MPR121 do it, so it might be possible on the CY8CMBR3 as well!). A button matrix like this maybe. Even if this example does not seem to work well in the video …

1 Like

Nice one :slight_smile:

One little benefit is that 8 of the pins can be set up as GPIO outputs (can also drive LEDs in sink mode). So basically an extra little shift register on-board.

Wondering if the capacitive inputs can be used with regular switches to GND/3.3V or if that would kill them? Info from the datasheet says that shorting any capacitive pin to GND or VDD would be detected as an error and the IC would disable that pin automatically.

1 Like

I’ve been thinking of making a game with Gills, and the 6050 gyroscope + the gyro object would be perfect. can you share the gyro axo patch/object? also how did you connect the gyroscope? through i2c?

What I used is a LSM6DS3 (on a Ksoloti Prototype), Adafruit sell a mini board like this or this

LSM6DS3, LSM6DSR*, LSM6DSSO* should all be supported as their register structure and commands are very similar.

To connect something through I2C, hook it up to power, SCL and SDA just like the OLED on Gills. I2C is a shared “bus” type of connection where multiple peripherals can be connected and you select which one to talk to using a command. You can either wire it directly to 3.3V, GND, PB8, PB9 on the Core,

or to the 4-pin OLED header on Gills (but it runs on 5V, i.e. pin 2 of that header is 5V, not 3.3V, so make sure your device can run on 5V in that case. Or pick up 3.3V from somewhere else.)

Again, consider a Wii Nunchuk, it has accelerometer (gyro?), a joystick and two buttons conveniently accessible via I2C

1 Like

what about the Wii Remote? (not Controller Classic) does it talk through i2c as well?

Isn’t it wireless via Bluetooth?

1 Like

oh damn I didn’t know. I assume Core does not accept a Bluetooth receiver, right?

Nope. But then again you could connect a cheap HC-05 bluetooth module and write an object for it

1 Like

ok I managed to find that HC-05 thing from my junk box. how do I write an object for it? where do I start?

Hmm maybe some Arduino tutorial on HC-05. I think you can connect it to Ksoloti via USART2 on PD6 (RX) and optionally PD5 (TX). You’ll need a custom object to setup serial on those pins (I’ll have a look later), and to configure the HC-05 thing maybe? Then of course you have to connect something the HC-05 via Bluetooth, then you’ll figure out the data format the device is using (some use MIDI over Bluetooth, which would make it easy), then…

1 Like

v0.7cap prototypes are in! Looking good so far!

I’ve started throwing I2C commands at the capacitive sensor IC. So far it understands that I am trying to communicate! Love me some LogTextMessage("I2C device found at address 0x%2x", addr);

2 Likes

any video of it in action? :star_struck: