Nano Every LED Lamp Diagram Review

Hello!

I've been dabbling with the Arduino Nano Every and neopixel strips for about a year.

I'm looking to create my very first salable product; i.e.: safe, reliable, long-lasting; and would very much appreciate a review of my schematic, please and thank you!

A lot of people here will not view that as a schematic. In general a proper schematic is preferable. You can draw it on paper and take a photo or use free online software such as easyeda or kicad. You might also want to describe what it is and show your code.

What @pmagowan said.
You seem to have joined the outputs of the 10 strips together at the right hand side and linked them all back to an unidentified pin on the Nano Every. I don't know what this is supposed to do but it's a good illustration of why you should post a proper schematic.

Are 1k resistors the correct value?

Aah I see, my apologies. I used Fritzing, for the first time, following many recommendations I saw on this forum. I do acknowledge the lack of labelling, and was frustrated by Fritzing's apparent lack of configurations to help with this.

The intent was to show the out data lines grounding back to the Arduino.

Should I redraw the diagram before seeking further feedback?

"a review of my schematic"

What aspect of your project do you really want advice on? Is it only the drawing, or are you asking about the circuit?

BTW, what is the unlabelled round object with 5 wires coming from it?

In general, on this forum, fritzing is considered a very poor method for showing a circuit. Draw it properly. Explain what it is and what it is supposed do.

Surely you jest.

1 Like

Don't do that. Curious to know what lead you to think it was needed.

I guess Fritzing has its uses for showing beginners how to lay out their projects, but amongst those of us who answer questions on here it is much disliked. How to get the best out of this forum

Well.. in working with my new WS815 strips, I found that attempting to turn them off caused them to blink erratically. Turning them off means, using the FastLED library to set them to brightness zero, or 'black'. At some point I found a post suggesting to ground the data out from the strips back to the Arduino. Though a brief attempt to find it again just now was fruitless. However, this did indeed solve the problem.

Edit: and... my goodness... apologies to you then, Perry. I actually did read that post, and regret missing that very clear and specific detail. I can only speculate that my brain stopped collecting information after "We don't mind if it's hand drawn, scruffy and does not use....".

If grounding the output from the last LED fixed a problem then i think something else is going on. Outputs should not be grounded, in doing so you are shorting them out.

I asked about the 1k resistors, i think (but ask someone else to confirm) 220 Ohms or thereabouts is more appropriate.

From a purely theoretical point of view I supect only powering at the centre could cause problems with the data. Powering at the middle is good, but probably best at the ends too.

A large capacitor across the power connection to the strip at the beginning is wise, by large maybe 1000uF, exact value unimportant.

None of these replies were the feedback that I expected to receive! But... it was all valuable it would seem.

@anon57585045, the circle is a push button with LED that was available as a part in Fritzing. The actual push button part I have is a 6-pin 2-line passthrough.

@runaway_pancake Well I wasn't... and I wasn't yet clear that actually this was bad advice. Apologies for that. The post that ultimately clinched it was the very last post here by the 'system' user: I need the software to draw arduino circuit (schematic )

So perhaps that was sarcasm, or just so old it's no longer relevant... but Google has indexed it as the first result on arduino.cc to the search "arduino diagram tool" :grimacing:

Grounding the data was intended to fix the blinking issue. But if I recall correctly for that thread I can't find now... it was the same thread where I learned data in should be preceded by resistors. Perhaps this is what actually fixed the problem, and the grounding just happened to not break my proof-of-concept testing.

It seems clear that I need to revisit resistance. After you questioned it, I redid my calculation and determined 1000 Ohms at ~250mW... so I'm double surprised by your suggestion for 220 Ohms. Which means I defintely need to revisit resistance.

I'll go rethink the circuit, redraw the diagram in something else, and re-math.

1 Like

I notice you have tied the data and clock signals together and use one output pin for them.

If you really have data/clock type strips (APA102 - like), each line needs its own signal.

a7

That LED strip image was an Adafruit part I found for Fritzing.... My strips have two data lines, labelled 'D' and 'B', which I understand to mean Data and BackupData. But I hadn't observed the C prefix on that image, nor been aware of alternatives. So thanks! :+1:

I see. The two should not be connected to the same signal:

If you have only one string, you should connect the BI pin to ground (V-), if you have multiple strings chained, connect the DI (input) to the DO (output) and the BI (backup input) to the BO (backup output) of the previous string and for the first string the BI to ground. The backup connections allow for one LED in the string to fail without the rest of the string going dark.

From

HTH

a7

Fritzing has a schematic view, in which pins are labelled. You have been using the breadboard view, which is designed to help lay out breadboards/stripboards etc, so labels are not needed in that view.

Switch to schematic view and you will find all your components are there, along with dotted lines indicating the connections you made in breadboard view. You can now arrange your components and draw in the connections. Fritzing will help you to keep the connections consistent between schematic and breadboard views. You can switch back to breadboard view and back to schematic view again any time you like.

Remember that in a schematic, the position of components can be chosen however you want to make the schematic clearer and easier to read, the positions don't have to reflect the physical layout at all. My tip is to use plenty of the "power" symbols "5V, "GND" etc, wherever they are needed, to reduce the number of connection lines that would criss-cross and make the schematic confusing and hard to understand.

The single worst feature of Fritzing, in my opinion, it that it starts up in breadboard view, rather than schematic view, which encourages beginners to think that is the right way to start.

That is incorrect. There is no need to do that and it could even damage the strip or the Arduino.

Something else you changed must have fixed the problem, because connecting the data outs like that is just plain wrong.

What you could do is connect the data out of each strip back to the start of the next strip, so that only a single Arduino pin is needed to control all 10 strips, saving 9 Arduino pins. There is no advantage to using 10 pins instead of one.

As each of your strips is only 10 LEDs long, there is no need for more than one pair of power connections to each strip. No need to connect power at the centre or end of such short strips.

Actually, with only 100 LEDs, is is dubious as to whether there is any benefit in driving each strip separately; generally easier to put all the strips in series. :face_with_raised_eyebrow:

And the proper way to arrange the power, is to power the strips, and bring the power back to the Arduino bundled with the data wires.

generally easier to put all the strips in series

It's less about ease and more about the physical layout of the lights, and the programming considerations for the pattern I'm developing, where I found it to be conceptually easier to work with 10 arrays than 10 divisions of a single array.

As a matter of interest, how are the LEDs arranged and does each strip have separate purpose ?

Your diagram from the first post:

The layout shown would be easier to connect the strips in series than using 10 Arduino pins. Strips 1, 3, 5, 7 and 9 could be reversed so that only a short links are required between them. The reversed strips can be easily compensated for in your code