Aaaarrrgg! You folks owe us big time!

LK/ELK/VK/PK/OK/MX/GLK/EGLK/GVK/GLT Series

Moderators: Henry, Mods

Post Reply
chriskner
LCD?
Posts: 4
Joined: Tue Jun 20, 2006 6:05 am

Aaaarrrgg! You folks owe us big time!

Post by chriskner »

To our dear friends at Matrix Orbital,

We're just finishing off three identical control systems that use 4 LCD0821 PCB R2.0 displays on the same I2C bus. Addresses 0x50, 52, 54, & 56.

No matter how we tried, we could not get the displays with address 0x56 to stick. The spiffy uProject utility failed as well. The displays that should be addressed as 56 would always assume an address of 0x50 (the default).

Serial bus sniffers showed that we were sending the right commands to change the I2C address. The new address simply was never saved on the displays.

Hhhhm, what's different about these 0x56 displays?

Little tiny resistor/jumpers, that's what. No, not the ones that we are supposed to be soldering/unsoldering to switch from RS232 to I2C mode (whose great design decision was that anyway?). These were little unlabeled, undocumented resistors just above J1 & J2.

All the displays that accepted (and saved) the non-default addresses did not have these resistors installed. All the displays that were giving us grief did, and they all happen to have the same role in our systems, namely 0x56. (Conspiracy?)

Someone shipped us a bummer batch of LCD0821's. Someone made me miss having dinner with my kids. Someone owes me (and the poor sap that I'm working with) a couple of beers.

May I most humbly suggest that a minor note be added to the manual describing the function of these nearly-impossible-to-notice resistors/jumpers whose function appears to be nothing more than to give us users stress, heartburn, and high blood pressure?

May future generations benefit from our misery.

/rant

Most graciously submitted,

Chris
www.ner.com
Attachments
I_belong_in_a_manual.jpg
I_belong_in_a_manual.jpg (44.55 KiB) Viewed 9485 times
I_belong_in_a_manual.jpg
I_belong_in_a_manual.jpg (44.55 KiB) Viewed 9485 times
Clare
Matrix Orbital
Matrix Orbital
Posts: 193
Joined: Mon Nov 14, 2005 3:08 pm
Location: Calgary, Alberta, Canada
Contact:

Post by Clare »

Hi Chris,

I am the account rep for NER.

Before I have technical support respond to this, I need some further information please.

1) First of all, these 4 LCD0821's, can you please send me the serial numbers on the back of these displays. I need to pinpoint when they were manufactured.

2) Can you also please let me know the revision of these displays? Are they 2.0?

3) Have you used this revision before without this change?

I am trying to find out if this was something we have changed on the LCD0821 or if this was an error made.

Thank you for your assistance.

Clare
chriskner
LCD?
Posts: 4
Joined: Tue Jun 20, 2006 6:05 am

Aaaarrrgg! You folks owe us big time!

Post by chriskner »

It looks like all of the offending displays (Qty = 5) were purchased on Feb 6, 2007. PCB R2.0

On Jan 10, 2007 we purchased 12 of the same model. These do not have the errant jumpers installed. These were also PCB R2.0 These displays worked fine out-of-the-box.

Serial numbers of the bad displays:
07M02-1068
07M02-1069
07M02-1070
07M02-1071
07M02-1072

These bad displays appear to function fine after we removed the offending jumpers above J1 and J2. See attached pic.

Good luck with this one...

-Chris
NER
Attachments
Bad-Good_01.jpg
Bad-Good_01.jpg (118.21 KiB) Viewed 9445 times
Henry
OMNIPRESENT
OMNIPRESENT
Posts: 3014
Joined: Tue Aug 14, 2001 6:00 pm
Contact:

Re: Aaaarrrgg! You folks owe us big time!

Post by Henry »

chriskner wrote: Little tiny resistor/jumpers, that's what. No, not the ones that we are supposed to be soldering/unsoldering to switch from RS232 to I2C mode (whose great design decision was that anyway?).
They were my idea ;) the reason they are there is for large scale production, we are able to set the units to I2C or TTL or RS232 by placing these 0 ohm resistors in the switching matrix, making them easier to manufacture in larger volumes and less expensive.
These were little unlabeled, undocumented resistors just above J1 & J2. All the displays that accepted (and saved) the non-default addresses did not have these resistors installed. All the displays that were giving us grief did, and they all happen to have the same role in our systems, namely 0x56. (Conspiracy?)
What they are is legacy jumper block. On the older units we used the 2x4 header to set the I2C address and Serial Speed, but we moved over to a software based configuration. The reason the jumpers are there is for certain customers that do not want software configurations but require a hardware configuration, so we can use the 4 603 pads to hardware the communication configuration. If the jumpers are populated, they override any software setting that may have been loaded into the display. Now, why were they populated, that is a mystery.
Someone shipped us a bummer batch of LCD0821's. Someone made me miss having dinner with my kids. Someone owes me (and the poor sap that I'm working with) a couple of beers.
Production has been flogged, defenestrated and made to sit in the corner for a hour to think about what they did wrong, and have told me to tell you they will buy you a a couple of cold beers and a Alberta steak if you end up in Calgary.
May I most humbly suggest that a minor note be added to the manual describing the function of these nearly-impossible-to-notice resistors/jumpers whose function appears to be nothing more than to give us users stress, heartburn, and high blood pressure?
Since the jumpers are not to be populated, they will not be documented, but production procedures will be updated so this does not happen again.
May future generations benefit from our misery.

/rant

Most graciously submitted,

Chris
www.ner.com
All LCD0821 displays are supposed to have a 2pin jumper at J0 and the 4 603 pads right above the header are all supposed to be not populated. As well, for future reference we can set all the displays to I2C by default by contacting sales and getting a customer number from them. Hope this answers all your questions, if there is anything else, please let me know.
Henry J.
President
Matrix Orbital
chriskner
LCD?
Posts: 4
Joined: Tue Jun 20, 2006 6:05 am

Post by chriskner »

Omnipresent President Henry said:
They [itsy smt jumpers] were my idea the reason they are there is for large scale production, we are able to set the units to I2C or TTL or RS232 by placing these 0 ohm resistors in the switching matrix, making them easier to manufacture in larger volumes and less expensive.
Oh dear. I would never encourage any of our end-users to dribble solder all over any of my preciously (precariously?) designed pcb's. In the same space one could have chosen to install a miniature smt dip switch (and have less warranty calls). ok, maybe a little more space. But you wouldn't be dealing with griping hooligans like me.

While I have the omnipresident's ear, could I suggest that it would be incredibly useful if Joe-User could query the current settings of the lcd (say perhaps like "what I2C address do you think you are?" when using the 232 interface?

When you set the I2C address now, the command just goes off into the ether (with no confirmation). One is force to hope and believe that the display heard you (and is not ignoring you, like in our case).

Speaking of ignoring... Now that the cat is out of the bag, how about enlightening the masses about the function of the override jumpers, and how to make use of them? If you trust us to move around 232/i2c/ttl jumpers, what's a few more?

I have lots of solder, and I'm not afraid to use it.

I've always wanted to go to Calgary. Now that I know that you have an abundant supply of beer and steak, all the more reason...

Thanks for the help & prompt response.

Best regards,

Chris Knudsen, EE
NER
Raquel
Matrix Orbital
Matrix Orbital
Posts: 834
Joined: Thu Aug 19, 2004 3:37 pm
Location: MO Office

Post by Raquel »

Hello Chris,
While I have the omnipresident's ear, could I suggest that it would be incredibly useful if Joe-User could query the current settings of the lcd (say perhaps like "what I2C address do you think you are?" when using the 232 interface?
Yes, there is actually a way to do this. In RS232, you can send the command 254 / 208 and the display will reply about 400 bytes of data. I am not sure off hand which is the I2C address in the data, but when I get back to the office I will check that out for you.

Best Regards,
Raquel Malinis
Design and Development
Matrix Orbital
Post Reply