Questions about MAX6950

I've got some MAX6950 to drive 8 7-seg display, grouped in sets of 4. I've checked the driver's datasheet and got a general understanding of how its multiplexing scheme works.

My first question is: will the LedControl library work with this drivers? I know this library was made with the MAX7219/21 drivers in mind, but looking at the datasheets of all of those devices show that all of them are compatible with the same serial interfaces, but the reason I'm using the MAX6950 is because the system I'm going to use them on only works at 3.3 V.

My second question would depend on the answer to the first: if LedControl won't work, is there a library that will?. If LedControl works, I've been looking through its documentation and it says that a single LedControl instance can control up to 8 drivers with the same 3 pins for all of them. Now how does the system asigns addresses? because I need each MAX6950 to show specific data and I don't want them for one day show the data as I want and for the next to show the data in the wrong 7 seg display set.

I don't have any code yet as I wanted to sort this out first.

Thanks in advance for any help.

Now how does the system asigns addresses?

The system is a chained SPI system so that means you send as many packets of data as you have devices. You send the data for the furthest device first.

because I need each MAX6950 to show specific data and I don't want them for one day show the data as I want and for the next to show the data in the wrong 7 seg display set.

Sorry I don’t understand that.

I would need to study the data sheet to see if it was the same protocol and I can’t do that just at the moment because I am on my mobile device.

Can you post a link to the displays you want to drive?

The way max6950 (data sheet) drives displays ("charlieplexed" matrix) is quite different to max7219 (regular matrix). You seem to think that the two chips are similar, so I am concerned that you may have chosen displays that won't be compatible.

This page discusses the differences between max7219 and max6850. One difference is that you cannot cascade/daisy-chain multiple max6850. Multiple max6850 chips can be connected to the same Arduino pins for "clock" and "data", but each chip will need a separate Arduino pin for "chip select". Also the internal register addresses are different and conflict between the two chips. So I'm pretty certain the LedControl library will not be compatible. I have not heard of an Arduino library for max6850, but if there is one, Google will find it.

PaulRB:
Can you post a link to the displays you want to drive?

The way max6950 (data sheet) drives displays ("charlieplexed" matrix) is quite different to max7219 (regular matrix). You seem to think that the two chips are similar, so I am concerned that you may have chosen displays that won't be compatible.

The displays I'm trying to drive are HDSM-283.

I chose them due to their size, shape and the fact they are Common Cathode. I initially had some Common Anode displays but those wouldn't have worked at all with the MAX6950.

PaulRB:
This page discusses the differences between max7219 and max6850. One difference is that you cannot cascade/daisy-chain multiple max6850. Multiple max6850 chips can be connected to the same Arduino pins for "clock" and "data", but each chip will need a separate Arduino pin for "chip select". Also the internal register addresses are different and conflict between the two chips. So I'm pretty certain the LedControl library will not be compatible. I have not heard of an Arduino library for max6850, but if there is one, Google will find it.

This will be more difficult than I thought...
There is a library to drive MAX6950, but it has almost no documentation.

link to the library: IOTbot MAX6950 library

Grumpy_Mike:
Sorry I don’t understand that.

I meant that the specific data I want to show in a 7-seg display set must always be shown in that specific 7-seg display set. I wouldn't do at all to turn off the system, then turn it on and have that specific data shown in the other 7-seg display set.

However, PaulRB has made me reconsider as it's highly likely LedControl won't work with the MAX6950.

However, PaulRB has made me reconsider as it's highly likely LedControl won't work with the MAX6950.

I think there is too much dependency on libraries in the Arduino world. Driving this chip is very simple and using a libiary to do such a simple thing robs you of the chance of learning the skill to interface to any chip. It is just a matter of reading the data sheet and seeing what numbers to write to what registers.

Without that skill you are doomed to restrict your activities to where others have gone before.

I meant that the specific data I want to show in a 7-seg display set must always be shown in that specific 7-seg display set. I wouldn't do at all to turn off the system, then turn it on and have that specific data shown in the other 7-seg display set.

I see. That would not be a problem with either max7219 or max6950. Addresses are determined by wiring, not assigned in software, and is deterministic.

The displays I'm trying to drive are HDSM-283.

Those displays are not suitable, but not for the reason I was concerned about. Single digit displays, or multi digit displays where the anode and cathode pins are not commoned (rare) are suitable for max6950.

The problem with these displays is the forward voltage, which is typically 3.3V, max 4.0V. If you are working with 3.3V supply, that probably won't be enough. You need a volt or so more for the switching/constant current driver circuits in the chip. Better to look for displays with a lower forward voltage, around 1.8~2.3V, which means red, amber, yellow, maybe green.

PaulRB:
Those displays are not suitable, but not for the reason I was concerned about. Single digit displays, or multi digit displays where the anode and cathode pins are not commoned (rare) are suitable for max6950.

The problem with these displays is the forward voltage, which is typically 3.3V, max 4.0V. If you are working with 3.3V supply, that probably won't be enough. You need a volt or so more for the switching/constant current driver circuits in the chip. Better to look for displays with a lower forward voltage, around 1.8~2.3V, which means red, amber, yellow, maybe green.

I've replaced the HDSM-283B for the HDSM-283C (those are red 7-seg). I've also checked the library and have now understood how it works. I still have to make a modification to have it work with multiple MAX6950 at the same time but that is easy enough. Thanks for your help.