Friday, January 20, 2017

Bubble display QDSP-6064 and MAX7219

Last year got some small "calculator" bubble shaped 4 * 7 seg. led displays thinking it could be nice for a frequency display or some other stuff.

I was just missing the IC for serial connection/display driver since the Arduino has not enough pin's for the job.

The MAX7219 display driver arrived this week and without further I did the needed connections according to data sheet, sort of, it worked first time with only two switched segments, promptly corrected.

Each DIL display has set of 4 digits so bellow I'm using two set's.

The outcome of the software/hardware combination:

The display connection/aka "rats nest":

Full picture with Arduino:

MAX7219 pin-out and connection example:

QDSP-6064 display pin-out:


The resistor for current limiting on the MAX IC (38K) was placed without any calculation only to be conservative. Setting the bright to "4" on the code (lc.setIntensity(0,4);) is more than enough for good readability.

Additional lecture:



Arduino code for display testing:

// test code for bubble display HP QDSP-6064 and max7219
#include "LedControl.h"
#include "Wire.h"

#define PIN_DIN          12 // pin 1  on MAX72XX
#define PIN_CLK          11 // pin 13 on MAX72XX
#define PIN_LOAD         10 // pin 12 on MAX72XX

int di1=0; // first digit from Right to left is DIG0 on max7219
int di2=1;
int di3=2;
int di4=3;
int di5=4;
int di6=5;
int di7=6;
int di8=7; // left most digit is DIG7 on max7219

LedControl lc = LedControl(PIN_DIN, PIN_CLK, PIN_LOAD, 1);

void setup()
  // MAX72XX is in power-saving mode on startup, we have to do a wakeup call;

  lc.setDigit(0,di1,0,true);   // if true then show the decimal point  / DIG0
  lc.setDigit(0,di2,1,true);   // digit number 2 / "address" 1 / DIG1

void loop()
// do nothing here, the display was on during setup...


In the mean time I loaded code for a frequency counter. That will be part of another project.

Have a nice weekend!