Arduino QDSP Display

About: Photonics Engineer

Hi there,
This weekend I found a QDSP display lying arround my office and I never worked with one before so I thought it would be a nice weekend project, I searched on internet about this display made by HP, and I found almost no information about it, there is no Datasheet and it took me a while to find out how to send the information.

The QDSP Display its called an "smart" display because it has a ROM inside that has 128 characters in ASCII so you can print them by sending the right address and selecting the position.

So, with this information I made a code in Arduino to control it just by tiping the phrase in a Char.

Hope you like this instructable!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Finding the PinOut

As I said there is no Datasheet availabe so I tried with the same pins as the HDSP displays also made by HP, and foutunately it has the same pinout.

So I made this schematic.

Step 2: The Code

//Nombre de los pines de salida
  int RST = 10;
  int CE = 2;
  int D0=3,D1=4,D2=5,D3=6,D4=7,D5=8,D6=9;
  int Datos[] = {D0,D1,D2,D3,D4,D5,D6};
  int Ad0=11,Ad1=12,Ad2=13;
  int Dir[] = {Ad0,Ad1,Ad2};
void setup() {
  pinMode(RST, OUTPUT);
  pinMode(CE, OUTPUT);
  pinMode(51, OUTPUT);
  for(int i=0;i<=6;i++){
    pinMode(Datos[i], OUTPUT);}
  for(int j=0;j<3;j++){
    pinMode(Dir[j], OUTPUT);}

Serial.begin(9600);
digitalWrite(CE, HIGH);; delay(100); reset(); }

void loop() {
  char palabra[] = "Instructables";
  Scroll(palabra);
  delay(200);
}
void Esc(char *dato){
  for(int k=0;k<=7;k++){
    digitalWrite(Ad0,(1&k)!=0?HIGH:LOW);
    digitalWrite(Ad1,(2&k)!=0?HIGH:LOW);
    digitalWrite(Ad2,(4&k)!=0?HIGH:LOW);
    int Bin = dato[k];
    for(int i=0;i<=6;i++){
      digitalWrite(Datos[i],(bitRead(Bin,i)));
    }
    delay(1);
    digitalWrite(CE,LOW);
    delay(1);
    digitalWrite(CE,HIGH);
  }
}
void Scroll(char *words){
  char buffer[9];
  int i = 0;
  while(words[i]-1 != 0){
    boolean blank = false;
    for(int j=0;j<8;j++){
      if(!blank && words[i+j]==0){
        blank = true;
      }
      if(blank){
        buffer[j] = ' ';
      }else{
        buffer[j] = words[i+j];
      }
    }
    buffer[8]=0;
    Esc(buffer);
    if(i==0)
      delay(500);
    delay(200);
    i++;
  }
}
void reset(){
  digitalWrite(RST, LOW);
  delayMicroseconds(1);
  digitalWrite(RST, HIGH);
  delayMicroseconds(150);
}

Step 3: The End

I found harder to realize that the D7 should be connected to GND, If you connect it to an arduino output this could cause you a lot of noise in the display,

There is another option if you send it to 1, this is made to add your own characters, this display can store up to 16 characters made by you, but this would be a topic for another instructable

Well, I hope you found this usefull, because there is not too much information about the QDSP display on the internet.

Be the First to Share

    Recommendations

    • Instrument Contest

      Instrument Contest
    • Make it Glow Contest

      Make it Glow Contest
    • STEM Contest

      STEM Contest

    2 Discussions

    0
    None
    markvk3

    5 weeks ago on Step 3

    Thanks, I hooked up a QDSP-289 display to a Arduino MEGA and it worked!
    This was a very advanced LED display for it's time.
    I recovered some of these displays from old Motorola MicroTAC flip-phones (early analog cell phones - see: en.wikipedia.org/wiki/Motorola_MicroTAC).
    The Hewlett Packard/Agilent/Avago datasheet for HDSP-210x-series seem to be very similar. The HDSP-2107 and HDSP-2112 displays being the closest to the QDSP-2089. I guess the QDSP may have had been a special OEM version for Motorola.
    It appears this display has the same set of alphanumeric and graphic characters as the HDSP210x-series.
    To avoid any problems with power supply instability, I joined both GND pins (display pins 15 & 16) together as close to the display as possible, and added a 100nF capacitor between GND and the VCC on pin 14.

    1 reply
    0
    None
    Lindermann95markvk3

    Reply 4 weeks ago

    Thats just great!
    i’m happy to see that this instructable was usefeull for you
    let me know if you make a project with it