Quantcast
Channel: KiCAD – Hackaday
Viewing all 167 articles
Browse latest View live

Mechanical Integration With KiCad

$
0
0

Eagle and Fusion are getting all the respect for integrating electronic and mechanical design, but what about KiCad? Are there any tools out there that allow you to easily build an enclosure for your next printed circuit board? [Maurice] has one solution, and it seamlessly synchronizes KiCad and FreeCAD. KiCad will give you the board, FreeCAD will give you the enclosure, and together you have full ECAD and MCAD synchronization.

This trick comes in the form of a FreeCAD macro (on the Github, with a bunch of documentation) that loads a KiCad board and components into FreeCAD and export them as a STEP file. You can align the KiCad board in FreeCAD, convert STEPs to VRMLs, check interference and collision, and create an enclosure around a KiCad board.

KiCad has gotten some really great visualization tools over the past few years, and we would be remiss if we didn’t mention it’s one of the best ways to visualize a completed circuit board before heading to production. Taking that leap from electronic CAD to mechanical CAD is still something that’s relatively rare in the KiCad ecosystem, and more tools to make this happen is always wanted.


KiCad Community Shines at First Ever KiCon

$
0
0

Last weekend was KiCon, a gathering of hardware developers from all over the world who use KiCad open source EDA software. This included many of the software engineers who drive development, people who use KiCad in their business, and those who simply love it for being a professional quality tool available for anyone to use.

From hardware show-and-tell, to the lineup of talks, and the social events each evening, there was so much packed into two (plus) days. Join me after the break for a whirlwind tour of the people and the hardware found at 2019 KiCon.

The Community

Above: Side area at Hackaday afterparty
Top of Article: Main room at Hackaday afterparty

Chris Gammell organized this conference and he did a fantastic job. The event transcended the walls of mHub — the manufacturing-oriented co-working space where KiCon was held — and included social events for three nights during the event.

Everyone who arrived in town on Thursday night came out to Hardware Happy Hour Chicago for a long evening including many hardware demos. As the talks wrapped up on Friday night we hopped on the train and partied at Pumping Station: One, a huge hackerspace on the north side of the city. And the fun continued past the official end of KiCon as Hackaday helped host an afterparty. All three of these nights were packed and delivered a much needed dose of unscheduled time to meet everyone and catch up with what has been going on in their parts of the hardware universe.

The Badge

To my delight there was a hardware badge for KiCon designed by Maciej Sumiński. The simple board packs a lot of punch, with functionality as an 8-channel logic analyzer, a simple oscilloscope, USB-to-UART, and the ability to control GPIO via USB. The hardware design is based on the LQFP-64 Atmel/Microchip ATSAM4SD16BA, which includes a whopping 1 MB 160 kB of RAM and runs at 120 MHz. The user interface is an OLED display with four user buttons.

A small portable battery was the power source. The badge was too low-power to keep that battery awake but that could be fixed by soldering some resistors onto a decoupling cap, allowing me to display my own animations as my name badge during the con.

The Talks

How much can you say about EDA software? Like any good tool, the uses are endless and I enjoyed hearing as much about unique use cases as I did about how they were overcome. The talks were recorded and I will be watching for those to be made available because the two talk venues made it impossible to see everything. (Update: they will be published on the Contextual Electronics channel)

One talk I certainly didn’t miss was Wayne Stambaugh’s keynote as the KiCad project leader. This has been, and remains a labor of love for all involved. But the big news is that Wayne has been hired full-time to work on the KiCad project, an incredible contribution to the Open Source community by the company Wit. This news came at the end of the talk after discussing plans for version 6; new schematic and symbol library file formats, Python scripting for schematics, drag and drop from symbol library to schematic editor, hatch zone filling, SVG import to boards, ratsnest curving, coloring, and visibility support were among the mentioned efforts.

Top: Developers Panel
Bottom: Manufacturers Panel

The panels were what I enjoyed the most from the talks. These are sessions with multiple people on stage where the conversation is led by a moderator and the audience is free to ask questions. Coming from a very interested crowd, questions were thoughtful and considerate, and those questions guided incredible discussions during both the KiCad developers panel and the manufacturers panel.

The Hacks

KiCon turned out a lot of hardware designers and they didn’t leave their pet projects at home.

This ski goggle LED board is fascinating in itself, but the design process was also the topic of Uriel Guy’s talk at the con. He wrote a C# wrapper for KiCad which will do the repetitive work of placing the LEDs and the board cutouts that let you see through the matrix. But the real gobsmacker is the jig for the curved control board — that jig was auto generated and pretty much everyone who’s ever manufactured anything will be interested in that feature.

Morgan showed up at Thursday night’s meetup wearing a badge he made that is simply perfection. The top lid is a bezel of PCB with pink LEDs on the underside to illuminate the electronics and battery inside. The sides and back of the case are also PCB, notched together, with control buttons on the side. There’s a PCB lanyard eyelet on the top, and a USB charging port on the bottom.

I ran into the engineers behind Wayne and Layne who were both wearing their I can solder SMT boards. I enjoy these because they are programmed optically using the phototransistors along the top edge.

You’ve likely seen the incredible circuit sculptures Mohit Bhoite has been building. He brought along a gorgeous game of snake with a wooden handle, thumbstick, and air-wired LED matrix. He tells me he transports it in a Pelican case to keep it safe.

The wristwatch above is a fitness tracker design that Joel Murphy is working on. It has a step tracker (the silicon actually does the processing to detect steps) and a heart rate monitor. Joel’s technique for attaching the watch band is interesting, the lug hole is a castellation with a surface mount resistor on top and bottom to keep the lug in place.

Eric Carr showed up to the Hackaday meetup with a case of (protoype?) Pinebook laptops. Of course people started breaking out tools and doing a teardown! I also enjoyed seeing the Eurorack face plate shown here which is a PCB manufactured with aluminum substrate. Apparently this is a common option for PCB designs that use high-powered LEDs.

This conference brought together amazing people to celebrate hardware design using Open Source tools beyond just KiCad. I learned about 3D modelling, I heard some insight on what manufacturers go though to build the designs we send them, and I heard directly from the software engineers that drive KiCad. There was simply way too much to fit in two days of this conference — although we still all tried to do everything. I think I speak for all involved in saying this went off without a hitch and I can’t wait for the next KiCon!

KiCad Gets Banana For Scale

$
0
0

Over the years we’ve seen KiCad grow from a niche, somewhat incomplete, but Open Source PCB design suite to a full-featured extravaganza of schematics and board layouts. We’ve plumbed the depths of keys and kais and queues and quays, and KiCad just had its first conference last weekend. While we wait for the rest of the talks to be published, there’s a special treat for KiCad users everywhere. Here’s a banana for scale.

Have you ever worried your PCB was too big? Confused if you’re working in inches or millimeters? Do you just want to know the scale of your PCB? Just add this footprint to your KiCad project, and you’ll have a banana on your board view. This is immediate visual feedback, giving you all the information you need to continue on with your design. There’s a 2D view and a 3D view. It’s something no electrical engineer should be without. All of this can be yours for the low, low, cost of free because KiCad is Open Source.

If you’re wondering what official features are in the works for the EDA suite, the first two talks from the con delve into that. project leader Wayne Stambaugh’s talk covers features new to version 5.1 and plans for 6.0. There was also a developers panel that provides insight on what goes into a large project like this one.

Laser Cutting Wooden Pogo Pin Test Jigs

$
0
0

Now as far as problems go, selling so many products on Tindie that you need to come up with a faster way to test them is a pretty good one to have. But it’s still a problem that needs solving. For [Eric Gunnerson] the solution involved finding a quick and easy way to produce wooden pogo test jigs on his laser cutter, and we have a feeling he’s not the only one who’ll benefit from it.

The first step was exporting the PCB design from KiCad into an SVG, which [Eric] then brought into Inkscape for editing. He deleted all of the traces that he wasn’t interested in, leaving behind just the ones he wanted to ultimately tap into with the pogo pins. He then used the Circle tool to put a 0.85 mm red dot in the center of each pad.

You’re probably wondering where those specific parameters came from. The color is easy enough to explain: his GlowForge laser cutter allows him to select by color, so [Eric] can easily tell the machine to cut out anything that’s red. As for the size, he did a test run on a scrap of wood and found that 0.85 mm was the perfect dimensions to hold onto a pogo pin with friction.

[Eric] ran off three identical pieces of birch plywood, plus one spacer. The pogo pins are inserted into the first piece, the wires get soldered around the back, and finally secured with the spacer. The whole thing is then capped off with the two remaining pieces, and wrapped up in tape to keep it together.

Whether you 3D print one of your own design or even modify a popular development board to do your bidding, the test jig is invaluable when you make the leap to small scale production.

Bit Preserve: A Sanctuary For Modern Captures Of Vintage Schematics

$
0
0

Vintage parts may be documented, but that doesn’t mean they’re particularly useful or accessible. If the phrase “eyestrain from unsearchable, badly-scanned PDF datasheets” makes your lower eyelid twitch in sympathy, read on.

While [Bald Engineer] was researching how he might make a portable Apple II, he was delighted to find that the vintage components he needed to examine were documented. However, he became frustrated with the seemingly endless number of poor quality PDF scans and the inability to search effectively. He decided to re-create the entire Apple IIgs schematic in KiCad, and in the process the Bit Preserve project was born. The goal is to act as a safe haven for modern and editable versions of vintage electronic schematics. The GitHub repository can be found here.

[Bald Engineer] talks a bit about his Apple II project, as well as the ideas behind the Bit Preserve project in his KiCon 2019 talk “Preserving History with KiCad”. KiCon was wild, and we have loads of photos of the projects and details so be sure to check it out.

A New KiCAD Tutorial Hits the Scene

$
0
0

KiCAD has a rightfully earned image problem regarding beginners. The shiny new version 5 has improved things (and we’re very excited for v6!) but the tool is a bit obtuse even when coming from a electronics design background, so we’re always excited to see new learning material. [Mike Watts] is the latest to join the esteemed group of people willing to export their knowledge with his KiCAD tutorial series on GitHub that takes the aspiring user from schematic through fab and assembly.

The tutorial is focused around the process of creating a development board for the dimuitive Microchip née Atmel ATSAMD10 Cortex M0 ARM CPU. It opens by asking the reader to create a schematic and proceeds to teach by directing them to perform certain actions then explaining what’s going on and which shortcuts can accelerate things. This method continues through layout, manufacturing, and assembly.

Of note is that when defining the board outline [Mike] describes how to use OpenSCAD to parametrically define it; a neat micro-tutorial on using the two great tools to compliment each other. We also love that upon successful completion of the tutorial series the user will have developed a tiny but useful development board that can be assembled for about $3 in single quantities!

As with all open source work, if you have quibbles or want to contribute open a pull request and give [Mike] a hand!

KiCad Action Plugins

$
0
0

The last two years has been a particularly exciting time for KiCad, for users, casual contributors, and for the core developers too. Even so, there are many cool new features that are still in process. One bottleneck with open-source development of complex tools like KiCad is the limited amount of time that developers can devote for the project. Action plugins stand to both reduce developer load and increase the pace of development by making it easier to add your own functionality to the already extensible tool.

Sometime around version 4.0.7 (correct us if we’re wrong), it was decided to introduce “action plugins” for KiCad, with the intention that the larger community of contributors can add features that were not on the immediate road map or the core developers were not working on. The plugin system is a framework for extending the capabilities of KiCad using shared libraries. If you’re interested in creating action plugins, check out documentation at KiCad Plugin System and Python Plugin Development for Pcbnew. Then head over to this forum post for a roundup of Tutorials on python scripting in pcbnew, and figure out how to Register a python plugin inside pcbnew Tools menu.

Since version 5.0, we’ve seen an explosion of extremely useful action plugins for KiCad that have added some very useful bells and whistles. The KiCad website lists a couple of external tools, but there’s a lot of action happening out there, so we decided to round up some of the more useful ones.

KiCad StepUp Tools

Action Plugins came about as a result of work done earlier to improve the KiCad 3D model viewer by adding support for other CAD formats besides VRML. This resulted in the ability to use STEP formats for component models in KiCad 3D viewer, and the STEP export feature for the complete board. If you need nice looking renders, VRML format suits well. But if you want to import to CAD, then STEP format works better. Based on this, one early feature add-on wasn’t really an action plugin, but a workbench for FreeCAD which created a bridge between KiCad and FreeCAD. [Maurice]’s StepUp Tools offers integration between EDA KiCad and Mech FreeCAD. There’s an active thread discussing KiCad StepUp Tools on the forum with lots of demo videos and helpful assistance.

RF Tools for KiCad

Recently, [Maurice] has released RF Tools for KiCad which include a collection of plugin’s that address a long felt need for RF design. The suite includes footprint wizards for designing mitred bends, tapered track connectors, and arc tracks (radius bends) for RF layout. These tools work by creating footprints, so it isn’t perfect, but it’s a big step in the right direction.

Also included is a set of action plugins for arc track corners, track length measurement, and a mask expansion tool. The expansion tool lets you adjust mask clearances for tracks and is handy for RF layout and for high current applications where you want to layer up extra solder on top of exposed copper tracks. It may also appeal to the artistic folks who want more control over track layout and visual design. Rounded tracks will also be pretty handy when designing flex PCBs. It’s worth pointing out that the arc action plugin will create segmented arcs while the arc footprint wizard will produce a smooth arc, so both have their pros and cons. If you get stuck, there’s an active thread on the forum for help and assistance. Check out the demo video embedded below.

Via Fencing and Stitching

When you lay out antenna traces on the PCB, it helps to have ground plane vias surrounding the track. The RF Tools suite includes a “Via Fence” generator which simplifies this task. It will add a series of vias surrounding the selected track. You can set via dimensions, pitch and distance from the track. Use this thread on the forum to get unstuck if you run in to problems.

For a while, KiCad has had a nifty via-stitching option, using which you can keep dropping vias on a net or zone manually. [jsreynaud]’s Via Stitching plugin provides a controlled way of adding a grid of vias to a zone, aka copper pour. You can set via dimensions, clearances, spacing and create random or patterned fills.

Circular Zones

At the same link, you’ll find a pretty handy Circular Zone generator. It’s a bit crusty, since changing the radius involves deleting the old zone and creating a new one, but again, we are sure it will improve pretty soon. It also lets you create circular keep-out areas within zones.

Interactive HTML BoM

By far one of the most useful plugins has to be [qu1ck]’s Interactive HTML BoM generator. Not only does it show the BoM in a nice graphical format, but it is also a very handy assembly tool that highlights the location on the PCB of any part that you choose from the BoM. Once you have a part installed, you can mark it off as “placed”, making your manual assembly process that much easier to manage. If you have questions or feature requests, head over to this forum thread.

Graphical Symbol Generator

When your design uses a part which doesn’t yet have a schematic symbol, creating it from scratch is obviously pretty painful, and prone to errors. KiSymGen is a graphical symbol generator which makes this process visual and less painful.

Teardrops

In the early days, PCB fabs often had yield issues due to offset drill holes, particularly on vias and micro-vias. One trick that PCB designers used to mitigate this problem was to use “teardrops”. The area around the pad or via that connected to the track was made into a teardrop shape, ostensibly in the hope that it would improve matters. Fabs nowadays do a pretty good job due to improved processes and accurate machines, so the jury is still out on the use of teardrops, but KiCad does have a Teardrop plugin, in case anyone wants to use it. Combined with smooth, rounded tracks, we’re guessing teardrops would be pretty helpful in the artistic PCBs department.

Spiral Coil/Inductor Generator

If you want to do something like [Carl Bujega]’s work on Designing Tiny Motors Right Into The Robot’s Circuit Board, you know you’re going to have to layout inductor coils directly on the board. SpiKi, a spiral inductor footprint generator for KiCad is what the Doctor prescribed.

This isn’t a comprehensive list by any means, so if you’re looking for a plugin we haven’t covered, then check out this roundup of plugins on the KiCad forum thread or this curated list on the xesscorp repository. If you come across one that isn’t listed, do let us know in the comments below.

DeepPCB Routes Your KiCAD PCBs

$
0
0

Computers can write poetry, even if they can’t necessarily write good poetry. The same can be said of routing PC boards. Computers can do it, but can they do it well? Of course, there are multiple tools each with pluses and minuses. However, a slick web page recently announced deeppcb.ai — a cloud-based AI router — and although details are sparse, there are a few interesting things about the product.

First, it supports KiCAD. You provide a DSN file, and within 24 hours you get a routed SES file. Maybe. You get three or four free boards –apparently each week — after which there is some undisclosed fee. Should you just want to try it out, create an account (which is quick and free — just verify your e-mail and create a password). Then in the “Your Boards” section there are a few examples already worked out.

We haven’t tried the service yet, but reading notes from people who have doesn’t give us a great feeling. Apparently, the router only wants two-layer boards with a limited number of wires, for the free version at least. One user reported they used up all three boards and only got error results back.

The real question is do we need AI routing? If you have parts well placed, routing isn’t that hard and there are other autorouters that can do a great job. Of course, many people won’t want to trust their designs to a cloud service. However, the technology could be interesting, especially if it could move things around and work towards different goals (e.g., low noise, minimum size, etc.).

There are others, of course. Then again, you can do it all on the cloud, if you like.

We couldn’t see a picture of an example PCB from the system, so our header image comes from a different source. c-g. [CC BY 2.0]


Can Solder Paste Stencils be 3D Printed? They can!

$
0
0
3D printed solder paste stencil, closeup.

[Jan Mrázek]’s  success with 3D printing a solder paste stencil is awfully interesting, though he makes it clear that it is only a proof of concept. There are a lot of parts to this hack, so let’s step through them one at a time.

First of all, it turns out that converting a PCB solder paste layer into a 3D model is a bit of a challenge. A tool [Jan] found online didn’t work out, so he turned to OpenSCAD and wrote a script (available on GitHub) which takes two DXF files as input: one for the board outline, and one for the hole pattern. If you’re using KiCad, he has a Python script (also on GitHub) which will export the necessary data.

The result is a 3D model that is like a solder paste mask combined with a raised border to match the board outline, so that the whole thing self-aligns by fitting on top of the PCB. A handy feature, for sure. [Jan] says the model pictured here printed in less than 10 minutes. Workflow-wise, that certainly compares favorably to waiting for a stencil to arrive in the mail. But how do the actual solder-pasting results compare?

3D printed solder stencil on PCB, after applying solder paste.

[Jan] says that the printed stencil had a few defects but it otherwise worked fine for 0.5 mm pitch ICs and 0402 resistors, and the fact that the 3D printed stencil self-registered onto the board was a welcome feature. That being said, it took a lot of work to get such results. [Jan]’s SLA printer is an Elegoo Mars, and he wasn’t able to have it create holes for 0.2 mm x 0.5 mm pads without first modifying his printer for better X/Y accuracy.

In the end, he admits that while a functional DIY solder stencil can be 3D printed in about 10 minutes, it’s not as though professionally-made stencils that give better results are particularly expensive or hard to get. Still, it’s a neat trick that could come in handy. Also, a quick reminder that we stepped through how to make a part in OpenSCAD in the past, which should help folks new to OpenSCAD make sense of [Jan]’s script.

Altium has its 2kicad Moment

$
0
0

Around these parts we tend to be exponents of the KiCad lifestyle; what better way to design a PCBA than with free and open source tools that run anywhere? But there are still capabilities in commercial EDA packages that haven’t found their way into KiCad yet, so it may not always be the best tool for the job. Altium Designer is a popular non-libre option, but at up to tens of thousands of USD per seat it’s not always a good fit for users and businesses without a serious need.

It’s hard to find an exciting photo of a dialog box

What do you do as a KiCad user who encounters a design in Altium you’d like to work with? Well as of April 3rd 2020, [Thomas Pointhuber] has merged the beginnings of a native Altium importer into KiCad which looks to be slated for the 6.0 release. As [Thomas] himself points out in the patch submission, this is hardly the first time a 3rd party Altium importer has been published. His new work is a translation of the Perl plugin altium2kicad by [thesourcerer8]. And back in January another user left a comment with links to four other (non-KiCad) tools to handle Altium files.

If you’d like to try out this nifty new feature for yourself, CNX has a great walkthrough starting at building KiCad from source. As for documents to test against the classic BeagleBone Black sources seen above can be found at on GitHub. Head past the break to check out the very boring, but very exciting video of the importer at work, courtesy of [Thomas] himself. We can’t wait to give this a shot!

Thanks for the tip [Chris Gammell]!

 

KiCad Panelization Made Easy

$
0
0

There’s a new Python-based script that will panelize your KiCad circuit boards from the command line. The project by [Jan Mrázek] is called KiKit and works on .kicad_pcb files to arrange them in a grid with your choice of mousebites or v-cuts for separating the boards after production.

When working with smaller boards it’s common practice to group them together into panels. This is done to speed up PCB assembly as multiple boards can have solder paste applied, go through a pick and place machine, and be sent into the reflow oven as a single unit. Often this is done manually, but in many cases this script will save you the time while delivering the results you need.

Let’s say you really wanted to make a whole bunch of those Xling open source Tamagotchi-like key fobs we saw a couple of weeks back. Using KiKit you can gang up six of the boards at a time, using “mousebites” to keep them together during production but make it easy to separate them after all the components are soldered:

/usr/local/bin/kikit panelize grid --space 3 --gridsize 2 3 --tabwidth 3 --tabheight 3 --htabs 2 --vtabs 1 --mousebites 0.5 1 0.25 --radius 1 Xling/hardware/xling.kicad_pcb xling_panel.kicad_pcb

You can see that the parameters let you set space between the boards, number of boards in the grid, width of the tabs, tab dimensions, number of tabs between boards, and even the radius of the curve where the tabs meet the board. These settings were pulled from the examples page, which demonstrates outcomes for many different settings options.

If you want to give this a try, we suggest installing directly from the repository, as improvements are ongoing and the pip3 version didn’t have all of the options shown in the examples. For us this was as easy as sudo python3 setup.py install and then calling the script with the full path /usr/local/bin/kikit.

Results from this board are both impressive and cautionary. You can see the top edge of the design is recessed yet the most up-to-date version of KiKit was still able to make the connection. However, how this affects the USB connector on the bottom of the board design may be something to consider before pulling the trigger on your panel order.

Tidy Laser Cut Packaging For PCBs With KiCAD

$
0
0

A laser cutter is a useful tool to have in any workshop. While many hackers use them for their cutting abilities, it’s important to remember that they can be great as engravers, too. [Wrickert] was well aware of this when he set his to work, producing attractive packaging for his Tindie orders.

[Wrickert] sells a variety of small PCB-based devices on Tindie, and it’s nice to have something to package them up with, rather than just sending a bare board. To do this quickly and effectively, KiCAD is used to help generate the packaging from the original PCB geometry itself. The board outlines are exported as an SVG file, reopened in KiCAD, and then used to create the required cardboard parts. The laser can then also be used to engrave the cardboard too.

It’s a tidy packaging solution that requires no messy inks or printers, and can be designed in the same software as the device itself. We’ve covered this area before, talking about what it takes to go from a home project to a saleable kit. If you’re in the game, you might find [Wrickert]’s hack to be just the ticket!

Designing 3D Printed Enclosures for KiCad PCBs

$
0
0

If you’ve used KiCad before, you’re certainly familiar with the handy 3D view that shows you a rendered view of what your assembled board would look like. But as [Vadim Panov] explains, you can take this capability a step further. With a few extra tools and a little bit of know-how, you can leverage KiCad’s PCB renderings to make custom 3D printable enclosures.

The first step is to design the PCB as you normally would in KiCad. This could be an original PCB of your own invention, or a digital representation of an off-the-shelf model you want to build an enclosure for. If the latter, then the PCB doesn’t need to be 100% accurate; the goal is really just to get the big components into roughly the right areas so you can get the clearances right. Though obviously you’ll want to make sure the board’s outer dimensions and mounting hole locations are recreated as accurately as possible.

From there, [Vadim] recommends a tool called StepUp. This will take your PCB KiCad PCB files and create either a STEP or STL file of the assembled board which can be imported into your CAD package of choice. For the purposes of this demonstration he’s sticking with FreeCAD, as he likes the idea of it being a completely FOSS toolchain from start to finish.

Now that you have a model of the PCB in your CAD software, the rest is up to you. Naturally, there are existing enclosure models you can use such as the ones produced by the “Ultimate Box Maker” that we covered previously, but you could just as easily start building a new enclosure around the digital PCB.

Looking for a bit more guidance? As it so happens, our very own [Anool Mahidharia] will be presenting a class on how you can develop a KiCad + FreeCAD workflow as part of our recently launched HackadayU initiative.

Transform Kicad Design To Patchwork For Isolation Routing

$
0
0

Tuning a desktop router and your board designs for isolation routing can be a bit tricky, with thin traces usually being the first victim. For simple prototype boards you usually don’t need tightly packed traces, you just want to isolate the nets. To do this with a minimum amount of routing, [Michael Schembri] created kicad-laser-min, a command-line utility that takes a Kicad PCB design and expands all the tracks and pads to their maximum possible width.

Laser scribed PCB with maximum track widths

The software takes one layer of the PCB layout, converts it to black and white, and then runs a C++ Voronoi algorithm on it to dilate each track and pad until it meets another expanding region. Each region is colourised, and OpenCV edge detection is used to produce the contours that need to be milled or etched. A contour following algorithm is then used to create the G-code. The header image shows the output of each step.

Full source code is available on GitHub. [Michael] has had good results with his own boards, which are scribed using a laser cutter before etching, but welcomes testing and feedback from other users. He has found that OpenCV doesn’t always completely close all the contours, but the gaps are usually smaller than the engraving width of his laser, so no shorts are created.

This is basically “Scribble style” prototyping with CAD and CNC tools. If you prefer scribe and etch, you might consider building a simple PCB shaker for faster etching. If you have a router but want to avoid the dust, you can use a carbide scribe to scratch out the tracks without needing to etch.

Let KiCad and Python Make Your Coils

$
0
0

We like to pretend that our circuits are as perfect as our schematics. But in truth, PCB traces have unwanted resistance, capacitance, and inductance. On the other hand, that means you can use those traces to build components. For example, it isn’t uncommon to see a very small value current sense resistor be nothing more than a long PC board trace. Using PC layers for decoupling capacitance and creating precise transmission lines are other examples. [IndoorGeek] takes us through his process of creating coils on the PCB using KiCad. To help, he used a Python script that works out the circles, something KiCAD has trouble with.

The idea is simple. A coil of wire has inductance even if it is a flat copper trace on a PCB. In this case, the coils are more for the electromagnetic properties, but the same idea applies if you wanted to build tuned circuits. The project took inspiration from FlexAR, an open-source flexible PCB magnet.

KiCAD doesn’t like curved traces, but since the file format is open and text-based, it is easy to write scripts that can create shapes for you. [Joan Spark] provided the script. By the way, the goal for these magnets is to improve the mechanical 7-segment display we’ve looked at earlier.

It is really great to be able to work with text files and modify your PCB layouts; it leads to very handy tools. Of course, you can do the same kinds of tricks with gcode, but by that time, you’ve lost a lot of information.


These Micro Mice have Macro Control

$
0
0

Few things fascinate a simple Hackaday writer as much as a tiny robot. We’ve been watching [Keri]’s utterly beguiling micromouse builds for a while now, but the fifth version of the KERISE series (machine translation) of ‘bots takes the design to new heights.

A family of mice v1 (largest) to v5 (smallest)

For context, micromouse is a competition where robots complete to solve mazes of varying pattern but standardized size by driving through them with no guidance or compute offboard of the robot itself. Historically the mazes were 3 meter squares composed of a 16 x 16 grid of cells, each 180mm on a side and 50mm tall, which puts bounds on the size of the robots involved.

What are the hallmarks of a [Keri] micromouse design? Well this is micromouse, so everything is pretty small. But [Keri]’s attention to detail in forming miniaturized mechanisms and 3D structures out of PCBs really stands out. They’ve been building micromouse robots since 2016, testing new design features with each iteration. Versions three and four had a wild suction fan to improve traction for faster maneuvering, but the KERISE v5 removes this to emphasize light weight and small size. The resulting vehicle is a shocking 30mm x 32mm! We’re following along through a translation to English, but we gather that [Keri] feels that there is still plenty of space on the main PCBA now that the fan is gone.

The KERISE v5 front end

The processor is a now familiar ESP32-PICO-D4, though the wireless radios are unused so far. As far as environmental sensing is concerned the v5 has an impressive compliment given its micro size. For position sensing there are custom magnetic encoders and a 3 DOF IMU. And for sensing the maze there are four side-looking IR emitter/receiver pairs and one forward-looking VL6180X laser rangefinder for measurements out to 100 or 150mm. Most of these sensors are mounted on little PCB ‘blades’ which are double sided (check out how the PCB shields the IR emitter from it’s receiver!) and soldered into slots perpendicular to the PCBA that makes up the main chassis. It goes without saying that the rest of the frame is built up of custom 3D printed parts and gearboxes.

If you’d like to build a KERISE yourself, [Keri] has what looks to be complete mechanical, electrical, and firmware sources for v1, v2, and v3 on their Github. To see the KERISE v5 dance on a spinning sheet of paper, check out the video after the break. You don’t want to miss it!

Remoticon Video: KiCad to Blender PCB Renders

$
0
0

We seem to want our PCB design software to do everything these days, and it almost delivers. You can not only lay it all out, check electrical and design rules, and even spit out a bill of materials, but many PCB tools produce 3D models that are good enough to check parts clearance or are useful in designing enclosures. But when it comes to producing photorealistic output, whether for advertising or just for eye-candy, you might want to turn to 3D design tools.

In this workshop, Anool Mahidharia takes the output of KiCad’s VRML export, gets it rendering in Blender, and then starts tweaking the result until you’re almost not sure if it’s the real thing or a 3D model. He starts off with a board in KiCad, included in the project’s GitHub repo, and you can follow along through the basic import, or go all the way to copying the graphics off the top of an ATtiny85 and making sure that the insides of the through-plated holes match the tops.

If you don’t know Blender, maybe you don’t know how comprehensive a 3D modelling and animation tool it is. And with the incredible power comes a notoriously steep learning curve up a high mountain. Anool doesn’t even try to turn you into a Blender expert, but focuses on the tweaks and tricks that you’ll need to make good looking PCB renders. You’ll find general purpose Blender tutorials everywhere on the net, but if you want something PCB-specific, you’ve come to the right place.

Anool is an electrical engineer by day and a Hackaday contributor by night. He has written a bunch of articles on KiCad, including this classic on managing component libraries that we still refer to, and this introduction to the cool things you can do with action plugins. He also practices what he preaches, and has designed a number of cool open-source hardware projects and even the badge for the Open-Source Hardware Summit.

Feeling the KiCad 6 Electricity

$
0
0

In 2018, when KiCad Version 5 modernized the venerable 4.X series, it helped push KiCad to become the stable and productive member of the open source EDA landscape that we know today. It has supported users through board designs both simple and complex, and like a tool whose handle is worn into a perfect grip, it has become familiar and comfortable. For those KiCad users that don’t live on the bleeding edge with nightly builds it may not be obvious that the time of version 6 is nearly upon us, but as we start 2021 it rapidly approaches. Earlier this month [Peter Dalmaris] published a preview of the changes coming version 6 and we have to admit, this is shaping up to be a very substantial release.

Don’t be mistaken, this blog post may be a preview of new KiCad features but the post itself is extensive in its coverage. We haven’t spent time playing with this release yet so we can’t vouch for completeness, but with a printed length of nearly 100 pages it’s hard to imagine [Peter] left anything out! We skimmed through the post to extract a few choice morsels for reproduction here, but obviously take a look at the source if you’re as excited as we are.

There’s No Place Like (0, 0)

The mythical hatched fill

Starting with the foundation, KiCad 6 will finally bring a configurable coordinate system! We’ve found that a significant stumbling block for new users is that the default KiCad coordinates start at the upper left instead of the lower left, as in most CAD and drawing tools.

Version 6 will allow the user to relocate the origin as well as flip either axis, allowing for maximum ordinal freedom. Clearly it doesn’t take much to get us excited, does it?

Rounding Traces and Filling Zones, Mostly

Another historically missing feature in KiCad is curved traces. V6 moves part of the way there, allowing traces to have rounded fillets. This doesn’t quite get to the groovy curvy traces of the 70s but it’s progress in the right direction.

Along similar lines there is new variety in the way a zone can be filled. Now instead of being forced into a solid fill there is a second choice; hatched fill! We say the more the merrier! Next stop; hearts, stars and horseshoes?

Getting Together with Groups

A flock of grouped components in layout

It may seem minor, but should be appreciated by anyone who has worked with carefully arranged groups of components during layout; items can be grouped! It’s always been possible to select multiple elements and drag them together, but that grouping was lost as soon as the selection changed. In KiCad 6 components can be explicitly grouped, allowing you to move those pesky headers around all at once, in perpetuity.

Bussing in the Signals

Even after using version 5 for years, signal busses in KiCad schematics seemed like an ugly duckling with a usage so awkward that they weren’t worth using. [Peter]’s overview has taught us a few new things about that older tool that we didn’t know under the rubric “enhanced bus handling”. For instance, the older version 5 allows the user to textually specify net names to connect across a bus instead of forcing the use of bus entry connections and individual net labels.

Version 6 makes busses significantly more powerful. It’s now possible to specify more elaborate and less uniform net names that share a single bus, and there are graphical hooks in context menus that allow you to “unfold” individual nets from the bus without the guesswork required in version 5. And as an added bonus, in version 6 the visual style of busses can be changed. We’re excited to start getting our signals together!

That’s Not All Folks

Whew, what a list! And that was but a tiny fraction of the improvements in KiCad 6, or the coverage from [Peter]’s excellent post.

It’s worth noting that the post is based on nightly builds euphemistically versioned 5.99. Until the release is officially cut, features and functionality are subject to change, but everything is publicly available to try out in the nightly builds if something catches your eye.

Open-Source Thermostat Won’t Anger Your Landlord

$
0
0

[Nathan Petersen] built a Hackable Open-Source Thermostat to smooth out temperature fluctuations caused by the large hysteresis of the bimetallic strip thermostat in his apartment. While it may be tempting to adjust the “anticipator” to take care of the problem or even replace the bimetallic thermostat with an electronic version, building your own thermostat from scratch is a good way to add to your project portfolio while making your way through college. Plus, he got to hone his hardware and software design chops.

The hardware is designed around the STM32, using a cheap, minimal variant since the device just needs to sense temperature and control the furnace in on-off mode. The TMP117 high-accuracy, low-power, temperature sensor was selected for temperature measurement since accuracy was an essential feature of the project. Dry-contact output for the furnace is via a normally-open solid state relay (opto-isolator). For the user interface, instead of going the easy-route and using an I2C/SPI OLED or LCD display, [Nathan] used three 7-segment LED displays, each driven by an 8-channel constant current driver. The advantage is that the display can be viewed from across the room, and it’s brightness adjusted via PWM. Temperature set-point adjustment is via a simple slide potentiometer, whose analog voltage is read by the micro-controller ADC. To remind about battery replacement, a second ADC channel on the micro-controller monitors the battery voltage via a voltage divider. The PCB components are mostly surface mount, but the packages selected are easy enough to hand solder.

[Nathan]’s Github repo provides the hardware and firmware source files. The board is designed in Altium, but folks using KiCad can use either the awesome Altium2KiCad converter or the online service for conversion. (The results, with some minor errors that can be easily fixed, are quite usable.) Serendipitously, his PCB layout worked like a charm the first time around, without requiring any rework or bodge wires.

The firmware is a few hundred lines of custom bare-metal C code, consisting of drivers to interface with the hardware peripherals, a UI section to handle the user interface, and the control section with the algorithm for running the furnace. [Nathan] walks us through his code, digging into some control theory and filtering basics. After making a few code tweaks and running the thermostat for some time, [Nathan] concludes that it is able to achieve +0.1°F / -0.5°F temperature regulation with furnace cycles lasting about 10-15 minutes (i.e. 4-6 cycles per hour). Obviously, his well insulated apartment and a decent furnace are also major contributing factors. Moving on, for the next version, [Nathan] wants to add data collection capabilities by adding some memory and SD card storage, and use an RTC to allow seasonal adjustments or time-based set-points.

This is his first attempt at a “functional’ useful project, but he does love to build the occasional toy, such as this POV Top.

Peek Into This Synth’s Great Design (And Abandoned Features)

$
0
0

[Tommy]’s POLY555 is an analog, 20-note polyphonic synthesizer that makes heavy use of 3D printing and shows off some clever design. The POLY555, as well as [Tommy]’s earlier synth designs, are based around the 555 timer. But one 555 is one oscillator, which means only one note can be played at a time. To make the POLY555 polyphonic, [Tommy] took things to their logical extreme and simply added multiple 555s, expanding the capabilities while keeping the classic 555 synth heritage.

The real gem here is [Tommy]’s writeup. In it, he explains the various design choices and improvements that went into the POLY555, not just as an instrument, but as a kit intended to be produced and easy to assemble. Good DFM (Design For Manufacturability) takes time and effort, but pays off big time even for things made in relatively small quantities. Anything that reduces complexity, eliminates steps, or improves reliability is a change worth investigating.

For example, the volume wheel is not a thumbwheel pot. It is actually a 3D-printed piece attached to the same potentiometer that the 555s use for tuning; meaning one less part to keep track of in the bill of materials. It’s all a gold mine of tips for anyone looking at making more than just a handful of something, and a peek into the hard work that goes into designing something to be produced. [Tommy] even has a short section dedicated to abandoned or rejected ideas that didn’t make the cut, which is educational in itself. Want more? Good news! This isn’t the first time we’ve been delighted with [Tommy]’s prototyping and design discussions.

POLY555’s design files (OpenSCAD for enclosure and parts, and KiCad for schematic and PCB) as well as assembly guide are all available on GitHub, and STL files can be found on Thingiverse. [Tommy] sells partial and complete kits as well, so there’s something for everyone’s comfort level. Watch the POLY555 in action in the video, embedded below.

Viewing all 167 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>