SMT Tools: Pulse Generator

September 18, 2012 12:49:03 AM CDT

Here's the next SMT Tool design, fresh from construction and testing: a pulse train generator.

It's basically the same circuit as the square wave generator, with a diode bypassing the resistor that charges the timing capacitor for half the cycle:

schematic for the pulse generator

In the square wave generator, C1 charges through R1 while the output from the Schmitt inverter (that rectangular blob on the left) is HIGH, and discharges while the output is LOW. The output changes state as the voltage at the top of C1 passes the Schmitt trigger's high and low input thresholds, so whenever C1 is HIGH the top of R1 goes LOW, and whenever C1 is LOW, the top of R1 goes HIGH. The result is oscillation.

In the pulse generator, D1 bypasses R1 while the Schmitt inverter's output is HIGH, so C1 charges quickly for that part of the cycle. When the inverter's output goes LOW again, C1 discharges through R1 as before. The length of the LOW output depends on the R1C1 time constant, but the HIGH output depends on D1C1.

For the 3v supply I used in testing, the HIGH pulse was about 100 microseconds wide. Hardly stunning (Jim Williams built a 1 nanosecond pulse generator that ran from a 1.5v battery), but not bad for a circuit that costs less than 50c.

Here's how the board looks:

placement diagram for the pulse generator

I moved the "Yes, I'm on" LED to the right of the output pads because trying to fit them in on the left made no end of mess. I ran LED1/R2 straight between Vcc and GND rather than from the output because the pulses are just too short to see.

The design is reversible: placing the diode as shown gives you a normally-LOW output with HIGH pulses, flipping it end for end will give you a normally-HIGH output with LOW pulses.

The BOM is:

  • D1 : (SOT-123) 1N4148W-V small signal diode
  • R1 : (0805) resistor, sized to the RC time constant you want (1M default)
  • C1 : (0805) capacitor, again sized to the RC time constant (1uF default)
  • R2 : (0805) resistor, current limiter for LED1 (1k)
  • LED1 : (0805) LED, whatever color you like
  • '14 : (SOT-753) 74LVC1G14 single Schmitt trigger inverter
  • '126 : (SOT-753) 74LVC1G126 single 3-state buffer

A note on package designations:

Yes Virginia, the people who name SMT packages are conspiring to screw you up.

Every package has multiple valid names (SO, SOP, SOT, and SOIC prefixes are usually interchangeable, but some SOT names refer to TSSOP packages, which are smaller). The same package can have different numbers following the prefix. Minor differences in names can indicate major differences in the parts.

Case in point, here are some details taken from a great document distributed by NXP. The dimensions all run length, width, height, and all dimensions are in millimeters:

These are SOD-123 packages:


These are SOD-323 packages:


This is a SOT-323 package:


And this is a SOT-23 package:


You can get single diodes in all four packages, and the manufacturers seem to think "SO23" is a good abbreviation for all of them.

Moving up a little, this is a SOT-353 package:


And this is a SOT-753 package:


The three pins on the near side of the SOT-353 chip are just barely too wide to fit between the two pins on the far side of the SOT-753.

You'll find single-gate logic chips in both SOT-353 and SOT-753.

The point to take away from all this is that you need to be careful about choosing packages. If you aren't sure what you'll be getting, check the datasheet, find the dimensions, then cross-reference those against the specific part numbers. If you can't find dimensions or part numbers, find another part.

For these designs, I've used SOD-123 and SOT-753, which are the largest and easiest to work with. You can make smaller packages work with the footprints above (as I know from experience, since the only 741G14s I had in inventory were SOT-353s), but it isn't much fun.


Here's the top-down view of the PCB as a 600dpi PNG file:

Top view of the 

also available as a PDF.

As before, if you want to use these patterns for toner transfer, you'll want the flipped versions:

And here are the .brd file and the .sch file if you want to play with the design.

If you want everything all in one go, here are compressed versions of everything:


All the comments from the post about the square wave generators apply equally well here.

The thing to remember is that the period of the pulse train will be half the period of the square wave. We're only getting one RC time constant here, where the square wave got two.

In some way, that's convenient. If you run the pulses through a D-flip-flop the way I did for the non-overlapping clock, you'll get pretty much the same output you did from the square wave generator. Otherwise, remember to double the resistance.

To source the parts from Mouser, these links (and parts) work as of September 17, 2012:

Buying the parts individually (and assuming you go with the lower-cost LEDs), a single board would cost you about 45c. Buying the parts in bulk would cut the price by about half.


As before, all files in the tarfile or zipfile are available under the terms of the TAPR Open Hardware License Version 1.0.

Random brain cookies:

Know what I hate most? Rhetorical questions. -- Henry N. Camp