Microcontroller Selection Assistance - LED projects

Please tell us which board you are using.
For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
ButterflyChorus
 
Posts: 4
Joined: Fri Sep 18, 2020 11:44 pm

Microcontroller Selection Assistance - LED projects

Post by ButterflyChorus »

I'm hoping someone can assist me with how to best select a microcontroller for my project.
While I've done electronics and programming before, I'm new to putting them together while using microcontrollers.

The first project I want to do is a version of the Cyberfalls Wig.
https://learn.adafruit.com/neopixel-cyb ... ython-code
My wig will require more than the 100 LEDs, so the original controller for this project won't work for me.
I was estimating 4 meters or 240 LEDs total in ten 16 inch strips, with the possibility of a couple more strips if needed.
(My friend wants to do 8 meters in ten 32 inch strips or 480 LEDs, but we'll cross that bridge after I do the first one. )

I read through the Kamui Cosplay book, but they talk about an Arduino Uno which appears to be discontinued.
1. Is the Metro comparable to the Uno?

2. More the point, how do I determine whether a microcontroller can accomplish a specific LED project?
a) As for number of controllable pins: LEDs appear to use the GPIO pins as long as those pins aren't otherwise reserved. Yes?
b) Is there a method for roughly estimating the amount of RAM a project uses to compare against the ability of the processor (Or more simply, the max number of LEDs a microcontroller can handle)?

The Cyberfalls project does provide CircuitPython code.
Some future projects I'm looking forward to (also on the "learning" portion of the website) are for use with CircuitPython, so I was hoping I could start with that language to make future projects easier/more consistent.

The Metro MO Express is for CircuitPython, which could possibly work for my projects. https://www.adafruit.com/product/3505
I did see a smaller Metro Mini which could be better for a wearable project, but from what I can tell, I would have to use ArduinoIDE rather than CircuitPython if I step down to any of the mini controllers.

3. What microcontroller would you recommend for the above? Does the Metro MO Express fit what I'm looking for? (it's my best guess so far)

I've been reading a lot of the articles on this website the past month to learn and prepare, but at this point I need to get some practical hands on experience, and it would help if I had a controller capable of the project. So I was hoping someone could assist with the above questions and a recommendation on a controller that can handle the larger Cyberfalls project that leaves a bit of overhead room should adjustments be necessary.

Thank you for your help.

Kaitlyn

User avatar
dastels
 
Posts: 15656
Joined: Tue Oct 20, 2015 3:22 pm

Re: Microcontroller Selection Assistance - LED projects

Post by dastels »

Semi-random thoughts.

Stay away from M0 boards if you plan on doing much with CircuitPython. Choose M4 boarss instead. They have significanyly more memory and CircuitPython eats memory like Cookie Monster eats cookies. Add to that a lot of NeoPixels and you'll need memory.

A Metro (i.e. Arduino UNO footprint) is pretty physically big for a costume project. I advise looking at Feather or ItsyBitsy boards, "M4 Express" are going to be adequate. The Feather has the benefit of having builtin LiPo battery support (including recharging by simply plugging in a USB cable.

The Arduino UNO is rather dated and limited. It's great for learning basic microcontroller concepts and very simple projects. There are a variety of Metro boards from the Metro 328 which is essentially an Arduino UNO, through to the upcoming Metro M7, with different/increasing capabilities.

2. a) Yes, NeoPixels use a single digital signale for data. Most can be used.
2. b) Each RGB NeoPixel will take 3 bytes: one each for R, G, and B. The question isn't as simple as multiplying the number of NeoPixels by 3. If you're using CircuitPython, the python code is stored in RAM, as well as all the other data the program uses. It's easiest to get a controller board with more than enough. It's only when you go into production that you need to care about choosing "just enough" to keep space and costs down. But you need to consider power as well. LEDs are power hungry when you get a bunch of them together. If you are only going to a few on at a time (like with that wig project) it's not too bad. See https://learn.adafruit.com/adafruit-neopixel-uberguide for more information on NeoPixels.

3. I suggest looking at the Feather M4 Express.

Dave

User avatar
ButterflyChorus
 
Posts: 4
Joined: Fri Sep 18, 2020 11:44 pm

Re: Microcontroller Selection Assistance - LED projects

Post by ButterflyChorus »

Hi Dave,

Thanks for the advice.
I got most of the way through planning the project, but I'm still having trouble with level shifting 3.3v to 5V.
Questions for a different forum though.

Thanks again,

Kaitlyn

User avatar
dastels
 
Posts: 15656
Joined: Tue Oct 20, 2015 3:22 pm

Re: Microcontroller Selection Assistance - LED projects

Post by dastels »


User avatar
adafruit_support_bill
 
Posts: 88092
Joined: Sat Feb 07, 2009 10:11 am

Re: Microcontroller Selection Assistance - LED projects

Post by adafruit_support_bill »

Also note that if you are using a 3.3v processor like one of the M4s, you can power both the processor board and the Neopixels directly from a 3.7v LiPo. That eliminates the need for level shifting.

User avatar
ButterflyChorus
 
Posts: 4
Joined: Fri Sep 18, 2020 11:44 pm

Re: Microcontroller Selection Assistance - LED projects

Post by ButterflyChorus »

Dave: Thanks, but the link you shared should probably be removed or at least updated. https://learn.adafruit.com/neopixel-levelshifter
While it mentions 74AHCT125, it doesn't really address it as an option in any detail. Most of the space goes to using TXB0108 with LEDs...which the product page says shouldn't be used with LEDs.
https://www.adafruit.com/product/395 "Since this chip is a special bi-directional level shifter it does not have strong output pins that can drive LEDs or long cables"
(You addressed this very issue in a previous post. Maybe at one point this was the best option they had? )
viewtopic.php?f=47&t=166684&p=816898&hi ... 08#p816898


Bill: Thanks for the suggestion, but due to the longer length of the LED strips, I wanted to use a 5V power bank for my LED power source. I'm still a little worried that the power source won't be enough for the project amperage, but I'm hoping that I can find some efficiencies after I start working with the hardware. (https://learn.adafruit.com/sipping-power-with-neopixels)


I posted my question in the "glowy things" board so that other people searching the forums can find the info more easily for their own projects. If you have a moment, please take a look. I appreciate your help.

viewtopic.php?f=47&t=180926

Thank you.
Kaitlyn

User avatar
adafruit_support_bill
 
Posts: 88092
Joined: Sat Feb 07, 2009 10:11 am

Re: Microcontroller Selection Assistance - LED projects

Post by adafruit_support_bill »

Most of the space goes to using TXB0108 with LEDs...which the product page says shouldn't be used with LEDs.
https://www.adafruit.com/product/395 "Since this chip is a special bi-directional level shifter it does not have strong output pins that can drive LEDs or long cables"
For Neopixel use, the level shifter is not driving the LEDs. It is merely shifting the voltage level of the control signal. The actual LED drivers are internal to the pixels. That said, the 74AHCT is a better match for Neopixel signals.
due to the longer length of the LED strips, I wanted to use a 5V power bank for my LED power source. I'm still a little worried that the power source won't be enough for the project amperage,
The higher voltage does not all give you any more usable power. A 5v PowerBank is just a 3.7v LiPo pack with a charge controller and and a 5v boost converter. There will be some power loss in the boost conversion process. Since the pixels will work fine without the boost, you can avoid the conversion losses (plus the level shifting complexity) by simply using a LiPo pack of similar capacity. For very long strips, you can even power in sections using multiple packs.

Locked
Please be positive and constructive with your questions and comments.

Return to “Metro, Metro Express, and Grand Central Boards”