cozykeys / bloomer

An 87 key ergonomic mechanical keyboard
https://cozykeys.xyz/keyboards/bloomer/
MIT License
53 stars 5 forks source link

No schematic in PCB files #13

Closed properlypurple closed 3 years ago

properlypurple commented 3 years ago

I was looking to make small modifications to the PCB layout, but it looks like the schematic file is missing, and can't be generated because of missing libraries(I have all libraries installed)

pcewing commented 3 years ago

Hi @properlypurple! Thanks for the interest in the project.

Unfortunately, at the time when I designed the Bloomer I was still very new to electronics and didn't understand the importance of a schematic so I just auto-generated the kicad_pcb file directly using code. So, there is currently no schematic file for v2 or v3 and I don't have plans to create one.

In my latest projects I actually have used a schematic and when I get around to finishing the next version (v4) of the Bloomer, it will have one. I just started actively working on that but it could be a while yet until I complete it.

properlypurple commented 3 years ago

Thank you for responding @pcewing . If you don't mind sharing, what kind of code did you use to auto-generate the pcb file? I really like the layout, but an itsy-bitsy is hard to source where I live, and I would like to modify it a bit for another board(STM32F401 blackpill). Otherwise I'd just to have to brute force the connections manually, which is exhausting.

pcewing commented 3 years ago

Yep, but I should warn you first that I haven't touched this code in a long time and it's a bit of a mess. I've since moved away from doing things this way in favor of using schematics. I'm still happy to answer questions but it may be difficult to get this working again.

It's a C# .NET Core app and it's on GitHub here: https://github.com/cozykeys/resources/tree/master/kbutil

Once you have the .NET Core SDK installed, to build it:

git clone https://github.com/cozykeys/resources
cd resources/kbutil
make

The command that handles PCB generation is gen-pcb so after building, you'd run the tool like:

build/KbUtil.Console/bin/Release/kbutil gen-pcb bloomer <input-path> <output-path>

The code executing that command lives here: https://github.com/cozykeys/resources/blob/master/kbutil/src/KbUtil.Console/Commands/GeneratePcbCommand.cs

And all of the underlying code to generate the kicad_pcb file lives in this library: https://github.com/cozykeys/resources/tree/master/kbutil/src/KbUtil.Lib/PcbGeneration

The summary of how it works is that it's a very basic template generation system. So it reads "template" files and does basic substitution of values.

properlypurple commented 3 years ago

Thanks! That is helpful. I'll go ahead and close this, since this is not in scope for the current version anyway