Rate my scheme :)


I remember the basics of using logic gates from an old ECE college course. Since then, I've focused chiefly on software. I would really like to get back to my hardware roots and learn about using microcontrollers.

For my first project, I want to make a garden LED strip, using solar power to charge up a battery and play some cool animations at night. Here is a copy of my pin out table and part list so far:

As you can see in the notes, I am curious about making sure my design is safe and accurate. I have so many questions!

Are all the connections reasonably safe? I understand that voltage ranges often change over the course of a system. I know voltage tolerances are important, and I have done my best to place an "LDO" where needed. But odds are good that I could be missing something.

Can I send a bunch of components to the same ground, of differing high thresholds? Should I think of GND tolerance as similar to addition, where a "100V" tolerance GND could take 10V high levels from 10 different components?

What is the voltage tolerance of the Arduino Pro Mini's ground pin?

When this portable device is not plugged into AC, then is the microcontroller ground or the BMS ground generally the best to target?

If I turn on too many LED's at once, will that damage any of the components? Or simply reboot the microcontroller?

Should I go ahead and hit the Buy button on this part list, or are there design problems for us to fix first? I don't mind that the alligator clip barrel plug adapter could be swapped for a better JST-PH crimp long term. And I could even practice soldering the connections once the thing tests well. But right now, I'm simply more concerned about the ease of wiring it all up, from scratch!

The linked spreadsheet doesn’t tell us much… (we could drill down and generate a schematic, but that’s your job).

It looks and sounds interesting, I’m sure there will be comments and suggestions when you present your project.

Good luck on your journey.

Interesting. Is there a syntax like Markdown for doing this inline? A Web page to create formal schematics?

Hi @mcandre
I use EDA easyeda.com
RV mineirin

Sweet, I'll take a look.

What open formats should I export to? I suppose there may be a permalink option as well.

Okay, I found 40% of the parts. The rest are mostly ancilliary details--important for newbies like me, but not super critical to the electrical logic.


That's the basic set of components. Later I'll figure out how to take my earlier pinout and implement it in the EasyEDA sketch.


Connected the wires and moved the annotations into the component metadata. T'ain't pretty but it's accurate to how I'm planning to connect the pins so far.

Can you draw a schematic with pen(cil) and paper?
You will then have available ALL the symbols you need.

Label components, pinouts and power supply?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

You're not the only one.
I don't see any (required) decoupling caps on the supply lines.
Are you expecting 5volt out with ≤4.2volt input from an ancient linear 7805 (not an LDO)...
The RAW pin of the Arduino runs through an LDO, which looses more voltage, which you don't have. A 3.3volt ProMini, with LED and LDO removed, runs fine between 2.7 and 5.5volt.
But you need 5volt logic for your addressable LEDs...
Why the CH340. Is it detachable?
How many addressable LEDs. One might already be too much for an 80mm solar panel on cloudy days.

1 Like

Hi, @mcandre
You can export your circuit from the CAD.

Tom.. :smiley: :+1: :coffee: :australia:

Yes, the CH340 is simply an FTDI for making programming changes. A simpler design would be to use a fuller board with USB included. But internalizing the USB port uses more power passively.

Regarding LED power, the LED animations only play at night, when the batteries have been charged up.

There are multiple working examples of this on Amazon. My 18650 will be overkill for this. A typical 3 to 11 LED configuration runs from a single AAA battery overnight.

But this is a compromise between available solar BMS's and batteries able to be easily charged by common external chargers, in case of several cloudy days in a row.

Regarding the battery / BMS output vs. the LED strip input power... Would a 5V, 500 mA boost component solve the gap in powering the LED strip?

Regarding "LDO"s, could you please clarify further? I think I will no longer need one for the LED strip after inserting the 5V boost.

For the sound sensor power input, I can simply configure one of the spare Arduino Pro Mini GPIO 3.3V pins as a high bit, right? Then no need for the 3.3V LDO.

An ancient 7805 has a dropout voltage of 1.5-2volt, so needs at least 6.5-7volt on it's input to make a stable 5volt on it's output.

Yes, you can steal some power from the 3.3volt VCC pin of a 3.3volt Arduino,
because it has an onboard 3.3volt linear LDO regulator.

Also note that addressable LEDs expect 5volt logic, and might not work reliably with a 3.3volt Arduino.

Yes, I see that a reliable 5V power source is required in order to turn on the LED strip.

I still want to try for a 3.3V microcontroller, as a way of saving energy where I can. I will try to solve the 5V problem with a 3.3V microcontroller in two ways:

  • Insert a 5V boost between my 4.2V BMS and the LED strip power pin.
  • Replace APA-104 with WS2812B LED strip implementation, which is known to tolerate 3.3V data signals better.

In my case, it is okay if the lights are a touch dim. I'm going for subtle effects anyway. And I can upgrade to a 5V microcontroller later if truly needed.

Updated the EasyEDA scheme.


This chip can be used to do the level shifting.

I think I'm getting the knack for this. Updated the EasyEDA accordingly. And I'm adding a Fritzing image for a quick reference card.

It seems you are trying to use an I2C level converter for addressable LEDs.
Won't work.


Well put it in your post.
Please read post #9....

Tom... :smiley: :coffee: :coffee: :coffee: :coffee: :australia:

1 Like

The product documentation indicates this leveller will convert 3.3V digital signals to 5V for the LED strip digital input pin.

Please clarify the level conversion issue, so that I can understand better.

An I2C level shifter has open drain outputs with weak pull up.
Not designed for push/pull driving of addressable LEDs, so it might or might not work reliably.
No improvement over direct driving the LEDs with a 3.3volt pin, which also might or might not work.

Maybe you could power the ProMini from 5volt (the VCC pin).

Have you actually built any of the hardware?
If not then start by getting the LED strips working.

I hope you are going to bread board your project first?

Tom... :smiley: :+1: :coffee: :australia:

Continuing to improve the design as I discover more about each component. Good news, Adafruit bundles internal capacitors and resistors for many of their IC's! So the shopping list has trimmed back down. I'm not only reading the datasheets now but the product pages, too.


Say, does Adafruit's bq24074 PGOOD pin still need a resistor as the generic datasheet says? How are we supposed to convert this "high impedance" thing into a useful logic signal to be read by an Arduino GPIO pin?