LED display for Paricle Argon

Tags: #<Tag:0x00007f1ca6aa1468>



I am looking for an led display, similar to this one [https://www.adafruit.com/product/420], compatible with Particle Argon. Any recommendations?


@muneebr1, there is a library for the Photon for those types of display called RGBMatrixPanel. However, it uses a hardware timer library call SparkIntervalTimer which has not been ported to the mesh devices due to hardware differences between the STM32F205 used in the Photon/Electron and the nRF52840 used in the mesh devices. Once the mesh DeviceOS has stabilized and more then one hardware timer is made available, I will be writing a version of SparkIntervalTimer for the mesh devices.


@peekay123 Thanks for the reply, i am fine with using the photon, as long as it works. If i use the photon and buy this display, would it work?


@muneebr1, it will. Be aware that the display is driven by bit-banging code so it only support 512 colours (3 bits per colour). Otherwise, it works very well.


My LED Matrix display running Paul’s clock code is still running perfectly with a Photon.

It’s one of those things that you use multiple times every day of your life.


Do we have any estimate yet when the mesh devices will be developed to that point? I’m waiting for it for a couple of reasons including these hub75 displays. Even a rough baillpark, by summer? In 2019 at all?

I don’t mean rush the particle team, and I’m much more eager for better mesh stability, message reliability, and high available mesh networks which are rightfully higher priority, but are user hardware timers even on the timeline? If it’s going to be too long I’ll probably just buy a feather M4. But even if we’re talking 6 months, I’d rather wait for mesh.


@RWB and @peekay123 Thanks for your replies :slight_smile: Is there any example code i can look at on how to use this library and set up everything up? Thank you again, so much!


@muneebr1, you will find RGBPixelClock in the Web IDE. However, it seems that RGBMatrixPanel is currently a private library. I need to publish it to make it public which I can do later today.


Hey @peekay123

I finally received the adafruit 32 x 32 panel.

I am a little confused about the wiring, i was able to locate this on the ada fruit library

What would be the corresponding connections to the particle Photon, is some shield required for this?


The RGBMatrixPanel library demos do provide you with the answer

#if (RGBSHIELDVERSION == 4)		// Newest shield with SD socket onboard
	#warning "new shield"
	#define CLK	D6
	#define OE	D7
	#define LAT	TX
	#define A  	A0
	#define B  	A1
	#define C  	A2
	#define D	RX
	#warning "old shield"
	#define CLK	D6
	#define OE 	D7
	#define LAT	A4
	#define A  	A0
	#define B  	A1
	#define C  	A2
	#define D	A3

RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false);

Don’t mind the term shield. This refers to some custom PCBs @peekay123 has produced himself (he may still have some to sell :wink: ) but you can just use jumper wires for testing and you can use other pins that may be more convenient for your too.


Hey @ScruffR thank you for your response :slight_smile:

So i followed the following configuration and connected it to JIN.

The screen lights up and tries to do something but its gibberish, random colors coming up. I tried the colorwheel example provided in the library. Any ideas what i could be missing?

Moreover does the GND signal need to be connected as well from the photon? I did though, but that did not help either.



For reference, This is what i am getting.


Is this pin configuration also activated in code?


Hey @ScruffR!

Are you referring to this? Its already selected as default in the code.

// NOTE: Version 4 of the RGBMatrix Shield only works with Photon and Electron (not Core)


Yes, I was but wasn’t sure whether or not you still go that in your code.


I can double check the wiring again, its either that or i got a bad display. Cant think of anything else.


@muneebr1, here is a quick checklist to be mindful of:

  • You also need to connect the R-G-B pins as follows:
#define R1      D0      // bit 2 = RED 1
#define G1      D1      // bit 3 = GREEN 1
#define B1      D2      // bit 4 = BLUE 1
#define R2      D3      // bit 5 = RED 2
#define G2      D4      // bit 6 = GREEN 2
#define B2      D5      // bit 7 = BLUE 2
  • Don’t power the panel from the Vin of the Photon. Instead, power the Photon from the same 5V supply as the panel (via Vin). If you power the Photon via USB and the Panel via a 5v power supply, make sure the grounds are connected.



thanks! i have not connected these. do all 6 of these need to be connected?

and i am using a dual usb power bank to power the display and the photon.


@muneebr1, YES you need ALL of those.

If I understand correctly, you have one USB going to the Photon and the other going to a directly to power the panel? I have never tried this but remember that a good USB cable can handle 2 Amps at best. The RGB panel with all LEDs ON at full brightness will draw upwards of 4A! However, the RGBPixelClock doesn’t do this so you should be ok.


thanks thats probably why its not working. i will connect the rest as well

and i already looked into that. i will never be lighting the entire display up, just need to display some text.