Jump to content
touch

SPI 4 digit 7 segment displays

Recommended Posts

I found these on eBay and bought some:

http://www.ebay.com/itm/NEW-Lot-10-Oasi ... 0807998835

 

They are 7 segment displays with the PT6961 driver chip built in. Datasheet here: http://www.princeton.com.tw/downloadpro ... PT6961.pdf

 

I cant seem to find anything out about the Oasis display, it appears to be pretty old with a date code of 0726, I'd assume the 26th week of 07. I did figure out the pinout of the display though. IC requires between 3.3 and 5v so I assume it will work with the launchpad.

 

Hope to get this working soon, I'll update when I do...

Share this post


Link to post
Share on other sites

Pin out is as follows, starting from the pin closest to PIN1 on the SOP32 chip.

VCC, STB, CLK, DIN, DOUT, GND.

 

For SPI, clock polarity needs to be set to 1 and phase 0, LSB, I believe.

 

I've not gotten anything meaningful displayed yet.. I'm still trying to decipher the datasheet and figure out the address's for each digit/segment.

 

I've never seen a 7 segment display with different colors like this one.

HZsKa.jpg

Share this post


Link to post
Share on other sites

From what I can tell so far the decimal points aren't hooked up at all. :cry:

 

It seems that way, green digits with a red colon...very odd.

 

I noticed they have another set of displays here:

http://www.ebay.com/itm/10-New-Oasis-4- ... 2ec116e572

 

Seems they are the same P/N though. I'm almost tempted to buy another 10... No idea what I'd use them for but I've never seen any displays like these with the driver chip built in, let alone at this price...

 

Here's what it looks like after I mapped out the segments.

9kXUk.jpg

Share this post


Link to post
Share on other sites

Nice find on the datasheet, I've been looking for one with no luck so far. I'm going to try to contact the manufacturer and see if I can get them to send me one.

 

From what I can tell there are not two segment colors, I'm not sure why the auction says that, maybe an error?

 

The digits are mapped as the following bits for each corresponding segment, LSB:

0 - A

1 - B

2 - C

3 - D

4 - E

5 - F

6 - G

7 - Colon

 

DP Appears to be unconnected from what I can tell. I filled the entire display RAM with FF and can't get them to light.

Share this post


Link to post
Share on other sites

Considering they have multiple auctions, your's listed as red+blue (but you got green + maybe red?) and they have a different auction for red only on the same type of displays, but it looks like they have the same part numbers? Is there any other markings on the display itself?

Share this post


Link to post
Share on other sites

Here's what the label on the tube they came in says:

PN 07G024002500

SPEC: 4/D LED DISPLAY BLUE+RED

TOFD-5465GGH-B

Date Code: 0726 Lot code DB02

Maker OASIS Vender OASIS

 

Display has the same marking TOFD-5465GGH-B on it.

 

Here's some code I wrote in Energia to cycle through the display:

#include 

const int slaveSelectPin = SS;
const char DISP[16] {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x58, 0x5e, 0x79, 0x71};

void setup() {
 pinMode (slaveSelectPin, OUTPUT);
 SPI.begin(); 
 SPI.setBitOrder(LSBFIRST); 
 SPI.setDataMode(SPI_MODE2);
}

void loop() {
 //set display to 6x12 segments
 digitalWrite(slaveSelectPin,LOW);
 SPI.transfer(0x02);
 digitalWrite(slaveSelectPin,HIGH); 

 //set to writing mode, auto incrament address after data write
 digitalWrite(slaveSelectPin,LOW);
 SPI.transfer(0x40);
 digitalWrite(slaveSelectPin,HIGH);

 //first clear 8 bytes of the display RAM
 digitalWrite(slaveSelectPin,LOW);
 SPI.transfer(0xC0);
 for(int i=0; i<8; i++){
     SPI.transfer(0x00);
 }
 digitalWrite(slaveSelectPin,HIGH); 

 //display on, max brightness
 digitalWrite(slaveSelectPin,LOW);
 SPI.transfer(0x8F);
 digitalWrite(slaveSelectPin,HIGH); 

 //count through 0-9,a-f
 for(int i=0; i<16; i++){
     digitalWrite(slaveSelectPin,LOW);
     SPI.transfer(0xC0);
     SPI.transfer(DISP[i]);
     digitalWrite(slaveSelectPin,HIGH); 
     delay(500);
 }
}

Share this post


Link to post
Share on other sites

OK, got mine, they are green with red colon, not sure what BLUE + RED mean (maybe that's why they ended up with the surplus guy :) )

In any case, thanks for finding them touch, they are awesome.

 

Here's my test code

#include 

void sendData(unsigned char data, unsigned char hold);
const char segments[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,
	0x6f, 0x77, 0x7c, 0x58, 0x5e, 0x79, 0x71 };

void main(void) {
WDTCTL = WDTPW + WDTHOLD; // stop WDT

P1OUT |= BIT0 + BIT5 + BIT6;
P1DIR |= BIT0 + BIT5 + BIT6;

sendData(0x02, 0);
sendData(0x40, 0);
sendData(0x8F, 0);

char i = 0;
char colon = 1;
while (1) {
	for (i = 0; i < 16; i++) {
		colon ^= 0x01;
		sendData(0xC0, 1);
		sendData(segments[i] + (colon ? BIT7 : 0), 0);
		sendData(0xC2, 1);
		sendData(segments[i] + (colon ? BIT7 : 0), 0);
		sendData(0xC4, 1);
		sendData(segments[i], 0);
		sendData(0xC6, 1);
		sendData(segments[i], 0);
		_delay_cycles(500000);
	}
}
}

void sendData(unsigned char data, unsigned char hold) {
char c = 0;
P1OUT &= ~BIT0;
while (c < 8) {
	(data & 0x01) ? (P1OUT |= BIT6) : (P1OUT &= ~BIT6);
	data >>= 1;
	P1OUT &= ~BIT5;
	P1OUT |= BIT5;
	c++;
}

if (!hold) {
	P1OUT |= BIT0;
}
}

 

post-197-135135566593_thumb.jpg

Share this post


Link to post
Share on other sites
OK, got mine, they are green with red colon, not sure what BLUE + RED mean (maybe that's why they ended up with the surplus guy :) )

In any case, thanks for finding them touch, they are awesome.

You're welcome, they are awesome! I wish I could find some with working decimal points, or maybe a 6 digit version, but this is the first time I've ever found a 7 segment display with a driver IC built in. Sure beats having to deal with current limiting resistors/pwm + multiplexing...

 

It's kinda funny, since I made this post they've sold 30+, but when I bought mine they had sold none.

Share this post


Link to post
Share on other sites

This thread has been seen almost 500 times, and they featured it on the 43oh blog.

 

Also, Oasis's online catalog shows that the 5425 lcd's raw pinout. 1 common for each 4 digits, with 7 segment lines. But the last two commons have an extra segment for the separator dots. The decimal points are not connected at all, and probably don't even have leds in the positions.

http://issuu.com/oasistek/docs/2012_display_catalogue

Share this post


Link to post
Share on other sites

in answering the question of whether there are decimal LED's buried in there somewhere I can conclusively say no there are not.

 

I sacrificed one to the gods of tearing stuff apart and found there are neither LED's or driving circuit pads for them, just the 4 7 segment characters and the two colon points.

 

it was interesting extricating the circuit board without breaking it (although the LED's get destroyed when you split the two halves apart)

post-12741-135135566988_thumb.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×