I can’t believe I have been trying to put something on my display for months and here I click your channel and it’s easier then the rest of TH-cam!!Thank You
Just got this exact setup. I was able to get the Weather project up & running. Really, my goal is to create a simple scoreboard that loads one score via a JSON file online. Having some difficulty finding a simple 'Hello World' but I'm getting closer. New for me too. I usually work in C#.
Nice! That's awesome! What kind of scoreboard are you thinking? I was thinking of doing a follow up video where I get live NBA scores (this is increasingly becoming my 'Hello World')
Welcome aboard Jordi. You seem to be having a lot of fun with this stuff. I was at about this point 10 years ago. Perhaps I can clear up some of the mysteries: Nothing against Adafruit, wonderful company. Looking at their selection of boards however, you might notice that the panel you bought is a 16x32 LED board for $24, yet if you look down the list a bit you'll see a smaller 8x32 LED board for $99. So, what gives? The quick answer, is that the LEDs on each are VERY different. What you have, uses RGB LEDs, the other uses WS2812 (or similar) Neo pixels. So, what's the difference? To a first approximation, RGB LEDs are very simple (and cheap.) They have 4 pins, one for power and one each for the red, green and blue LEDs in each chip. This means that to light up all of your LEDs, you need to effectively wire up every LED i.e. 16x32x3 = 1536 pins. Clearly, this is ridiculous since typical microcontrollers have perhaps 10 to 20 available pins. So, there is something called multiplexing, where LEDs are laid out in rows and columns. If you supply power to a column and a row, and the LEDs are connected accordingly, you can light up any of the LEDs. So, (32 rows + 16 columns) x 3 colours = 144 pins required. A VAST improvement, but still WAY too many pins. So, if you flip your board over you will see tons of chips. These are shift registers. The basic idea is, your microcontroller sends a signal (a stream of bits) to the shift register, which then shifts that information one bit at a time, and places the individual signals on 8 pins of the shift register. Shift registers can be hooked up in series, so if you have 4 shift registers in series, you get 32 individual signals on 32 shift register pins, hooked up to the 32 columns. Same idea for the rows. And of course you would multiply by 3 to get red, green and blue. Thus ... with 21 shift registers, you can address all 1536 of your LEDs. Your microcontroller now only has to provide signals on 2 pins, along with a few overhead pins to do the job. A HUGE improvement ... now any old microcontroller should be able to drive your panel. On the down side, there is a fair amount of circuitry required to drive the panel. Also, so far, all we have accomplished for each LED, is either turning it ON or OFF. Controlling individual brightness levels of the LEDs, is an entire other topic. The alternative, is the Neopixel type LED. Essentially, this is an RGB LED with shifts register built into every single chip. They also have built in circuitry to control the intensity of the red, green and blue individually. There are 4 pins per chip, GND, VCC, DATA IN, and DATA OUT. You simply connect the DATA OUT from each pixel, to the DATA IN of the next pixel, forming a big long chain of them, so wiring is DEAD SIMPLE. All that is required to control any of perhaps 256 or more LEDs, is to have the microcontroller send a stream of data (3 bytes per pixel) into the first DATA IN in the chain, and follow this up by sending enough data to push this all the way down the chain to where it lights up the desired pixel. To light up all or some of the pixels along the chain, you simply create your stream of data accordingly. These are FAR more elegant and require only a single data pin on your microcontroller. On the downside, because of the extra built in circuitry, these chips are more expensive (figure $0.10 vs $0.01 each, and also driving these LEDs can be a bit more challenging for the microcontroller. ... I'll give you a minute to digest all of this. ... So ... while this might seem a bit daunting, the good news is, ALL of this stuff is VERY easy to do because countless people have written libraries for every imaginable microcontroller board, and any programming language you can imagine. Seriously ... these things are very popular. There is TONS of information available on youtube, so even a 12 year old should have no issues getting these panels up and running in an afternoon. AND Adafruit is famous for providing libraries of their own, along with tons of information ... as you have found out. Still ... people should not feel locked into this particular setup. For example, I have an 8x32 Neopixel panel which I bought on AliExpress, where these panels sell for about $10 each, compared with the $99 that Adafruit charges for the same thing. Nor does it require any particular hardware, pretty much any microcontroller board works just fine. And, if you don't know how to do something, just do a search on youtube and you'll find hundreds of tutorials by people who will happily show you how. As for the 'SAMD powered Circuit Python Matrix Portal board' thing that Adafruit sells, which seems to be a dedicated display driver, ... I've never been a big fan of the Atmel SAMD line of microcontrollers. They are 32 bit, so they are more powerful than their 8 bit Arduino cousins, but they just seem clunky and expensive compared with the alternatives. Both the Raspberry Pi pico and the ESP32 microcontroller boards can easily run Circuit Python (or some variant thereof) exactly the same way this SAMD board does, both are much less expensive, and both have a HUGE community supporting them. And if you're open to writing in c instead of python (on the Arduino platform for example), there are dozens of other even less expensive alternatives. Anyway, good luck with this.
Update, so far so good. I just had to download the S3 UF2 file instead. Any other cool projects you've completed? I'm trying to have screens similar to the Tidbyt
@@brody2642 I haven’t picked it up in a while, I’ve done a few cool things. Coolest one was connecting it to a web server where friends could input their own messages and have it displayed at a little celebration at my house
I can’t believe I have been trying to put something on my display for months and here I click your channel and it’s easier then the rest of TH-cam!!Thank You
Hey Jordi! Does this still apply to the Matrix portal s3? I'm having a lot of trouble setting it up but I stumbled upon your video
Just got this exact setup. I was able to get the Weather project up & running. Really, my goal is to create a simple scoreboard that loads one score via a JSON file online. Having some difficulty finding a simple 'Hello World' but I'm getting closer. New for me too. I usually work in C#.
Nice! That's awesome! What kind of scoreboard are you thinking?
I was thinking of doing a follow up video where I get live NBA scores (this is increasingly becoming my 'Hello World')
@@jordiadoumie1919 I am making a scoreboard for a gameshow. It will read an API from adafruit IO
Welcome aboard Jordi. You seem to be having a lot of fun with this stuff. I was at about this point 10 years ago. Perhaps I can clear up some of the mysteries:
Nothing against Adafruit, wonderful company. Looking at their selection of boards however, you might notice that the panel you bought is a 16x32 LED board for $24, yet if you look down the list a bit you'll see a smaller 8x32 LED board for $99. So, what gives? The quick answer, is that the LEDs on each are VERY different. What you have, uses RGB LEDs, the other uses WS2812 (or similar) Neo pixels. So, what's the difference?
To a first approximation, RGB LEDs are very simple (and cheap.) They have 4 pins, one for power and one each for the red, green and blue LEDs in each chip. This means that to light up all of your LEDs, you need to effectively wire up every LED i.e. 16x32x3 = 1536 pins. Clearly, this is ridiculous since typical microcontrollers have perhaps 10 to 20 available pins. So, there is something called multiplexing, where LEDs are laid out in rows and columns. If you supply power to a column and a row, and the LEDs are connected accordingly, you can light up any of the LEDs. So, (32 rows + 16 columns) x 3 colours = 144 pins required.
A VAST improvement, but still WAY too many pins. So, if you flip your board over you will see tons of chips. These are shift registers. The basic idea is, your microcontroller sends a signal (a stream of bits) to the shift register, which then shifts that information one bit at a time, and places the individual signals on 8 pins of the shift register. Shift registers can be hooked up in series, so if you have 4 shift registers in series, you get 32 individual signals on 32 shift register pins, hooked up to the 32 columns. Same idea for the rows. And of course you would multiply by 3 to get red, green and blue. Thus ... with 21 shift registers, you can address all 1536 of your LEDs. Your microcontroller now only has to provide signals on 2 pins, along with a few overhead pins to do the job. A HUGE improvement ... now any old microcontroller should be able to drive your panel. On the down side, there is a fair amount of circuitry required to drive the panel. Also, so far, all we have accomplished for each LED, is either turning it ON or OFF. Controlling individual brightness levels of the LEDs, is an entire other topic.
The alternative, is the Neopixel type LED. Essentially, this is an RGB LED with shifts register built into every single chip. They also have built in circuitry to control the intensity of the red, green and blue individually. There are 4 pins per chip, GND, VCC, DATA IN, and DATA OUT. You simply connect the DATA OUT from each pixel, to the DATA IN of the next pixel, forming a big long chain of them, so wiring is DEAD SIMPLE. All that is required to control any of perhaps 256 or more LEDs, is to have the microcontroller send a stream of data (3 bytes per pixel) into the first DATA IN in the chain, and follow this up by sending enough data to push this all the way down the chain to where it lights up the desired pixel. To light up all or some of the pixels along the chain, you simply create your stream of data accordingly. These are FAR more elegant and require only a single data pin on your microcontroller. On the downside, because of the extra built in circuitry, these chips are more expensive (figure $0.10 vs $0.01 each, and also driving these LEDs can be a bit more challenging for the microcontroller.
...
I'll give you a minute to digest all of this.
...
So ... while this might seem a bit daunting, the good news is, ALL of this stuff is VERY easy to do because countless people have written libraries for every imaginable microcontroller board, and any programming language you can imagine. Seriously ... these things are very popular. There is TONS of information available on youtube, so even a 12 year old should have no issues getting these panels up and running in an afternoon. AND Adafruit is famous for providing libraries of their own, along with tons of information ... as you have found out.
Still ... people should not feel locked into this particular setup. For example, I have an 8x32 Neopixel panel which I bought on AliExpress, where these panels sell for about $10 each, compared with the $99 that Adafruit charges for the same thing. Nor does it require any particular hardware, pretty much any microcontroller board works just fine. And, if you don't know how to do something, just do a search on youtube and you'll find hundreds of tutorials by people who will happily show you how. As for the 'SAMD powered Circuit Python Matrix Portal board' thing that Adafruit sells, which seems to be a dedicated display driver, ... I've never been a big fan of the Atmel SAMD line of microcontrollers. They are 32 bit, so they are more powerful than their 8 bit Arduino cousins, but they just seem clunky and expensive compared with the alternatives. Both the Raspberry Pi pico and the ESP32 microcontroller boards can easily run Circuit Python (or some variant thereof) exactly the same way this SAMD board does, both are much less expensive, and both have a HUGE community supporting them. And if you're open to writing in c instead of python (on the Arduino platform for example), there are dozens of other even less expensive alternatives.
Anyway, good luck with this.
Update, so far so good. I just had to download the S3 UF2 file instead. Any other cool projects you've completed? I'm trying to have screens similar to the Tidbyt
@@brody2642 I haven’t picked it up in a while, I’ve done a few cool things. Coolest one was connecting it to a web server where friends could input their own messages and have it displayed at a little celebration at my house
@@brody2642 let me know if you come up with anything cool !
Hi i have a Question, how you Modifie your Powershell Window? or ist this a Macbook?
@@mfmusik70 oh my posh! Check out my channel for a few videos around how I set up Windows Terminal :)