smart miniature (DIP6) 5x7 LED Matrix

Similar projects worth following
This is what happens if you put the #reDOT and a small microcontroller on one PCB. It started in DIP-6 form factor and UART-Control, but I switched to a SAO-Style connector and i2c for controlling.

This project is based on my #reDOT project. Basically it is a 5x7 SMD LED Matrix an a microcontroller on one PCB. I started with 0201 LEDs (see first project log), but this was not reliable. So a two other Versions with 0402 followed. 0402 LEDs do have some benefits over 0201:

  • bigger and you can solder them better
  • cheaper
  • more colors availible

The microcontroller (a low coast STM8) drives all LEDs directly with multiplexing. For controlling a i2c interface is available. On the back is a male pinheader which fits the SAO-standard. 

The PCB needed to be 4 Layers to get this dense Parts population.

  • 35 × LEDs 0402 (any color should work) Tiny LEDs chose your favorite Color
  • 1 × STM8S003F3U6TR Microprocessors, Microcontrollers, DSPs / Microcontrollers (MCUs)
  • 2 × Capacitor 0402 100nF
  • 2 × Pinheader 100mil 4 Pin (2x2 SMD)

  • supercon

    Alex11/17/2019 at 22:43 0 comments

    in tha SAO Wall hat supercon

  • new revision partly working

    Alex03/03/2019 at 20:48 2 comments

    Got the new revision working this weekend!. There is still some work to do: The work on the i2c communication is not yet started, but it can already show some hard coded demo texts.

  • New revision

    Alex10/12/2018 at 21:23 3 comments

    some first image of the new revision some spoilers:

    •  change communication to i2c with SAO-style connector on the back
    • smaller PCB, bur no 4 Layer (PCB in the image made by Aisler, Ordered also some from OSH-Park but they are stuck in customs) 

    And here are some renders of the PCB. I showed them earlier on twitter:

  • Reactive

    Alex08/08/2018 at 20:16 0 comments

    So I decided to push some more work into this Project. Mainly for a firmware an Documentation. To get a< nice entry for "The Return of the Square Inch Project". So updates will follow.....

  • Link to follow-up project!

    Alex03/15/2018 at 17:18 0 comments

    So there is a follow up project: #reDOT_Matrix !

    Please like/follow that project to get updates and support me for the HAD-Prize 2018! 

    In that new Project I will put multiple 5x7 Matrixes on the same PCB an controlled by one MCU. I was thinking that there is no use case for me for one digit display and "wasting" one MCU per digit seemed not perfect for me. (although the STM8 is super cheap) 

  • new 0402 version

    Alex02/02/2018 at 18:55 0 comments

    I now ended up with a version with is reasonable easy to solder:

    more information soon

  • New 0402 LED version

    Alex03/27/2017 at 20:10 7 comments

    Soldering the 0201 on double sided populated boards was a fail (see last log). But here is the solution: 0402 LEDs. The board will be with 300x390 mil a little bit bigger than the old one (300x340). But hope that the 0402 LEDs are easier to solder. And they are much cheaper also.

  • 0201 version fail

    Alex03/27/2017 at 16:24 0 comments

    The first version of this was planed with 0201 SMD LEDs as I used them on the 0201 version of #reDOT

    but there are a few problems:

    • my hand-manufacturing yield to bad: with 50 LEDs I had to few to populate all 35 successful
    • reworking is quite difficult
    • when populating the one side the other side could get messed up, specially the LEDs get de soldered quite fast.

    So I decided that 0201 LEDs on PCBs with parts on both sides are out of my specifications. And i will use 0201 only on single sided populated boards in the future.

    Here are some of images of the partial working prototype, as you can see some LEDs are missing and some other would need some rework:

    But this project will go on: I am working on a 0402-LED version. with nearly the same Form Factor.

    Old image/text dump:

View all 8 project logs

Enjoy this project?



Shof wrote 10/31/2019 at 05:52 point

Hi, may i ask. how to program the stm8s00? i mean the compiler and programmer

  Are you sure? yes | no

Alex wrote 11/17/2019 at 19:18 point

sorry for the delay
Compiler: SDCC
Programmer ST-Link V2 China clone and stm8link software on Linux

  Are you sure? yes | no

davedarko wrote 01/05/2017 at 20:20 point

no. No you didn't.

[edit] is it chainable?

  Are you sure? yes | no

Alex wrote 01/05/2017 at 21:56 point

yes. At least is that the plan. Therefore connected pins for the supply rails are available on both sides. The idea is to solder them together like #tiny7. The RX pin of the second display would be connected to the TX pin of the first one. So the firmware must implement some kind of UART-shiftregister to control all displays with same firmware

  Are you sure? yes | no

Ted Yapo wrote 01/05/2017 at 22:05 point

This is a very cool project.

I made a similar UART network display some time ago - much larger, of course, and with 7-segment LEDs.

I ended up sending a small 3-byte packet of data.  The first byte is a destination address (which display), the second byte is a command code, and the third byte is data.  Each display receives a packet either from the host or its neighbor, and if the destination address is zero, executes the command code.  If the address is >0, the display decrements the address and sends the packet to the next display in line.  It works pretty well, and you could chain 256 of them together.

  Are you sure? yes | no

Alex wrote 01/05/2017 at 22:17 point

Thanks for your comment. That is a nice idea for protocol.

In my first prototype I am just sending ASCII chars. The font is stored locally on the display. The old char gets send to the next display. So you get some kind of shift register. But I am also limited to 256 different characters.

So sooner or later I will use some protocol. Specially for controlling brightness and addressing each Led individual .

  Are you sure? yes | no

Ted Yapo wrote 01/05/2017 at 23:09 point

Your comment about brightness reminded me - I reserved address 255 as a "broadcast" - every display executes the command and passes the broadcast message on.  I did this for implementing brightness controls, so they all change with just one packet.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates