• Eric,

    surre, Espruino PICO has enough GPIO pins to do it. I Though strongly recommend that you use current limiting resistors (on column pins) because there is a limit in max current the chip can take...

    Take a look at Driving LED matrix with shift registers such as 74HC595. The shift register was intentionally used to use the least GPIO pins as possible. Instead of calculating and shifting out the bits, you calculate the bits in an integer and output it to an array of GPI pins in CharliePlexed fashion (see digitalWrite()).

    For example:

    //  row / col:        5    4    3    2    1    7    6  /  5    4    3    2    2
    //  matrixPins:       8    7   10    3    1    6    5     4    9    2   11   12
    var espruinoPins = [B13, B10,  B1,  A7,  A6,  A5,  A8,   B7,  B6,  B5,  B4,  B3];
    //  weight         2048 1024  512  256  128   64   32    16    8    4    2    1
    //                 ----------------------------------   -----------------------
    //                 ---------- to be set LOW ---------   --- to be set HIGH ----
    var leftTopLED = 4064 - (32) + (1); // 4033 = 0b1111000001
    digitalWrite(matrixPins,leftTopLED);
    digitalWrite(matrixPins,0b011111110000);­ // rigthBottom
    

    I like the pics you added while I was working on this post... Give me some more time to get something going for you... When you want to use the graphics buffer and Graphics object in Espruino, you declare a black and white (2 colors 7x5 matrix) and then read it out and process it row for row. With that you can use the built in or available fonts. If you go the direct mode as above, you have to get the font bit mapping yourself.

About

Avatar for allObjects @allObjects started