R
Rej

  • Dec 7, 2018
  • Joined Aug 28, 2016
  • 5 discussions
  • 12 posts
  • Sorry, no I didn't have to do any detecting. It sounds like you got that working though...

    If you're working with a 1602 panel as well, did you try the other common addresses, just in case? ( 0x20 , 0x27 , 0x3F)

    Also, make sure your contrast adjustment pot isn't all the way up or all the way down, it makes it impossible to see text. A good way to test if your board is talking to the panel is to turn off the backlight programmatically in setup().

  • You can use the BelaContext structure's "audioIn" and "audioOut" members to access the data directly as stereo float arrays.

    But I seem to remember those functions just being inlines or macros anyway so it's probably not that bad.

    • Hello, it's been a while since I've posted here. I was an early backer of the Kickstarter campaign so my unit has been gathering dust for a few years... :-(

      I finally got around to finishing my synth so I thought I'd show it off.

      It's based on a software synth I designed for a mobile music app called Caustic. It uses twin Karplus-Strong units to produce a variety of expressive sounds. On top of that I've brought over code for a few stereo effects and an arpeggiator to make it even more interesting. I don't show it on the video but I've also made use of the audio input jack to provide effects routing for externals synths. The Bela handles it all without issues.

      The goal of the build was mostly to give my software synth hardware controls. 32 analog inputs are multiplexed in (4x8) using a small IO board and scanned every 5ms. There are also a few IOs used for LEDs and switches, as well as a 1602 panel that communicates via I2C (can't really see it on the video, sorry). I can post a picture of the horrible spaghetti that is my wiring if anyone's interested in having a laugh.

      Thanks to the Bela team for a great product.

    • Still hoping to get my synth finished soon. It'll be a MIDI controlled box running a Bela for DSP, but real knobs and displays for control. Everything has been prototyped and is working fine, the Bela is handling 32 voices polyphony + effects.

      Like you said, early days.

      I'll certainly post my work here when it's done.

    • Ahh, thank you. I thought that button just downloaded the current file, like the button on the right. didn't think to try...sorry.

    • Maybe there's a simple solution I missed but Is there an easy way to get my project files from the Bela board?

      I know I can download individual files from the IDE but Ideally, I'd like to grab all my (30+) files at once to create a quick backup.

      Is there a way to mount the internal filesystem to be visible over USB or ethernet?

    • For now, I've only been testing from the setup function but yes, the plan is to have these commands issued from a low-priority thread.

    • Hello, I just spent a good couple of hours getting my Bela to talk to a small 16x2 LCD panel so I thought I'd share my experience and code in case someone else wants to do it. This is C++ by the way, there was another thread about doing it over Pd.

      I ordered my panel on eBay, similar to this one:
      http://www.ebay.com/itm/Yellow-Display-IIC-I2C-TWI-SP-I-Serial-Interface-1602-16X2-LCD-Module-TOP-/321558565771?hash=item4ade62538b:g:R4gAAOSwZVlXmX5q

      Note that it's not just the bare LCD panel, it has a small serial interface board. (otherwise you'd need lots of I/O pins, which I need for other things)

      The panel talks at 5V levels so connecting it straight to the 3.3V I2C bus connector on the Bela (probably) won't work. To get around this, I got a small logic level converter board. Mine is a 4-channel, but only two are needed (for SCL and SDA). This is an example of a 2-ch, usually a few dollars, shipped.

      http://www.ebay.com/itm/2-CH-I2C-IIC-Logic-Level-Converter-Module-Bi-Directional-5V-3V-for-Arduino-/131539592643?hash=item1ea05ee5c3

      For prototyping I ran my 5V from the analog out 5V but I'll change that to a stronger supply as the display is a bit faded in this one.

      Hardware:
      - Connect the 5V supply to the Display's I2C VCC and to the converter board's "high-voltage" pin.
      - Run the 3.3V from the Bela's I2C to the converter's "low-voltage".
      - Run a GND from one of Bela's GND pins to the converter board and display's GND.
      - Then run the Bela's I2C SDA and SCL signals each to a LV input of the converter board.
      - Run the HV output for each of those two signals to the display's corresponding pins on I2C.
      This sounds more complicated than it is. You're just powering the converter board and putting it between the two serial wires to convert levels.

      Another option I read in the Pd thread is to use the analog audio outputs as 5V signals but then you'd have to deal with bit conversion and mostly render-loop sync for sending out your serial data. Seems the tiny converter board option is easier...

      Software:
      The library that ships with these things is meant for Arduino so a few things are missing and don't compile. I've modified the library source using the "capacitive-touch" example to compile and work with Bela's I2C library. From what I can tell this is the same "LiquidCrystal_I2C" V1 that's all over the net, but credit to the original author has been removed :-(

      It's just two files so should be easy to drop in. Here they are. Sorry if it looks a mess, it wasn't that pretty to begin with and I've just hacked it to a functional level for Bela.
      https://gist.github.com/anonymous/158f5e9fcf74f49fda89be9045948bbc

      Check out the header for the API. I haven't tested all of it, but what I did worked fine. Example code in my render.cpp's setup()

      LiquidCrystal_I2C lcd(0x3F, 16, 2); // My 16 x 2 panel sits at I2C address 0x3F, some are at 0x20 or 0x27, check when you buy
      lcd.init();
      lcd.noCursor();
      lcd.print("Hello Bela!");
      lcd.backlight();
      lcd.setCursor(0, 1);
      lcd.print("It works, yippee!");

      And here's the result of that running on my pieced together prototype:

      http://imgur.com/FivE1VH

      Hope this helps someone.

    • thanks for the reply. I need MIDI, but not network or IDE once it's done. I guess I was hoping the USB interface booted extra parts needed for development and that those things would not get loaded when booting from the 5V barrel. I guess they just tie into the same supply.

      I wouldn't want to risk cutting off my network or IDE access by disabling things and locking myself out so I'll endure the startup time.

    • Forgive me if this has been addressed elsewhere, I couldn't find anything.

      I plan to embed my Bela into a "hardware" synth running off a 5V supply. For now I've only been prototyping and connecting via the USB interface but I've noticed the boot times are about 25-30 seconds. Can anything be done to shorten this?

      I understand there's a whole Linux kernel booting up in that time but maybe some services I don't need can be disabled via config changes? Maybe it's faster when running straight from 5V instead of USB? (I haven't tried). Just inquiring as to what's possible for now.

      If it has to be 30s, then it's not a huge deal either.

    • First, thanks for a fun little product with good examples and a super easy setup. The examples provided make getting up and running really easy and you guys have done a great job for your launch. That's not always my experience with these kickstarters...so congrats!

      I'm planning to make a hybrid synth using hardware controls to interface a software Karplus-Strong generator + effects.

      I need to use ~32 knobs so obviously I'm going to multiplex the analog inputs but I'd like to inquire about current draw on the 3.3v supply before I choose my pot values. If my basic EE skills haven't dulled too much, having 32 x 10k Ohm pots feeding off the supply should present an equivalent 312 Ohm load so only draw about 10 mA. Add on a few biased switches and LEDs and that will probably go up, but not over 100mA I think.

      What's the maximum current draw from one of the 3.3v supply pins? I can look the values for the Beagle, but I assume your cape takes some of that so you might know what's left... I really don't want to fry this thing.