@okyeron I just wondered, how would you say the overall brightness compares to the 2012 and most recent grids, especially in daylight situations? Is it more usable or it’s more or less similar? I’d give a LOT for an improvement of the daylight use-case of my monome grid and if that meant going the DIY route or finding a kind soul to build one for me, I’d consider it very strongly.

I’m hacking on brightness and “gamma” right now trying to get a nicer distribution across the 16 brightness levels.

problem is the neopixels are crazy bright - which can lead to the whole grid “browning out” if all the leds are on at certain brightness or higher. This would probably depend on your particular use case (if you ever needed to have them mostly all on)

So with the settings I have right now, the monome grid looks a bit brighter at higher brightnesses.

But… this is all configurable and you can make it brighter if you want - with the caveat that when lotsa pixels are on at max brightness, its gonna suck lots of power and eventually brown out from voltage droop.

So maybe I need to do a little extra testing to try and reduce the voltage droop :thinking:

1 Like

Thanks for the detailed answer! But yes, that’s the single biggest problem I have with the grid. I played daylight live shows under the sun and it was a nightmare to even try to read anything live, even with all apps switched on full mono brightness.

I don’t think there’s much you can do about that full daylight situation. Any led device brightness is gonna get washed out in full sun.

ooooh… interesting test results…

by using a USB or barrel jack breakout (so the 5v is not going thru the teensy first) I can get the brightness levels up to 128 on the entire grid without browning out. So that’s about 4 times brighter than my original sketch. :+1:

Note - this technique will require something like an adafruit usb breakout and a USB splitter (like offworld).

I’m working on a “ribbon cable kinda thing” to help accomplish this, but that’s likely a few weeks away.

5 Likes

@okyeron this might be a stupid question, but what voltage does Teensy 3.2 send I2C?
I was just doing some reading about the I2C and the internal pull up resistors on the 3.2, and it is recommended to actually add some pullups between the power and the SDA and SCL. could this help with power stability? You probably know all of this, but I just thought I should ask.

https://www.pjrc.com/teensy/td_libs_Wire.html

Should not be an issue* There’s 10k pull ups on each neotrellis board.

/* until you get to a larger grid and the parallel resistance gets smaller and smaller

Also led power is separate-from/unrelated-to the i2c bus

1 Like

Interesting developments today in testing my neo-grid…

It appears that powering everything via the Teensy USB jack will have some power issues with regards to led brightness.

Turns out the Teensy has a fuse in-between the USB jack and the power pins on the board which limits current to 350-500mA. The neopixel leds might want up to like 2-3A with all pixels lit up, so here are a few suggestions for everyone playing along in the home game…

  • (my method) use a USB breakout for power and data, then wire things up appropriately (pix below). With this setup, you ignore the teensy USB connector and ONLY use the breakout.

  • same as above with a USB breakout, but use the breakout just for power and the teensy usb for data (like a built-in Offworld power splitter)

  • use a barrel jack (and external 5v PSU) to send power to the VIN/GND on a neotrellis board, then only the teensy SCL/SDA pins to the neotrellis boards. (Teensy would still get its own power from USB, but neotrellis would need to be powered first on startup so everything works properly)

I’m working on a “wiring harness” that will be a flexible-pcb to easily manage these connections. That’s probably a few weeks away at this point.

9 Likes

@okyeron i got my neotrellis pcbs and most of the components, also got the adafruit usb break out.

Any chance you could confirm the pcb addresses for a 8x8 and a 16x8 configurations? (64 - 128
)

Will start early this week :slight_smile:

Addresses don’t matter. They just need to be different and then you configure them in the code.

1 Like

Thanks for the reply @okyeron.

So if i wanted to set it up as the teensy .ino default, how would that be?

-Row 1 - grid 1 grid 2 grid 3 grid 4
-Row 2 - grid 5 grid 6 grid 7 grid 8

I could just go with :

  •   		        0x2E  Grid 1
    

A0 (+1) 0x2F Grid 2
A1 (+2) 0x30 Grid 3
A2 (+4) 0x32 Grid 4
A3 (+8) 0x36 Grid 5
A4 (+16) 0x3E Grid 6
A0+A1 (+3) 0x31 Grid 7
A0+A2 (+5) 0x33 Grid 8

Or is it in reversed order as you mentioned previously as if looking at the back of the pcbs?

  •   		        0x2E  Grid 4
    

A0 (+1) 0x2F Grid 3
A1 (+2) 0x30 Grid 2
A2 (+4) 0x32 Grid 1
A3 (+8) 0x36 Grid 8
A4 (+16) 0x3E Grid 7
A0+A1 (+3) 0x31 Grid 6
A0+A2 (+5) 0x33 Grid 5

Thanks s lot for your help!

So here’s my prototype setup which matches the code on github. Again, the addresses are not important, just use whichever you want to use.

The addresses in the code are in order if you are looking at the front of the grid (button side). So… with it flipped over, the order is reversed.

Therefore the code for this is:

// NeoTrellis setup
Adafruit_NeoTrellis trellis_array[NUM_ROWS / 4][NUM_COLS / 4] = {
  { Adafruit_NeoTrellis(0x33), Adafruit_NeoTrellis(0x31), Adafruit_NeoTrellis(0x2F), Adafruit_NeoTrellis(0x2E)}, // top row
  { Adafruit_NeoTrellis(0x35), Adafruit_NeoTrellis(0x39), Adafruit_NeoTrellis(0x3F), Adafruit_NeoTrellis(0x37) } // bottom row
};

I didn’t really pay attention when I put mine together or I would’ve done it the other way around.

3 Likes

@okyeron thanks a lot for the detailed info and pictures!

Getting the iron ready :slight_smile:

1 Like

@okyeron i just realized that i have teensy lc instead of teensy 3.2 (face palm)
Do you think it would work with the teensy lc?
Thanks!

Nope… well maybe? It’s different pins on the LC… would need to check the details (maybe later) and/or test (no time)

1 Like

No worries, im going to look further into it and see if i can test it!
Thanks a bunch!

Edited: i dont see any pinout differences on the pins used so far between lc and teensy 3.2.

Pins 18 and 19 are both SDA0 AND SCL0

Usb signal data + and - are on the same pins.

Ground seems to have usb host mode on 3.2 and Not on lc.

The vin is different though, 3.6-6.0 v on 3.2 and 3.7 to 5.5v on lc.

Probably just go with 3.2 ans spare myself a headache.

Does this version of grid actually work with something like a Ansible?

Depends on the ansible firmware. I submitted a fix to the codebase to allow teensy-based devices to work with libavr32 (libraries behind the Trilogy modules) but I don’t think those changes are in the main release yet. You’d need to dig around in the ansible thread about loading beta firmware.

Edit: I’ve not actually tested the neo-grid with ansible at all yet

Edit 2: turns out my ansible fix is midi only. Neo-grid will NOT work with ansible.

1 Like

Aaah yeah i see your comments now on github many thx for your clear answer.

The 3mm plywood siblings.

I might change the grid to acrylic as plywood is not the best materials for this build. Slightly bulgy around the teensy/usb breakout. Will probably drill a screw on each side to pull the layers more together. Sign me up for a case and a wiring harness @okyeron

9 Likes