Simple 7 segment board

Hi,
should anyone want to do things like that, please feel free.

I would add a readme with screenshots of the schematic and/or board. It will be easier for beginners to understand what the project is about and will reduce friction to try it out. Right now to understand if the project fits someone’s needs they have to do a local checkout and open it in kicad, that’s too many clicks :slight_smile:

1 Like

First a bit of git:
Adding the [project].sch-bak and [project].kicad_pcb-bak files to git is not useful. Git has backups in it’s history.

These resistors need some cleanup:
image
It’s not only the overlapping texts, but you have also not entered the values of the resistors in their “value” field. Hover over a resistor and press v to edit it’s value or use the properties (shortcut e for edit).

Schematics are not only to generate a netlist, but also an important tool to add meaning to a bunch of graphics for humans to read.

For example, you have placed the connectors J1 and J2 (again: overlapping text) above each other, and connected with a mumble job of wires:
image

This is much clearer to read:
image

It also brings up the question of data direction when displays are cascaded.
Do you want to write the most significant, or the least significant digit first to the display?

Your 74HC595 does not have a decoupling capacitor. This may cause it to loose some bits in the shift registors or data latches, especially because your display probably has a relatively high current. Make a habit of adding a decoupling capacitor to each Vcc & GND pair of chips) (regular ceramic 100nF is sufficient until you get into “real high end” stuff)

You have chosen 0201 size for your resistors. Do you realize how small these are? So small is hard to solder by hand. It may also get you into troubles with overloading the resistors. Having the widest copper track that physically fits does help with heat dissipation especially if yu have it on both sides of the resistors. Spreading the resistors a bit over the PCB also helps.

You have Silk screen text outside the PCB outline. This may get flagged by your PCB manufacturer, waste their time and may lead to extra delays.

Why all the castellated holes? They make the PCB harder to manufacture, and the display itself is probably a THT component anyway. Having castellated holes on all 4 sides of the PCB may also be a problem for manufacturing the PCB. I would probably make the PCB (nearly) the same height as the display. Maybe even higher and add mounting holes.

You have Silkscreen text overlapping with pads. KiCad can “fix” this during Gerber creation. Some manufacturers actually print that text over the pads (nuisance to fix, you have to scrape it off the pads) other manufacturers “fix” this themself, or ask you what you want, wich again wastes their time and causes delays.

I would make the GND and the VCC connections that cascade the displays wider. GND is already relatively thick, but Vcc has a thin section near U2.

1 Like

@paulvdh What do you think of this version?

595_7LED.zip (102.0 KB)

I think I have included all the necessary files.

Anyways, this took much longer then I figured it would, for a variety of reasons. But, it was kinda fun to show my approach to the issue.

Quick screen grab:

It completely lacks the series resistors.
Such a wide PCB is not usable for cascading displays.
It’s also a very small display. Your shift register is bigger than the display itself, so you could never get the displays to sit flush next to each other.

Why use such narrow tracks? 0.15mm (6mil) is quite thin, and maybe some of the cheap chinese manufacturers start getting reliability problems here (but it’s probably still ok.

I was a bit surpised about the current handling capabilities of a 0.15mm track. It’s apparently still good up to about half an amp.

Did you make it just in response to this thread?

No.
3_7

I thought it would be fun to discuss some of things that I did. There are some subtle design elements that I did and hope to actually get into commercial production.

To get the displays flush the other two displays have to have shift registers moved outward.

Narrow tracks take less space. The minimum settings are what OshPark can reliably guarantee their boards; may very well not be manufacturable by some extremely inexpensive Chinese board houses.

I forget exactly what trace widths I used, but yes fairly small traces can carry quite a bit of current. And, there is a mistake in the PCB design, the 3.3V nets should be at least 10mills(whatever that works out to in mm).

The design does exceed the manufactures specified operational specifications in the datasheet for the shift-register. However, this design has been extensively tested with the parts listed and zero issues/concerns have been noted.

The /OE pin will be used to PWM the displays and reduce the overall current. With 3.3V the 7-segment display is blinding to actually directly look at. LEDs have got quite amazing in the last couple of years.

The design has a couple other sneaky things goings on. I’m curious to see what else will be found by forum members.

I see you optimized the netlist for easy routing. Good thing to do for such displays. Segment data is probably done with a LUT, so not even firmware overhead, just a different LUT.

Have you done any EMI testing on this circuit? 595 has quite steep flanks, and it’s switching a lot of current with PWM-ming. In regard to this I have some doubts about the Vcc and 3V3 tracks cutting through the GND plane.

I also see you’ve put big zones around your PCB, and then let it clip by Edge.Cuts. I also do this, but I usually draw the outline in a pentagon (which immediately attracts your attention if it gets into a Gerber file) and I never draw the boundaries of different zones on top of each other because it makes the zones harder to select.

I made this a separate entry because I figured this one would get the most hate; and be easier to follow if it was seperate.

The equation E = I x R is a math game that schools play. The reality is that E is what E actually is. What is the voltage of a Lightning Bolt? What is the voltage of a cars 12V battery?

In a circuit, the proper mental equation to consider is that I = E / R. The voltage drop and resistance of the HDSM-281B is such that a well regulated 3.3V will not exceed the maximum ratings of the individual segments.

With my work experience I came to realize that current limiting resistors for LEDs was a thing that no longer needed to be a thing. In the past, with low current LEDs, and sorta wobbly 5V linear regulators the current limiting resistor made sense. Times change, parts change; and in my opinion current limiting resistors no longer make sense.

Yeah, good catch. Both the schematic and the netlist are optimized for optimal paths.

Not yet, but I will after commercial prototype production. Through osmosis I have seen a significant number of designs that pass FCC EMI requirements and sorta have an idea of what I think I need to do. This layout has also been extensively bench tested as a prototype and no EMI was detected; all sorts of sensitive electronics nearby.

Hint: The VCC and 3.3V rails are not the same.

Yeah, with 3 of the 7-segment displays, and all segments illuminated, it’s about 20ma x 8 x 3 … = 480ma PLUS the wattage dissipated by a small linear regulator with an input voltage of 12V. Each group of 3 displays needs to be powered by a 1A rated part.

I’ve not had a problem with zones misbehaving. I intentionally put them on top of each other because of the way past versions worked for selection(sucked). There is a setting somewhere where the zones outline appears hatched, the red and green alternating lines. Now, just put the cursor over both lines and hit “e” on the keyboard; menu will pop up to select the desired one.

Wit 3V3 for the display and the outputs of a HC595, (which rise with increasing current) that may be enough to stay within spec (also dependent on display color (which influences voltage drop), and even if it’s out of spec it probably still won’t break, but just other spec’s (for example risetime) also get out of spec. (This may even be a good point from the EMI standpoint :slight_smile: )

With series resistors you can easily get the peak current down to a quarter of what you have now. Maybe use a smaller power supply.

If EMI gets a problem, you can add RC’s to the OE pins, to spread the switching of the shift registers a bit.

When starting with RC’s. I once saw a HD44780 LCD which was driven from one uC pin and a HC595. Quite a fun idea.

  • uC pin went directly to the clock.
  • Data was delayed a bit. (So you could clock a one or zero depending on pulsewidht)
  • Other functions had an even longer RC delay.
1 Like

(I know what you meant.)

Thanks, did not think of that. Again, I have quite a bit of sensitive gear really really close to the test prototype without any noticed issues in any of that gear.

VCC and V3.3 is not the same net. The 595 is internally switching the low side outputs; not affecting the VCC high impedance inputs with changing currents at all!

VCC is a separate 5V source; for more resolution on an ADC circuit… TMI…!!!

Well, I mean something completely different. Your project is very “customisable”. I wanted to put on a board as many elements as I could.

OK, I’ve corrected all mistakes you found. I believe it’s ready to be done.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.