DIY Layout Creator

Introduction

DIY Layout Creator (DIYLC) is a specialized software tool designed for hobbyists and electronics enthusiasts to create circuit layouts on stripboard, perfboard, PCB, and point-to-point wiring. It provides an intuitive, drag-and-drop interface for placing components, arranging connections, and visualizing circuit designs before assembly. With a built-in component library and customization options, it allows users to design layouts with precision and clarity. The software is particularly useful for designing, analyzing, and debugging guitar wiring diagrams, helping musicians and builders plan and troubleshoot custom wiring configurations for pickups, switches, and controls. Its versatility makes it an ideal solution for DIY electronics projects, prototyping, and documentation.

Click here to get the latest version for all platforms.
Click here to read the user documentation as well as developer documentation.
Click here to request a feature or report an issue.
Click here to become a Patreon of DIYLC.

Mac users: in most instances, the Gatekeeper will block DIYLC and mark it as damaged because it’s a 3rd party app from an independent vendor (me). This document covers how to allow DIYLC on your Mac.

Samples

Point-to-point tube amplifier

Guitar wiring

PCB tube amplifier

Perfboard guitar effect

Features

  • platform independence, will run on any machine having Java JRE/JDK 8 or newer
  • easy to use interface, most of the operations can be done using mouse
  • draw PCB, perfboard, stripboard or point-to-point circuit layouts layouts, schematics and guitar wiring diagrams
  • high flexibility, has the API to allow plug-ins and new components to be added
  • improved performance and reduced memory consumption compared to the previous versions
  • save default values for each property of a component individually
  • group components together and treat them as one, e.g. move, edit or delete
  • export the output to image, PDF or printer
  • export PCB trace mask suitable for toner transfer
  • export PCB designs to Gerber for fabrication
  • create a Bill of Materials as a part of the project or export it to few different file formats
  • analyze guitar wirings and show detailed pickup configuration in each switch configuration
  • zoom in/out feature
  • configurable grid spacing on the project level
  • auto update checks for new versions
  • import files created with older versions of the application
  • cloud feature – share your projects, search through the cloud and download other users’ projects
  • highlight connected areas to simplify validation and circuit debugging
  • analyze guitar wiring diagrams and visualize pickup wirings for each switch configuration
  • export circuits to SPICE-compatible netlists

To report bugs or request a new feature go to Issues page and create a new issue describing your problem or request.

To join the discussion or request technical assistance, use the dedicated Discussion Group.

Want to contribute?

DIYLC is provided free of charge and can be used and redistributed freely. Please note that it takes a lot of time and effort to build, test and maintain it and to interact with the growing community of users. If you find DIYLC useful and want to support further development, these are some of the ways you can contribute

License information

Source code is released under GNU General Public License version 3. Contact the project owner to obtain a license in case you plan to use the source code, or any part of it, in commercial purposes.

Credits

  • Big thanks goes to folks from the following online communities for contributing ideas and helped test the app: DIY Stompboxes, AX84 and Free Stompboxes.
  • I’m happy to report that DIYLC 4 is the fastest version ever. YourKit Java Profiler helped tremendously with memory and performance profiling and pointed me to places in the code that took longer to run or consumed more memory than I’d like them to. I strongly recommend this tool to anyone developing Java or .NET applications because it helps finding bottlenecks and allocation hot-spots very fast.

    YourKit is kindly supporting open source projects with its full-featured Java Profiler.
    YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications.
    Take a look at YourKit’s leading software products: YourKit Java Profiler and YourKit .NET Profiler

Comments
141 Responses to “DIY Layout Creator”
  1. acidblue says:

    Version 2 doesn’t seem to work on 64 bit Linux.
    I’m using Ubuntu 10.04 and the program starts but the library window is blank.
    The main window loads fine and I can use all the toolbar menus.
    Just the Library window won’t render any components.

    • Bancika says:

      did you make sure that working directory is set to the where the JAR is?

  2. phil says:

    Great soft 🙂
    I use LC 2x, but i can’t print the drawing….

  3. GodsaveMetal says:

    I want to actualize the colection of layouts of version 1; how i made it please mail me rbarriost@yahoo.com; ok if there are a coleccion of layouts for the version 2!!!!!!!!!! please!!!!!!!!!!!!!!

  4. Ryan says:

    Thanks for the reply, Bane. Unzipping fixed it. (how embarrassing…)

  5. Ryan says:

    I was very excited to find this, but I am having problems opening it. I am a vista user and when I try to open V2, I get a Java Virtual Machine Launcher error that states, “Could not find the main class: diylc.MainFrame. Program will Exit.” Any ideas? Thank you for all your hard work in developing this and maintaining the Q&A.

    • Bancika says:

      Do you have everything extracted or trying to run it directly from the zip?
      Cheers,
      Bane

  6. Dekker says:

    Oops, the site does not like xml… try this, but add angle brackets at the beginning and end.

    drawInstruction condition=”if($i==(x1 x2)/2,1,-1)” object=”rectangle” x=”$i” y=”$j” width=”grid-2″ height=”grid-4″ innerColor=”F0F0F0″ outerColor=”888888″ thickness=”1″ alpha=”1″/

  7. Dekker says:

    Just an addendum. For a stripboard with a single centre column, create a new stripboard.xml in the library directory, give it a new name (first line in the XML) and insert the following line before the innermost drawInstructions (the one most indented)

    With this, if you have odd-number-width perfboard, the centre column will be ‘highlighted’

  8. Dekker says:

    Interesting piece of software, but have two items that I think should be filed under bug reports.

    First, “Solder Pad” component is buggy. If you drag one pad and pass over another pad, the pads you pass over disappear. Also, if you highlight multiple pads then copy-paste, then try to move the new selection, they move erratically!

    My trouble with the pads stems from trying to re-create my particular stripboard shape (7 – 1 – 7 configuration). Would be nice to be able to specify the layout, or at least to specify properties (like side margins) so that we can insert multiple stripboards side-by-side while maintaining the real pad spacings.

    Still have alot of experimentation to do, but so far I like it!

  9. GodsaveMetal says:

    its great the two are working good job, thanks a lot!!!!!!!!!!!!!!!!!

  10. Brian says:

    I downloaded it as 2.1.3 (I think)..

    Brian.

  11. Bancika says:

    Hi there,
    Are you referring to java version 2.x or old windows only version 1.x? In any case, performance issues will be hopefully fixed. I made a new engine that should be faster.
    Cheers,
    Bane

  12. Brian says:

    An excellent little gem but I have found a few problems.
    1) After a few operations I get an error message and need to restart the program. Is there a buffer that gets too full?
    2) After fitting many components/track cuts the prog goes extremely slow. More components/more slowly.
    3) If too many components of the same type eg resistors are used the list scrolls off the bottom of the screen
    Will these problems be fixed in the new version?
    I am using a version dated 18/10/2006, I assume this is the latest.
    Many thanks for a fine product…

  13. Bancika says:

    @salman
    there’s no way to specify board size, but I agree that may be a better way so I’ll try to implement in the new version. As for the library under linux, I believe that has been discussed on DIYSB forum few days ago. I’m not linux guru so can’t help much with that. I only know that you need to have DIYLC dir as current dir when running. Here’s the link
    http://www.diystompboxes.com/smfforum/index.php?topic=44838.1520

    Cheers,
    Bane

  14. salman says:

    why are the library icons invisible in Ubuntu Linux?

  15. salman says:

    how do I switch to inches and is there an option in the beta version to set the size of the board (perf) by specification and not drawing (making a 40×55 is easier this way)?

  16. Pelle says:

    Text on potentiometers is upside down when the the component has the solder lugs to either side.

    Wire mid-point-thingies appear and disappear with irritating lack of consistency.

    It would be really nice if wire ends could stick to the thing they end at (boards, pots, etc), that would really make it much easier to move things around, when cleaning up the design.

    I’d also like to be able to close the properties box with “enter” for OK, and “esc” for cancel.

    • Bancika says:

      Most if not all of these will be implemented in the next version…
      Cheers

  17. Reinoud says:

    Nice work! I dont know if its a missing feature or that i just haven’t found it yet, but i can’t seem to be able to create a schematic and then drag the components on the stripboard with the lines still attached. Or is there a kind of auto-layouter?

    With regards,
    Reinoud

  18. Merlin says:

    Nice work Bancika! Version 1 was painfully slow- 1 second between clicks?! Version 2 is much better. Would be nice to have parts for non-insulated and Cliff jacks, DC sockets and battery connectors, diodes and LEDs too (I can only find schematic symbols for diodes presently…)
    M

  19. digthisbigcrux says:

    yeah as an option, like being able to put angles on a trace while the components are locked to the solder points. then you could lay something out like a schematic taking up lots of space, then sort of pull it and fold it together and angle the traces to make it smaller and neater.

    hope this makes sense i am terrible at explaining stuff.

  20. Bancika says:

    you mean break down a trace in two instead of moving it? I think that it wouldn’t be a good idea to always work like that because you wouldn’t be able move traces at all. It may be useful to have an option that does it on demand, either Ctrl key or something like that.
    Cheers

  • About

    The idea behind this site is to share my experience with Do It Yourself approach to guitars, amplifiers and pedals. Whether you want to save a couple of bucks by performing a mod or upgrade yourself instead of paying a tech, or want to build your own piece of gear from scratch, I'm sure you will find something interesting here. Also, this is the home of DIY Layout Creator, a free piece of software for drawing circuit layouts and schematics, written with DIY enthusiasts in mind.