KiCad, the open source EDA software, is popular with Hackaday readers and the hardware community as a whole. But it is not immune from the most common bane of EDA tools. Managing your library of symbols and footprints, and finding new ones for components you’re using in your latest design is rarely a pleasant experience. Swooping in to help alleviate your pain, [twitchyliquid64] has created KiCad Database (KCDB). a beautifully simple web-app for searching component footprints.
The database lets you easily search by footprint name with optional parameters like number of pins. Of course it can also search by tag for a bit of flexibility (searching Neopixel returned the footprint shown above). There’s also an indicator for Kicad-official parts which is a nice touch.One of our favourite features is the part viewer, which renders the footprint in your browser, making it easy to instantly see if the part is suitable. AngularJS and material design are at work here, and the main app is written in Go — very trendy.
The database is kindly publicly hosted by [twitchyliquid64] but can easily be run locally on your machine where you can add your own libraries. It takes only one command to add a GitHub repo as a component source, which then gets regularly “ingested”. It’s great how easy it is to add a neat library of footprints you found once, then forget about them, safe in the knowledge that they can easily be found in future in the same place as everything else.
Let’s get this out of the way first – this project isn’t meant to be a replacement for your regular smartphone. Although, at the very least, you can use it as one if you’d like to. But [Shree Kumar]’s Hackaday Prize 2018 entry, the Kite : Open Hardware Android Smartphone aims to be an Open platform for hackers and everyone else, enabling them to dig into the innards of a smartphone and use it as a base platform to build a variety of hardware.
When talking about modular smartphones, Google’s Project Ara and the Phonebloks project immediately spring to mind. Kite is similar in concept. It lets you interface hacker friendly modules and break out boards – for example, sensors or displays – to create your own customized solutions. And since the OS isn’t tied to any particular brand flavor, you can customize and tweak Android to suit specific requirements as well. There are no carrier locks or services to worry about and the bootloader is unlocked.
At the core of the project is the KiteBoard – populated with all the elements that are usually stuffed inside a smartphone package – Memory, LTE/3G/2G radios, micro SIM socket, GPS, WiFi, BT, FM, battery charging, accelerometer, compass, gyroscope and a micro SD slot. The first version of KiteBoard was based around the Snapdragon 410. After some subtle prodding at a gathering of hackers in Bangalore, [Shree] moved over to the light side, and decided to make the KiteBoard V2 Open Source. The new board will feature a Snapdragon 450 processor among many other upgrades. The second PCB in the Kite Project is a display board which interfaces the 5″ touchscreen LCD to the main KiteBoard. Of Hacker interest is the addition of a 1080p HDMI output on this board that lets you hook it up to external monitors easily and also allows access to the MIPI DSI display interface.
Finally, there’s the Expansion Board which provides all the exciting hacking possibilities. It has a Raspberry Pi compatible HAT connector with GPIO’s referenced to 3.3 V (the KiteBoard works at 1.8 V). But the GPIO’s can also be referenced to 5 V instead of 3.3 V if you need to make connections to an Arduino, for example. All of the other phone interfaces are accessible via the expansion board such as the speaker, mic, earpiece, power, volume up / down for hacking convenience. The Expansion board also provides access to all the usual bus interfaces such as SPI, UART, I²C and I²S.
To showcase the capabilities of the Kite project, [Shree] and his team have built a few phone and gadget variants. Build instructions and design files for 3D printing enclosures and other parts have been documented in several of his project logs. A large part of the BoM consists of off-the-shelf components, other than the three Kite board modules. If you have feature requests, the Kite team is looking to hear from you.
When it comes to smartphone design, Quantity is the name of the game. Whether you’re talking to Qualcomm for the Snapdragon’s, or other vendors for memory, radios, displays and other critical items, you need to be toeing their line on MOQ’s. Add to this the need to certify the Kite board for various standards around the world, and one realizes that building such a phone isn’t a technical challenge as much as a financial one. The only way the Kite team could manage to achieve their goal is to drum up support and pledges via a Kickstarter campaign to ensure they have the required numbers to bring this project to fruition. Check them out and show them some love. The Judges of the Hackaday Prize have already shown theirs by picking this project among the 20 from the first round that move to the final round.
Digikey might wow us with their expansive stock, but now they’re wowing us with a personal gesture. The US-based electronics vendor is nodding its head in approval to KiCad users with its very own parts library. What’s more, [Chris Gammell] walks us through the main features and thought process behind its inception.
With all the work that’s going into this library, it’s nice to see features showing that Digikey took a thorough look at KiCad and how it fits into the current state of open-source PCBA design. First off, this library follows a slightly different design pattern from most other KiCad libraries in that it’s an atomic parts library. What that means is that every symbol is linked to a specific manufacturer part number and, hence, gets linked to a specific footprint. While this style mirrors EagleCad’s; KiCad libraries usually separate symbols from footprints so that symbols can be reused and parts can be more easily swapped in BOMs. There’s no “best” practice here, so the folks at Digikey thought they’d expose the second option.
Next off, the library is already almost 1000 parts strong and set to grow. These aren’t just the complete line of Yageo’s resistor inventory though. They actually started cultivating their library from the parts in Seeed Studio’s open parts library. These are components that hobbyists might actually use since some assembly services have a workflow that moves faster with designs that use these parts. Lastly, since all parts have specific vendor part numbers, BOM upload to an online cart is more convenient, making it slightly easier for Digikey to cha-ching us for parts.
Yes, naysayers might still cry “profit” or “capitalism” at the root of this new library, but from the effort that’s gone into this project, it’s a warm gesture from Digikey that hits plenty of positive personal notes for hobbyists. Finally, we can still benefit from plenty of the work that’s gone into this project — even if we don’t use it as intended. The permissive license lets us snag the symbols and reuse them however we like. (In fact, for the sharp-eyed legal specialists, they actually explicitly nullified the clause stating that derivative projects need not be licensed with a creative-commons license.)
With maturing community support from big vendors like Digikey, we’re even hungrier to get our hands on KiCad V.
Key to the entire concept is the detection of lines in a black-and-white technical drawing. To some people this won’t sound like a particularly challenging problem; choose one or another baked-in line detection function, maybe with a bit of pre or post-processing, and that should be that. It turns out that detecting lines can be harder than expected, and as usual the devil is in the detail.
When [Conor] tried some existing methods for detecting lines, the results appeared good at first but came up short in frustrating ways. Software did not appreciate that in a technical drawing, a line is a single unbroken unit from point A to point B. Without that assumption, what should be a single line sometimes had sections missing, or single lines were detected as multiple segments instead of a unit. Lines that crossed other lines complicated things. Unwanted lines like a “1” or the lower half of a “Y” were being detected. There had to be a better way.
In the end, a custom solution that took proper advantage of the nature of the source images and made the correct assumptions is what made all the difference. With some intelligent threshold setting combined with looking at vertical and horizontal line instances separately, it was possible to locate lines and their lengths far more accurately than any other method he had tried. The system doesn’t handle sloped lines yet, but it might be possible to simply iterate through rotations of the image while applying the same method. If you have a better solution, [Conor] wants to hear from you.
The hardest part of any PCB design is adding parts and components. You shouldn’t use random part libraries, and creating your own part libraries is just a pain. Why have we endured this pain for so long, especially considering that most components follow a standard? Add in the fact that 3D modeling and rendering a board in a mechanical CAD tool is now a thing, making creating your own part libraries even more involved.
To solve this problem, Autodesk has introduced library.io, a tool to parametrically generate component footprints for Eagle and 3D models for Fusion360. Given that most parts follow a standard — QFP, TO-, DFN, or SOT23 — this is now the easiest way to create a new part in Eagle with its own 3D model that allows you to bring it into mechanical CAD tools.
An overview parametric parts generation is written up on the Autodesk forums, and covers what is possible with this new tool. There are actually two distinct versions, one is a web-based app that allows you to create packages and footprints parametrically in your browser and export them as a library. The other version of the tool is integrated with Eagle and allows you to create a new component parametrically from within Eagle.
This is a far cry from the standard method of creating new footprints. Instead of toiling over a datasheet and dropping correctly sized pads onto a grid, creating a new parametric footprint is as easy as copying a few numbers. In addition to the new parametric design feature, there’s a new tool in Eagle that does away with placing and naming pins for symbols. Now you can simply cut and paste a list of pins from the datasheet.
It should be noted that everything created with the library.io tool can be downloaded and used offline. Combine that with the recent news that KiCad can now ingest Eagle board and schematic files, and you have a way to create parametric footprints in everyone’s favorite Open Source PCB tool as well.
Hipster hardware! [Bunnie] found something interesting in Tokyo. It’s a LED matrix display, with a few PDIP chips glued onto the front. There are no through-holes or vias, and these PDIPs can’t be seen through on the back side of the board. Someone is gluing retro-looking chips onto boards so it looks cool. It’s the ‘gluing gears to everything therefore steampunk’ aesthetic. What does this mean for the future? Our tubes and boxes of 74-series chips will be ruined by a dumb kid with a hot glue gun when we’re dead.
Speaking of unimaginable problems in EDA suites and PCB design tools, here’s a Git-based visual version control thingy for Eagle. Cadlab.io is a version control system for Github and Eagle that offers visual diff of PCB layouts and schematics. Neat? Yes, especially if you have more than one person working on a board.
How about a 3D printed business card embosser? [Taekyeom] designed and printed a pair of 3D rollers, one of which is embossed with the ‘negative’ of a design, the other with the ‘positive’ of a design. When rolled against each other, these rollers mesh and putting a piece of paper through the pinky pinching machine embosses paper. Add a frame, a handle, and a few zip ties for belts, and you have a fully 3D printed paper embosser.
Aw, snap, 3D printers with automatic tool changing. This is a project from E3D that shows off magnetic (?) extruders and hot ends for 3D printers. You can change your hot end (and nozzle, and filament) in mid-print. What does this mean? Well, swapping filament is the most obvious use case, but the Prusa system might have this nailed down. What is more interesting is swapping hotends, allowing you to print in multiple temperatures (and different materials), and maybe even different nozzle sizes. This is coming to MRRF, the greatest 3D printing con on the planet. MRRF is happening in March 23-25th in beautiful scenic Goshen, Indiana.
Model rocketry hobbyists are familiar with the need to roll their own solutions when putting high-tech features into rockets, and a desire to include a microcontroller in a rocket while still keeping things flexible and modular is what led [concretedog] to design a system using 22 mm diameter stackable PCBs designed to easily fit inside rocket bodies. The system uses a couple of 2 mm threaded rods for robust mounting and provides an ATTiny85 microcontroller, power control, and an optional small prototyping area. Making self-contained modular sleds that fit easily into rocket bodies (or any tube with a roughly one-inch inner diameter) is much easier as a result.
The original goal was to ease the prototyping of microcontroller-driven functions like delayed ignition or altimeter triggers in small Estes rockets, but [concretedog] felt there were probably other uses for the boards as well and made the design files available on GitHub. (Thanks!)
We have seen stackable PCBs for rocketry before with the amazingly polished M3 Avionics project, but [concretedog]’s design is much more accessible to some hobbyist-level tinkering; especially since the ATTiny85 can be programmed using the Arduino IDE and the boards themselves are just an order from OSH Park away.