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
- Become a Patreon.
- Make a one-time donation with PayPal.
- Help with adding the information to the user manual or other project documentation.
- Extend the component base, read this wiki to learn how to create new components.
- Add a new functionality though plug-ins, read this wiki to learn how to create new plug-ins.
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






I have your Layout designer on my PC (which is at work). I have converted all my computers over to the MAC. When I tried to load your V3 on my MAC, it says it is for Windows. Do you have a MAC version. I love your simple, yet complex, program. I made a decent donation after having such success on my PC. I would make an even larger donation if I could get the program to run on my MAC here at home.
Thanks
v3 will run on mac, just unpack the archive, open the terminal, change the directory to diylc3 (cd) and type ./run.sh
Cheers
Hello Bancika,
I tried to change the directory to diylc3 and terminal said “no such directory” I unpacked the archive and terminal did not find it. Can you please tell me if I am doing something wrong?
Thanks!
it doesn’t create diylc3 automatically, extracts everything wherever you extracted the archive. You can create a folder named like that and extract the archive there
Cheers
Hi,
I worked with DIYLC v3 for a while on my Linux machine, then had to switch back to v1 because v3 has some features that are very annoying.
First, let me tell you that the v3 is a very nice piece of software, with many options and is also much faster. My intent with this post is to give my “contribution”, not to destroy your (very good) job.
V1 is wonderful: very very very easy to use, minimal (that’s what we should expect), clear. Sure it had to be speeded up a bit, because some things really took too long. But that way… was the right way.
In V3 i think you lost the focus on what DIYLC was (is) loved for: easy to use. V3 is messed up with graphics, nice looking resistors, caps etc… but… they stretch when we resize them (?!?!). V1 didn’t do that, a resistor has “standard” size and that size remains even if the resistor spans over 7 holes. Was it really necessary to give the ability to set component size by hand? Why not giving standard sizes (as it was on V1) maybe depending on voltage/power rating? Specifiying sizes by hand should be made a customization, rather than the standard? e.g. resistors:
blue–>1%, beige–>5%,
1/4W, 1/2W –> fixed size: 8mm x 2 mm
1W –> …
5W –> …
+ “Use custom size” –> if checked the user inserts the size he wants to use.
When printing a vero with V3… how can we know a component name/value if it is vertical? e.g. resistor that spans 2 holes. While soldering, V1 output was way easier to read/follow … don’t you think?
What is missing is a nice connectivity checker. Something easy that highlights the path connected to the hole you wich to check.
What is way better in v3: selection/moving tools, speed, choose component by existing type names (e.g. DPDT, 3PDT etc…), cables as editable splines,
Thank you!
Andrea
Hey
I’ve been using v.1 and when I load my projects into v.3 they won’t print to correct size.
Is this because I’m going from v.1 to v.3 or is it something I am overlooking?
I am really loving the new version , if only I could figure this out.
thanks
Chris
Hi Bancika. Amazing job about the DIY Layout. I found a bug it´s quite anoying but at same time I found a solution, sometimes for no reason some parts are blocked and is impossible to select. Doesn´t matter if the block selects are unchecked. The solution is to go to the Edit Panel and make a “Select all”. I saw that one of your task list is to make a submini amp, and I want to know if you have the socket component drawing, because I was doing by hand but is really hard to do in that way.
Hey,
Can you make it so that it opens the 2.x files?
Thanks,
Owen
that will be supported
Hi Bancika,
I’ve been working on a board with beta version 3.0.6. When I try opening my saved file with version 3.0.8 the layout looks squished. I think the components are all placed closer together in the new version. Originally the board was 3″ high, now it is more like 2.25″. Is there anyway to preserve the layout in the new version, or do I need to keep using 3.0.6 beta for the rest of this project? Thanks!
David
Hi,
I have increased screen resolution between 3.0.6 and 3.0.7 to allow more details. The problem is that versions up to 3.0.7 store coordinates as pixels, so resolution increase made everything squishy when opened in the new one. This shouldn’t happen with layouts made in newer versions because I’m storing everything in inches since 3.0.8. One way to fix it would be to open the file in notepad and update coordinates (XML nodes named x and y) manually bu multiplying them with 200/96=2.08333
I could make you a small util that does it, but probably not before Monday.
Sorry for inconvenience 🙁
Cheers,
Bane
I don’t know anything about XML, but I can probably write a perl script to munch a text file and scale the coordinates without too much trouble. Thanks explaining the work-around.
From my part I’m not able to use the new version seems the program response is very very slow on my PC
AMD Atlon 64 X2 dual – processor 6000+ – 3 GHz – 2 GB ram
however I would like you give the program a feature that I used in Autocad
the ability to load an image as background so is very easy to put a .jpg or .bmp with a layout and to redraw it in few time
Kagliostro
It should run smooth on your machine. My laptop is 2GHz dual core and it runs smoothly. What kind of OS are you using and what java?
You can load an image, just go to Misc tab in the toolbox.
Cheers
i would like to see something like this combined with synthedit or synthmaker and an inbuilt graphic package in the creation of vst instruments and dll files , so i could use the schematics layouts see in old synthesizer manuals and make the whole thing a lot easier to understand..
I’m using your diylc v3 for turret board layout and it’s a great help. Not as quirky as v2. Thanks so much for providing this very useful software. Keep up the good work.
Hi, i just downloaded DIYLC 3.06 from diylc site… But the executable inside is 3.05, and more, a get very few components on the component bar (only main.jar in the library dir)… Am i doing something wrong ? (no tube socket, for example, nor enclosures from version 2).. thanks in advance.. anyway, very cool
this has been resolved in 3.0.7
Cheers
@Bancika:
Been a longtime user of V2 and it has served me well. Aside from performance issues it suited my needs almost perfectly…
Just tried V3 beta and am very impressed with how quick and responsive it is, it has almost all of the old features I’m used to and more. I’d just like to add a couple of suggestions to the list:
– When doing stripboard layouts in V2 I found having the board holes numbered across the top very useful – I tend to think in holes rather than cm/in as I know how may holes/rows will fit comfortably into a given enclosure. Would be nice to have that option again.
– Rotary switches. I can see that this may be tricky to implement, but would be nice. It is still easy enough to use the regular switches to stand in for rotaries, but requires some extra annotation (especially if you want to post your layout online) .
Anyway, this all sounds too much like nitpicking already, and I should really just say thanks for this great bit of development.
@Axel I think this software is great (on Ubuntu), but it is a bit too slow for me, although it speeds up a bit if you remove the stripboard.
Thanks for the tip about Sun Java, I tried to download and install Java from the Oracle website, but DIYLC wouldn’t run. Have you any useful hints – is there a pointer missing to the Java interpreter or something?
I have had a quick look at V3 – this is also slow, but ok if you remove the stripboard!
V3 should be much quicker than V2. I’m running a test with a perf board across half the screen and 128 capacitors scattered across the screen and it’s fast enough. And that’s on the laptop.
Cheers
What about power supplies at least give us a battery clip where we can edit the voltages
Great piece of software!
For those who experience speed problem when running under Linux, I have found out that DiyLC runs faster with Sun Java than with OpenJDK… I tested on several machines and with Sun, DiyLC runs as fast as under windows…
Also, under Linux, the component library doesn’t appear unless you start DiyLC with the command:
java -jar DIYLC.jar -javaagent:jarpath=lib/
Cheers
Having problems running .. Installed 1x and got error message “no data set” and “no active doccument”.. Running Vista Home Premium 64bit.. is that the problem? Version 2x just froze when I opened it :(..
Thanks… Dave
Just get into folder and set the compatibility mode for Win XP and thats all.
i’ve just opened the diy layout creator beta 2, and the first things that come to my mind is : i’ve got to get close to my screen, to see what’s written ( project, settings, etc, tools … ) i’d love this to be editable, to have bigger letters, and i think i liked the first version of the soft, for the presentation, but i just wished some different evolutions than this one, although , it might be cool too, i didn’t test it really yet.
and really, the most cool feature, unique among all these pcb software, please add the ability to insert some jpegs, just like in photoshop. a layer, then some magnetic points that i’d place myself , from this layer, and then the components would hook onto these points, the way i’d want. this would be so cool.
Cause imagine, if you have a scan of an old pcb, you have the traces, the dimensions of the original board, and you’d like to make a presentation, adding these symbolic components that you have, to make some corrections, and communicate this between diyers you know. you’d see the traces by transparency, and the components on the top. different layers. and the transparency /opacity of the different layers could be aditable.
really also the zoom. too static. more like into photoshop.
yeah, and white components, on a black screen, instad of on a white screen , just an option added.
but i love the principle for all the rest, keep this the way it is ! ; )
so fast : having a board , a circuit, click and drag some components, some connections, and the feeling that you’re quite free, simple, best.
I really hope to see such evolutions, if you think you can, and want to do it. i’d use only this soft then.
thanks again,
Adrien
Hi !
Well, diy layout creator is the best soft, very simple, an dit looks like a real board. I love it. But, please, may I ask you if you could perhaps add some other features ?
I’d be very interested to have a zoom in an out included ( some are more comfortable than some others. Maybe photoshop like, maybe shortcut with it too, to have the choice, maybe a slide , maybe a shortcut and a move of the mouse … you know … )
AND, the possibility to insert some jpegs, witth a scale somewhere, so that, I could insert some vintage pcb drawings, in black and white, synchronised with a rule , visible in the working area, ( the picture would be scaled previously at the 1/1 scale, into photoshop for example, then inserted at scale one, into diy layout creator , see what I mean ? ) , in the background, and editable a little bit.
Then, pure pleasure to add these components, moding them etc …
And about the points of the pcb inserted, than won’t fit the diy layout creator orthogonal frame, well, then a simple feature would be cool : adding the magnetised points by ourself, following the pcb inserted in jpeg. Then the components would be added, and would recognize these points.
I hope that you’re reading me, and I’d be glad to discuss about it with you.
This would make this layout creator the absolute ultimate layout creator for effects. ( by the way, the old plexi amps, or fender amps, would be glad to have some boards that would look the way they are : just one more cool feature that could be added I think. ).
I know that sometimes, echoes from the public can stimulate the ideas, and make the soft to evolve in a cool way.
Oh, another cool feature would be to have a negative visual stuff , you know, instead of black on white, white on black, so it doesn’t hurt the eyes.
My screen , in my room, is a 2 meters wide screen, from a full hd videoprojector. Lot of light ; )
I hope that you noted all my requests, for all these features I’d love to see into this software.
One more : a feature that would allow the user to create , or import his own components drawing, from dwg or dxf, or even from some psd ( photoshop ) layers, or png or I don’t know .
The other way would be to add every components into photoshop, onto my pcb drawing, with it’s traces ( seen with a transparency, from the components side )
All the best, and thanks for this cool software.
Adrien
Great software Bancika,
I do have a couple of small suggestions.
*I would like to be able to rotate the schematic valve symbols.
*I notice when I “ctrl Z” it resets the page size to default.
*I am unable to change page size in “Page Edit”
*Is it possible to edit the symbols or create your own?
Thanks for taking the time to write this software. Paul is right This is neither too complex nor too crude.
Thanks for comments. I’ll include them in the new version. And yes, you can create your own symbols. Library contains XML files that define symbols. Start with the one that’s close to what you need, copy it and customize.
Cheers
Please add a breadboard layout, a way to cut a range of traces [instead of 1 at a time], jumper a range of holes [likewise], and a way to always skip the “non-standard IC size” message. Great program – thanks!
please update your layout collection of files !!!!!!!!!!!!!!!!!!! and where I send a circuit with version 1.x?
layout collection is for version 1.x, there’s no official collection for 2.x
I can include your circuits if you send them to stormbringer [at] mail.com
cheers
I think I am going to be using this, as all the other packages I have looked at are either too complex, too crude, won’t do stripboards or won’t run properly on Linux! That said, I hope you will welcome a couple of constructive comments in order of importance:
-There is no check that you have saved before exiting.
-If I open another package DIYLC disappears.
-It’s a bit slow – I assume that is just because it’s Java.
-The ‘check for update’ and ‘update library’ options result in a Java.io.ioexception error.
I have more – I can put them on here or you can email me if you prefer.
thanks for comments Paul. I know that it has many annoyances and version 3 is on its way. Unfortunately, it goes very slowly as I don’t have much time. Feel free to post your comments here, I’ll take them into account when making the new one.
Cheers
@Bancika: OK, more comments then!
If you are not used to this sort of software it might not occur to you to lock the circuit board layer, perhaps ‘locked’ should be the default. The locking doesn’t work reliably. It’s possible to put a circuit board underneath the ruler.
The speed is the biggest problem, it can get so slow that you get confused about what you have clicked and what you are waiting for. My 1.7GHz PC is fast enough for everything else I do.
Some more ‘Likes’
Easy to use.
Easy to add to library by editing XML of a similar component.
Good graphics.
Can show the enclosure to keep a check on size and position of off-board components.