Script Makes Custom Pinout Labels For Your Chips

cusom-pinout-labels

After years of prototyping hobby electronics we’ve learned (several times actually) that when something’s not working it’s a problem with the hardware. Usually the jumper wires aren’t hooked up correctly, or we needed to throw a pull-up resistor in and forgot to. One thing that can really help sort these problems out quickly is a pinout label for each chip like the ones seen above. This is a project which [John Meacham] came up with. It uses a script to generate chip pinouts on a label maker.

The label maker he started with is a Brother PT-1230PC. It connects to a computer via USB and can use a few different widths of self adhesive label tape. [John] found that the 1/4″ wide tape is nearly a perfect fit for PDIP components.

His script takes a YAML file as the input. This formatting standard makes is quick an easy to whip up a label for a new chip using just your text editor. From there his Pearl script turns the data into a Portable Network Graphics (.png) file with the labels spaced for the 0.1″ pitch of the chip. Send this graphic to your label maker and you’ve got an adhesive reminder that will help reduce the time you spend pawing through datasheets just for the pinouts.

55 thoughts on “Script Makes Custom Pinout Labels For Your Chips

      1. Here you go. Corrections welcome:

        default CTRL to 0.66 * Vcc.
        for (;;) {
        set OUT to low.
        connect DISCH to GND.
        for (;;) {
        if(/RST is low)
        continue;
        if (TRIG < 0.5 * CTRL)
        break;
        }
        set OUT to high.
        disconnect DISCH.
        for (;;) {
        if(/RST is low)
        break;
        if (TRIG CTRL)
        break;
        }
        }

        1. let’s try that again.

          default CTRL to 0.66 * Vcc.
          for (;;) {
                  set OUT to low.
                  connect DISCH to GND.
                  for (;;) {
                          if(/RST is low)
                                  continue;
                          if (TRIG < 0.5 * CTRL)
                                  break;
                  }
                  set OUT to high.
                  disconnect DISCH.
                  for (;;) {
                          if(/RST is low)
                                  break;
                          if (TRIG < 0.5 * CTRL)
                                  continue;
                          if (THR > CTRL)
                                  break;
                  }
          }
          
      1. You don’t happen to have any more information on that? Like any webpages talking about what kind of commands are available and such?

        I opened up my cheapy and didn’t see any obvious RS-232 port but there were a bunch of test points named Row1, Col1 and so on. Also there was a group of SPI_PR1 -> SPI_PR7 points.

  1. For prototyping, this is an ingenious idea! I did something similar back in the 90’s, but without adhesive stickers. I used error correcting paint (Bic Wite-Out) and a fine tip felt marker and prepared a few select IC’s. This came in handy to explain circuits to some kids who were eager to make an LED flash. Came in handier for me when I had to work with 7400 and 4000 series logic.

  2. I’m a little surprised Avery or someone else hasn’t come up with precut sheets that could be run through a laser printer or inkjet. For that matter this would be a neat item for SparkFun or someone to carry for popular chip sets (blank or preprinted).

    1. You would have to trim the size anyway depending on how many pins the IC had.

      How about putting green “frog tape” on a sheet of glossy cardstock (a glossy advertising postcard would work) and running it through you inkjet (not laser) printer?

      I tried a b/w laser printer on some “blue tape” once, but the blue was too blue and it was too cool a temperature to get the toner to fuse anyway.

  3. Seems redundant – it’s on the data sheet and should be on the schematic. Do you put a sticker on your batteries so that you know where plus is too? If you need a bit of help, use a red dot of fingernail polish or paint on pin 1 to help orientate the chip.

    1. Of course it’s redundant, otherwise I’d just be making up random pinouts if I didn’t get it from somewhere authoritative.

      What schematic? this is for breadboarding or hand wiring when the schematic is in your head or made up as you go along. If you are just soldering chips into a pre-made circuit then you would use new ones, not labeled ones from your prototype bin.

      This also helps for when the writing on the top of the chip gets worn away which happens pretty quickly after a few dozen times being pushed into a socket.

      1. If the schematic is in your head probably the pinout too!!. I think it’s a great idea for teaching, because the step from-schematic-to-breadboard isn’t always clear for beginners! ( don’t forget the power rails use, because they aren’t “explicit draw in the schematics as parallel lines always!)

      2. “What schematic? this is for breadboarding or hand wiring when the schematic is in your head or made up as you go along.”

        As they say on Mythbusters “Thars your problem”.

        Even an experimental circuit should be sketched out. A few minutes of paper and pencil can save hours (and money) in wasted time and parts.

        Engineering 101 – calculate the needs, draw out the design, put together the parts, build it, then test it. Repeat until the last step provides the solution to the first step.

          1. Yes. Yes I do. perhaps we just work differently, but breadboaring _is_ oftentimes sketching the circuit for me. And even if it wasn’t it is much nicer to think in terms of mnenomics than pin numbers, putting them on the chip removes that intermediate step.

            And I only have to label the chip once (which takes less time than finding a sketchbook) which is amortized over the dozens of times I use the chip in a circuit.

            Also, what does sketching the circuit have to do with pin numbers anyway? when you sketch do you write the number 2 instead of TRIG when using a 555?

        1. So you never build up a circuit, try it out for a while and then think “man, I think I need an LED as an indicator here real quick, wonder which pin I can use for that?”. Having the pinout right there on the chip makes it easy to just slap an LED on pin RA2 and continue on instead of looking up the pins in the datasheet and then count the pins to get the right one.

          Planning is good, but building things organically is also very useful.

        2. Mystifying. Someone comes up with a useful tool for prototyping and education, and we get a poser that is trying to impress us with how incredibly smart they are by telling us our technique is silly.

          If you love playing with datasheets and spending all of your time digging through them, then by all means, please do. This is an alternative for those of us that like to figure things out for ourselves, and as such, we will do it however we bloody well please, thank you very much. I greatly appreciate you respecting our right to innovate and learn through whatever means we choose to utilise.

          Last time I checked, this was called “hacking”. As far as respect is concerned, it is not something learned from datasheets. Like hacking, it is learned through experience, or unlike hacking, sometimes taught by loving parents.

          Have a nice day, and remember there is more than one way to get from point a to point b. The straight line approach is not always the best, although I apply Occam’s razor frequently in my own work. Sometimes, often, in fact, more is learned through a more indirect route.

          Besides which, I have seen the label approach used with wirewrap designs over 20 years ago, so I don’t see what harm arises from having pins labeled with their function, particularly when prototyping or teaching others.

    2. Batteries have TWO terminals, so it’s obvious which is which. Chips have MANY pins and it’s easy to forget what they are, especially if you use a bunch of different chips.

    3. Why so down? A huge problem in most situations (circuit building, programming, doing repairs, pretty much life in general) is that the information needed often isn’t in the place it’s needed at the same time that it’s needed. This cleverly solves that problem. And it’s not like he’s soldering every chip in every circuit fully covered by stickers, this is primarily for use on a breadboard when he’s experimenting. I think it’s a great solution.

    4. So you’ve never accidentally wired something to pin 2, when you actually meant it to go onto pin 3?

      Come on man, this is a brilliant way to speed up breadboard wiring, and a very simple way to avoid very simple mistakes that we all make from time to time.

  4. Shaking my head at the misspelling of “Perl”. Yes, it’s “Perl”, not “Pearl”. Terribly sorry, but being a Perl programmer myself, I am saddened by a tech site showing ignorance.

    Great idea though.

  5. These would be great not just for breadboarding, but for troubleshooting a circuit you aren’t familiar with or don’t have a schematic for (which I do often). A lot easier than having a stack of data sheets on your bench for all the different chips or trying to flip back and forth between files on your laptop.

  6. hmm now if only it used full sheet avery paper with PDFs and I could roll them out on my laser printer.
    I suppose I could make a template on librecad for chips….
    its better to have pinout hints on a chip than all the part number detail.
    hmmmmm

      1. ./chip_label.prl -c 555
        Can’t locate GD.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at ./chip_label.prl line 5.
        BEGIN failed–compilation aborted at ./chip_label.prl line 5.

        1. You need the GD perl library installed. on ubuntu-like systems you can get it via
          ‘sudo apt-get install libgd-gd2-perl’, I don’t know about other systems but it is a fairly popular library so there should be instructions around.

    1. A 300 DPI laser printer at 9x9mm would give you about 106 pixels per side, or 6.6 pixels per lead. a 5 pixel font height with a 1 pixel line spacing should do it. (good set of eyes required)

  7. Seems so simple but works so well! I have a book full of hand drawn diagrams of chips, and constantly have to refer to it, then count pins (usually 3 times to make sure its right) so this would help hugely :) Thanks

  8. Started breadboarding again this last month since 25 years… never worked with ICs

    First thing I started doing is cutting the adhesive part of a post-it and put the pinlayout on them….

    Seems weird people are viewing this as some brilliant idea.. could be useful for kids classes.

    I just pull of the post it after a while.. I would worry about heat too sticking stuff with glue on them that might seep under the hardware.

  9. I usually make lables like this in a spreadsheet program.
    Set the line pitch to 2.54mm and adjust character size so it’s readable.
    Then print it out, put some transparent adhesive tape over the text, cut to size with some scissors or knife and glue it to your favourite IC.

  10. A couple of options to add here. First is a guy that made another chip label maker script and posted it on GIThub:
    https://github.com/klemens-u/ic-label-creator

    Second is my own repository on GIThub. I have wasted some time making more detailed labels with truth tables and such. They print well on an entry level HP laser printer with the tool chain I use to etch circuit boards. Many labels are premade and posted as PDF files in the repository. They are all made in GIMP. I have included the .xcf files for making custom printouts with only the labels you need. Basic instructions are listed in the README.
    https://github.com/Upcycle-Electronics/ChipLabels

Leave a Reply to Kurt OestreichCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.