Anyone know what type of diode is on the neotrellis board. One is missing. I don't have any surface mount components, but could I use a through-hole diode of some type?
I will order a new board, but this is a Christmas project, and wanted to get it done
Neotrellis missing diode, button not working
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- boowilbury
- Posts: 10
- Joined: Thu Aug 29, 2013 5:06 pm
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Neotrellis missing diode, button not working
According to the schematic they are 1N4148, a very cheap and common signal diode. And, yes, you could carefully solder a through-hole part in place of the missing one.
Was the board like this when it arrived?
Dave
Was the board like this when it arrived?
Dave
- boowilbury
- Posts: 10
- Joined: Thu Aug 29, 2013 5:06 pm
Re: Neotrellis missing diode, button not working
I don't know if it was on when I recieved it, and it popped off, or if it wasn't there to begin with. I just received the board and only noticed it when coding with it.
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Neotrellis missing diode, button not working
Regardless, it would seem to be a fault in the board's construction.
Go ahead an replace the diode to get up and running. but email [email protected] with a link to this thread, your order number, and request the replacement of one NeoTrellis PCB.
Dave
Go ahead an replace the diode to get up and running. but email [email protected] with a link to this thread, your order number, and request the replacement of one NeoTrellis PCB.
Dave
- boowilbury
- Posts: 10
- Joined: Thu Aug 29, 2013 5:06 pm
Re: Neotrellis missing diode, button not working
Thanks, I wonder if the missing diode is also affecting another issue I am having.
Using latest Arduino IDE 2.02 and latest NeoTrellis 1.3.1 library, I am getting lockup after pressing random buttons, between 10 - under 100 times. Staying in within one grid or not. Even when using the basic example from the library. It just stops responding to presses after awhile.
I am using a Feather M0 Express (with latest 1.711 package), as M4s have been out of stock.
Using latest Arduino IDE 2.02 and latest NeoTrellis 1.3.1 library, I am getting lockup after pressing random buttons, between 10 - under 100 times. Staying in within one grid or not. Even when using the basic example from the library. It just stops responding to presses after awhile.
I am using a Feather M0 Express (with latest 1.711 package), as M4s have been out of stock.
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Neotrellis missing diode, button not working
Possibly, the diode is part of the key matrix.
Dave
Dave
- boowilbury
- Posts: 10
- Joined: Thu Aug 29, 2013 5:06 pm
Re: Neotrellis missing diode, button not working
I managed to solder on a through hole 1N4148 I had, and the button now works!
However, I am still having a lockup /crash using the basic example. I did find a pattern. I have 4 neotrellises put together and am getting continuity between the 5 pins everywhere. I am getting a pattern of Fail and Good buttons, with still no pattern of number of presses on a Fail button for it to lockup (a "Fail" button will work for a few presses). A "Good" button will never cause a lockup.
7---------63
FFGGFFGG
FFGGFFGG
............
FFGGFFGG
0----------56
I double-checked the wire&solder links I made between each board, and seems ok - but I will continue examining my connections. That must be the problem, right?
-------------------
Using latest Arduino IDE 2.02 and latest NeoTrellis 1.3.1 library (and trying earlier ones),
I am using a Feather M0 Express (with latest 1.711 package), as M4s have been out of stock.
However, I am still having a lockup /crash using the basic example. I did find a pattern. I have 4 neotrellises put together and am getting continuity between the 5 pins everywhere. I am getting a pattern of Fail and Good buttons, with still no pattern of number of presses on a Fail button for it to lockup (a "Fail" button will work for a few presses). A "Good" button will never cause a lockup.
7---------63
FFGGFFGG
FFGGFFGG
............
FFGGFFGG
0----------56
I double-checked the wire&solder links I made between each board, and seems ok - but I will continue examining my connections. That must be the problem, right?
-------------------
Using latest Arduino IDE 2.02 and latest NeoTrellis 1.3.1 library (and trying earlier ones),
I am using a Feather M0 Express (with latest 1.711 package), as M4s have been out of stock.
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Neotrellis missing diode, button not working
Nothing sounds suspicious. I would expect an issue with connections to not be specific to a predicable set of buttons. The line of dots indicates that the FFGGFFGG pattern continues for all rows? The fact that it's replicated across all 4 boards is weird.
You have the address jumpers set appropriately? What does an I2C scan result in?
Dave
You have the address jumpers set appropriately? What does an I2C scan result in?
Dave
- boowilbury
- Posts: 10
- Joined: Thu Aug 29, 2013 5:06 pm
Re: Neotrellis missing diode, button not working
Yes, the pattern continues for all rows.
I ran the I2C scanner and it reports:
Scanning...
I2C device found at address 0x2E !
I2C device found at address 0x2F !
I2C device found at address 0x30 !
I2C device found at address 0x31 !
done
I have it soldered/addressed like in the online documentation here. and the code addresses:
#define Y_DIM 8 //number of rows of key
#define X_DIM 8 //number of columns of keys
//create a matrix of trellis panels
Adafruit_NeoTrellis t_array[Y_DIM/4][X_DIM/4] = {
{ Adafruit_NeoTrellis(0x2E), Adafruit_NeoTrellis(0x2F) },
{Adafruit_NeoTrellis(0x30), Adafruit_NeoTrellis(0x31)}
};
I also tried the single-board "basic" sample code, and it fails with the same row pattern on the one quadrant.
I then tried using the "interrupt" sample pin code, and wired up INT to pin 10, and it WORKS without fail!
However, the sample code is only for a single board. When I tried merging the two, the Adafruit_MultiTrellis does not have a read(bool) function, like the Adafruit_Neotrellis does - so it errors:
void loop() {
if(!digitalRead(INT_PIN)){
trellis.read(false); <---here
}
delay(2);
}
Anyway, if I can figure out how to use multitrellis with interrupt, I might be on my way.
BTW, I couldn't use circuit python with the M0 and the trellis library. It continued to give compile errors.
I ran the I2C scanner and it reports:
Scanning...
I2C device found at address 0x2E !
I2C device found at address 0x2F !
I2C device found at address 0x30 !
I2C device found at address 0x31 !
done
I have it soldered/addressed like in the online documentation here. and the code addresses:
#define Y_DIM 8 //number of rows of key
#define X_DIM 8 //number of columns of keys
//create a matrix of trellis panels
Adafruit_NeoTrellis t_array[Y_DIM/4][X_DIM/4] = {
{ Adafruit_NeoTrellis(0x2E), Adafruit_NeoTrellis(0x2F) },
{Adafruit_NeoTrellis(0x30), Adafruit_NeoTrellis(0x31)}
};
I also tried the single-board "basic" sample code, and it fails with the same row pattern on the one quadrant.
I then tried using the "interrupt" sample pin code, and wired up INT to pin 10, and it WORKS without fail!
However, the sample code is only for a single board. When I tried merging the two, the Adafruit_MultiTrellis does not have a read(bool) function, like the Adafruit_Neotrellis does - so it errors:
void loop() {
if(!digitalRead(INT_PIN)){
trellis.read(false); <---here
}
delay(2);
}
Anyway, if I can figure out how to use multitrellis with interrupt, I might be on my way.
BTW, I couldn't use circuit python with the M0 and the trellis library. It continued to give compile errors.
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Neotrellis missing diode, button not working
There's probably not enough room on the M0. If you want CircuitPython you can try a beefier Feather, nRF52840, ESP32-S2 (or S3), or RP2040.
Using the single NeoTrells sample code with each of the 4 boards/addresses gives that same fail pattern? And all 4 boards individually with the interrupt sample work?
Dave
Using the single NeoTrells sample code with each of the 4 boards/addresses gives that same fail pattern? And all 4 boards individually with the interrupt sample work?
Dave
- boowilbury
- Posts: 10
- Joined: Thu Aug 29, 2013 5:06 pm
Re: Neotrellis missing diode, button not working
Indeed, using the single NeoTrellis code from the seesaw example library, the "basic" code fails (right two rows always work, left two rows will eventually fail) - trying with all 4 boards singularly addressed.
And, each board works fine with the single "interrupt" code - testing all 4 boards singularly addressed.
As an aside, I could not change the default 0x2E address using Adafruit_NeoTrellis trellis(0x2F); It would always go to the default 2E board, no matter what I put in the function. Don't know what I was doing wrong.
It seems to be hard coded in the library (probably not)? Anyway, I got around that by just pasting in the library code and changing the #define NEO_TRELLIS_ADDR 0x2F there.
I will try to look into the library more to see about getting interrupt working with multitrellis.
And, each board works fine with the single "interrupt" code - testing all 4 boards singularly addressed.
As an aside, I could not change the default 0x2E address using Adafruit_NeoTrellis trellis(0x2F); It would always go to the default 2E board, no matter what I put in the function. Don't know what I was doing wrong.
It seems to be hard coded in the library (probably not)? Anyway, I got around that by just pasting in the library code and changing the #define NEO_TRELLIS_ADDR 0x2F there.
I will try to look into the library more to see about getting interrupt working with multitrellis.
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Neotrellis missing diode, button not working
Try passing the address to trellis.begin().
Dave
Dave
- boowilbury
- Posts: 10
- Joined: Thu Aug 29, 2013 5:06 pm
Re: Neotrellis missing diode, button not working
Thanks, yes, passing the address to trellis.begin() works. :) 😳
I ended up making 4 instances of the Adafruit_NeoTrellis object, addressing them uniquely, making 4 unique blink events for each object, and using the interrupt check in the loop. It now works without fail everywhere on the board. It is rather sloppy, but it is just for a simple button paint app for my son.
I might try figuring out the Adafruit_MultiTrellis call with the interrupt, but at least it works now.
Thanks for your help!
I ended up making 4 instances of the Adafruit_NeoTrellis object, addressing them uniquely, making 4 unique blink events for each object, and using the interrupt check in the loop. It now works without fail everywhere on the board. It is rather sloppy, but it is just for a simple button paint app for my son.
I might try figuring out the Adafruit_MultiTrellis call with the interrupt, but at least it works now.
Thanks for your help!
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Neotrellis missing diode, button not working
Odd. So it's definitely not a hardware problem, then.
After looking over the Seesaw/NeoTrellis library and examples I don't see why you couldn't use the int pin. The way it works doesn't really use interrupts, it just reads the int pin as an input, and reads keys & make callbacks when int is active.
Dave
After looking over the Seesaw/NeoTrellis library and examples I don't see why you couldn't use the int pin. The way it works doesn't really use interrupts, it just reads the int pin as an input, and reads keys & make callbacks when int is active.
Dave
Please be positive and constructive with your questions and comments.