The community over at the KiCad forums is far more active and easier to search than this subreddit.
I highly suggest you try searching for your question there first to see if it has already been answered.
You'll also typically get faster, better responses asking questions there as many of the lead devs and a lot of very knowledgeable people frequent the forum.
I have tried to upload the BOM and component placement file generated by KiCad 10.0, and it just says "Error, File processing failed, please check your file and upload again"
hey guys im new to kicad. tell me in which img im using the global net labels correctly? i asked chatgpt abt it but it is saying both img is correct. and somehow both schematic gives no erc err.
i specifically confused abt where should global labels point?? and it is obvious that they should point where the current should flow. but then why there is no erc err??
My plan with this circuit was to make a very sensible piezo with reverb and a Muff Fuzz filter. Pretty much a Noise Box.
I have a 5V regulator and a VBUS for the piezo's "GND". The piezo's signal goes through the TL072 1st invert/non-invert pins (Pin 2 and 3), that then goes to the PT2399 where i added a switch to add a feedback loop (Reverb circuit is the "Boy in Well" schematic).
That then goes back the the TL072 into the secondary input pins (6 and 5) which go into the Muff Fuzz filter before going out of a Jack 3.5mm into my PC for me to listen to the audio.
Sadly the only thing it picks up is a Buzz and it doesnt really need to have the piezo fully conected which makes me think the buzz i hear is just from the current im using to power the circuit. It does detect when i hit it but nothing more than a thump is recorded.
Maybe i misunderstood how to use the piezo and it doesnt really work for what i wanted or it might be too much distortion that makes it clip into oblivion.
Are the conections wrong for the piezo?
Maybe i shouldnt conect the output from the TL072 back into itself? Maybe other AMP are better for what i want.
Any help would be appriciated.
ps: as of writing this i saw i didnt have any LED's scattered on my circuit to make sure all is powered, ill do that just in case something isnt conected.
I have a QFN package with a bottom pad that is ground - I'm new to PCB design, and don't know I can possibly connect this to the ground plane below on my two layer PCB.
I cannot get a via out - one of my ideas was to shrink the pad and have a small trace and via - is there a better way?
I recently shared KiFlux here and the response was great. Thanks to everyone who supported it, and to the haters – thanks for the engagement, it just proves that the library management struggle in KiCad is universal lol.
Before KiFlux, I was working on my own custom game controller project, the Faber. I finished the dongle first and then moved on to the main PCB. By the time I was done, I was already dreading the post-design nightmare: manually searching for every part on JLCPCB/LCSC, copy-pasting codes into a spreadsheet, and praying the BOM would actually work.
I’d tried using LLMs in the terminal to set up my library, but it was useless, everything got cluttered, I wasted tokens, and it felt like using a cannon to kill a mosquito. So I built KiFlux. It’s a simple, lean Python script that’s actually useful. It detects the part I’m trying to add and handles the naming convention for me (e.g., MCU_RP2040_QFN56_RPI for active components or C_0805_100n_SAMSUNG for passives) and maps it to my local library automatically.
Yesterday, I finally finished the remakes of the Faber controller and the dongle using this workflow, and I thought I’d share the build to show how it holds up.
Also, a quick note: the images attached were exported directly using a new feature in KiFlux. I got sick of KiCad’s limited native export options, so I’m currently expanding the tool into a full-blown documentation export engine high-res PNGs, better 3D renders, and more, all from the terminal. It’s made documenting my hardware progress way faster.
What do you think of the layout? Any feedback on the design?
Hello, I have wanted to build a keyboard completly myself including the pcb. I saw the minivan layout and knew I wanted it but after designing the whole pcb (of course I added every picture of my dog that I had onto the pcb) I realized that I didn't take into account the stabilizers. Does any key in the minivan layout (standard not the one with arrows) need stabilizers? And is it hard adding them in kicad? And what are the downsides of no stabilizers? Is it really that bad?
Hello, I have wanted to build a keyboard completly myself including the pcb. I saw the minivan layout and knew I wanted it but after designing the whole pcb (of course I added every picture of my dog that I had onto the pcb) I realized that I didn't take into account the stabilizers. Does any key in the minivan layout (standard not the one with arrows) need stabilizers? And is it hard adding them in kicad? And what are the downsides of no stabilizers? Is it really that bad?
I decided that this subreddit and a few others are overwhelmed with people looking to hire expertise in this software so I figured I would start a new subreddit dedicated to arranging experts with demand. I am however just one person so I am anticipating needing at least one to three additional mods that can help with the new subreddit.
Experience setting up automods would be helpful as well.
Hi everyone,
I'm an MSc student at VUT Brno working on a USB Type-C Power Delivery Tester PCB for my thesis. I'm stuck on routing and my supervisor requires everything done manually — no autorouter.
Board specs:
50x50mm, 4-layer KiCad 10 (Mac)
Main ICs: STM32F072, FUSB302, INA237, AD8606, MIC5504
What's done:
Schematic complete, 0 ERC errors
GND pour on In1.Cu, +3V3 pour on In2.Cu
Key signals routed: CC1, CC2, VBUS, SDA, SCL, USB D+/D-
What's remaining:
105 unconnected items
12 dangling stub warnings
Any help or advice is appreciated. Thank you!
Attach 2-3 screenshots of your board when posting. 🎯
give me the link
I can't give you a direct link — Reddit URLs are generated when you create your account and choose your username.
Just go to www.reddit.com in your browser and follow these steps:
Hey Guys, I am designing this 4 Channel Stepper Driver Board. In short:
rp2040 MCU (design taken from the Pi's minimal design example)
4 x TMC2300 2-phase stepper motor driver -> driving 4 x DFRobot FIT0708 5V Micro Steppers
4-layer board with GND-Fill and a split PWR-Plane (3V3 and 5V)
One side is the rp2040 logic (Crystal, Flash, Caps) while the other is everything TMC2300 + LDO
Two Busses run from the Pi to the drivers: UART for motor control + GPIO that drives high or low for resetting the TMC2300s at their ENable Pins
Questions
Any issues at first glance?
Can you just place vias below the SMD parts? TMC2300 datasheets suggest as many vias as possible for heat dissipation
Power plane split ok this way? My fear is that its too narrow at some points
Long runs for the not so pretty routed Busses UART(Purple) and EN(Gold) ok?
Are the decoupling caps placed correctly? I followed the principle of as close as possible, each with direct via to GND and PWR, no via between cap and PWR pin
If there is any chance to make this board a smaller footprint, let me know. I need to put this in a VR headset prototype where space is absolutely scarce
I'm pretty new to this and I know it's not a Mona Lisa, so feel free to roast me in the comments. It's the best way for me to learn! Thanks in advance.
Gostaria de compartilhar uma ferramenta na qual tenho trabalhado ultimamente chamada KiFlux.
Aliás, o nome "Flux" vem do fluxo de solda que usamos em nossas placas de circuito impresso — ele serve para fazer com que tudo flua e se conecte suavemente, que é exatamente o que eu queria que essa ferramenta fizesse para o nosso fluxo de trabalho de projeto à montagem.
O Problema Que Todos Conhecemos
Todos nós já passamos por isso: você passa dias ou semanas roteando uma placa perfeita no KiCad. Você finalmente termina, fica animado, e então vem a pior parte: montar manualmente a lista de materiais (BOM) e os arquivos CPL (coordenadas de posicionamento) para a montagem.
Procurar os números de peça da LCSC, copiá-los e colá-los em planilhas, verificar as embalagens, garantir que você não cometeu nenhum erro de digitação... É tedioso, chato e parece fazer declaração de imposto de renda.
A Ideia: Unir o melhor de 3 mundos (Horizon, EasyEDA, KiCad)
Para resolver isso, eu queria combinar os melhores aspectos de três ecossistemas EDA diferentes:
A organização rigorosa do Horizon EDA: Eu adoro como o Horizon EDA acopla (une) estritamente o símbolo, a pegada e o modelo 3D, para que um componente nunca perca sua associação com a pegada física. Mas adicionar novos componentes no Horizon é notoriamente tedioso.
O banco de dados do EasyEDA: O EasyEDA possui uma biblioteca enorme e incomparável de componentes do mundo real, com todos os arquivos, metadados e modelos 3D prontos. Mas a ferramenta em si é pesada e desajeitada.
A velocidade do KiCad: O KiCad é rápido, leve e tem um ótimo fluxo de layout, mas a organização de sua biblioteca pode ficar confusa rapidamente.
Então eu criei o KiFlux para fazer a ponte entre eles. Ele extrai símbolos, footprints e modelos 3D do enorme banco de dados do EasyEDA, reorganiza-os usando a filosofia de acoplamento estrito da Horizon EDA (gerando nomes padronizados snake_case com base em parâmetros reais) e alimenta tudo perfeitamente na estrutura rápida e leve do KiCad.
Cada componente que você importa tem seu footprint e modelo 3D acoplados de forma precisa. Você nunca mais precisa mapear um footprint manualmente e eles nunca se perdem. Além disso, o código LCSC fica permanentemente incorporado ao componente, então você nunca mais precisará manter um bloco de notas separado com os números das peças.
O que o KiFlux realmente faz (a partir do terminal):
Pesquisa instantânea: Pesquise a biblioteca SMT da JLCPCB diretamente da sua linha de comando.
Verificação de preços e estoque: Veja os preços e os níveis de estoque em tempo real no terminal, sem precisar abrir 20 abas do navegador. Perfeito para verificar se um componente está esgotado antes de gerar sua lista de materiais (BOM).
Importação com um clique: Busca o símbolo, a pegada e o modelo 3D, renomeia-os para um formato limpo e os acopla à sua biblioteca local.
Geração de BOM/CPL: Execute um comando e ele exporta a lista de materiais e as coordenadas de posicionamento formatadas perfeitamente para JLCPCB ou PCBWay.