update to max7219/raspberry pi circuit

Schematic diagram

It bothered me quite a bit that my last few schematic diagrams were missing the 8×8 LED matrix display. As it turns out, the part number for the 8×8 LED display is printed on the side: 1088AC. When I went looking for any part sheets for it, all I found was a single page with this printed on it

1088AS schematic diagram

It was a PDF with a copy of a copy of the circuit diagram. I could barely make out the column, row, and physical pin numbers. I then went looking for an open source KiCad part for the 1088AC and found one on GitHub, which I forked and then cloned from my fork. I was able to quickly ascertain that the part was designed for KiCad 6. From there I used KiCad’s part library manager to import the part and then convert to KiCad 7 format. I had to do a bit more work with it before I could use it. For example, all the LED symbols were reversed, pointing up (as common anode) instead of down (common cathode). A little work to select and flip each diode symbol took care of that. I also change all the row pins from input to output, as they were all defined as input.

I am aiming to order a dozen or so MAX7221 parts from e-bay. The MAX7221 has a few additions internally over the MAX7219, one of which is that it support QSPI format data communications. Same price as the MAX2719, same pinout.

MAX7219/MAX7221

What’s interesting about the MAX7219/MAX7221 part sheet, it mentioned on the front page that it was suitable for LED matrix displays, but all the circuit diagram examples only show seven-segment by eight character displays, such as the one on the right above.

More learned with KiCad 7; better control with the schematic diagram, the ability to import parts, and the ability to convert from KiCad 6 to KiCad 7. When I’m finished with the 1088AC KiCad drawing part I’ll update my GitHub version and post a link to it in another post.

Links

My copy with updates and migration to KiCad 7. Note that only the 1088AS part has been updated. — https://github.com/wbeebe/kicad-LED_DotMatrix

moving back to raspberry pi os on the raspberry pi 5

HiLetgo MAX7219 Dot Matrix Module attached to a Raspberry Pi connector

You’re looking at a very simple circuit diagram, where I’ve wired a HiLetgo MAX7219 Dot Matrix Module to the Raspberry Pi 5 via its 40 pin connector. In spite of the add for the module on Amazon (see below) it works just fine with the Raspberry Pi and a Python library, Luma.LED_Matrix, I found on the web (see links below).

Amazon entry for HiLetgo module

All I wanted to do was hook up one of these inexpensive four-character modules to a Raspberry Pi 5 and scroll text across it using Luma.LED_Matrix. It does not work with Ubuntu 23.10. It works just fine with the latest release of Debian GNU/Linux 12, a.k.a. Raspberry Pi OS. The problem is that Ubuntu 23.10 does not enable the SPI kernel drivers. Raspberry Pi OS does.

All SPI devices under Raspberry Pi OS on Raspberry Pi 5

The screen capture above shows what the SPI devices will appear as in the dev file system if the kernel drivers are properly configured for the SPI peripherals. When you try this on Ubuntu all that is shown is /dev/spidev10.0. The other two devices are missing.

There’s not much more to say at this point except I am extremely aggravated to have to back down to Raspberry Pi OS. Ubuntu 23.10 is a gorgeous UI and a highly performant distribution on the Raspberry Pi 5. Getting it set up was no different than on an x86-64 system, and once set up was indistinguishable from normal Ubuntu. All the tools worked, especially Visual Studio Code, and I was developing command line tools written in Rust. It was a breeze doing anything non-trivial. Until I tried physical computing, at which point Ubuntu’s limitations in those areas became evident.

It’s not a problem to physically switch between operating systems. I just don’t want to, and based on my experience so far with Ubuntu 23.10, I will be dragged back kicking and screaming to Raspberry Pi OS on the Raspberry Pi 5. As soon as I can come up with a good solution to this mess, I’ll post it.

Links

Luma.LED_Matrix — https://github.com/rm-hull/luma.led_matrix

moving back to raspbian 64 bit, dropping work on wiringpi