Hackaday Links: July 29, 2018

Another holy scroll for the Church of Robotron. PoC || GTFO is a semi-annual journal of hardware exploitation, and something you must read. About a year ago, No Starch Press released the first Bible of PoC || GTFO, and now it’s time for a new testament. PoC || GTFO Volume 2 is out now, covering Elegies of the Second Crypt War to Stones from the Ivory Tower, Only as Ballast. It’s still Bible-shaped, with a leatherette cover and gilt edges.

KiCad version 5 is out, and you know what that means: It’s time to start on version 6. To that end, CERN has opened up the floodgates where youyes, you can donate to KiCad development. The team is looking for 600 hours of development and 30,000 Swiss Francs or about that many US Dollars. As of this writing (last Wednesday), more than 200 people have donated, at an average donation per person of about 80 CHF.

Oh good, this is finally over. Qualcomm will not be buying NXP. Previously, Reuters reported Qualcomm would purchase the other semiconductor manufacturer for $38 Billion, the largest semiconductor deal ever. There were earlier rumors of an acquisition. The deal was struck down by Chinese regulators, and speculation rages that this is a reaction to the US/China trade war. Qualcomm now has to pay NXP $2 Billion in fees, which they could use to dig out some of the unobtanium Motorola datasheets locked away in a file cabinet.

The uStepper (or μStepper, whatever) is a neat little add-on to standard NEMA stepper motors. It bolts to the back and gives you the ability to control a stepper over a standard serial bus, with a built-in encoder. Now there’s a new Kickstarter for an improved version that uses the Trinamic TMC2208 ‘silent’ motor driver. That Kickstarter is just a draft now, but if you’re planning a 3D printer build, this could be what you’re waiting for.

Hackaday Links: July 22, 2018

KiCad Version 5 has been released! Footprints are going to be installed locally, and the Github plugin for library management is no longer the default. You now have the ability to import Eagle projects directly, Eeschema has a better configuration dialog, better wire dragging, and Pcbnew now has complex pad shapes. The changelog also says they’ve gone from pronouncing it as ‘Kai-CAD’ to ‘Qai-CAD’.

Kids can’t use computers because of those darn smartphones. Finally, the world is ending not because of Millennials, but because of whatever generation we’re calling 12-year-olds. (I’m partial to Generation Next, but that’s only because my mind is polluted with Pepsi commercials from the mid-90s.)

Need a NAS? The Helios4 is built around the Marvell Armada 388 SoC and has four SATA ports, making it a great way to connect a bunch of hard drives to a network. This is the second run from the team behind the Helios, and now they’re looking to take it into production.

A while ago, [Dan Macnish] built Draw This, a camera that takes an image, sends it through artificial intelligence, and outputs a cartoon on a receipt printer. It’s a camera that prints pictures of cartoons. Of course, some people would want to play with this tech without having to build a camera from scratch, so [Eric Lu] built Cartoonify, a web-based service that turns pictures into cartoons.

Grafitti is fun to spell and fun to do, and for all the proto-Banskys out there, it’s all about stencils. [Jeremy Cook] did a quick experiment with a 3D-printed spray paint stencil. It works surprisingly well, and this is due to leveraging the bridging capability of his printer. He’s putting supports for loose parts of the stencil above where they would normally be. The test sprays came out great, and this is a viable technique if you’re looking for a high-quality spray paint stencil relatively easily.

Searchable KiCad Component Database Makes Finding Parts A Breeze

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.

If you can’t find the schematic symbols for the part you’re using, we recently covered a service which uses OCR and computer vision to automatically generate symbols from a datasheet; pretty cool stuff.

Build Your Own Android Smartphone

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.

Hackaday Show-n-Tell in Bangalore

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.

Continue reading “Build Your Own Android Smartphone”

Digikey Tips Its Hat To Kicad With Its Own Library

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.

Continue reading “Digikey Tips Its Hat To Kicad With Its Own Library”

When Detecting Lines Is Harder Than Expected

[Conor Patrick] is no stranger to hardware development, and he’s had an interesting project for the past few months. He’s attempting to create a tool to convert images of technical drawings (such as footprints for electronic components) into digital formats that can be imported into other tools. This could automate turning a typical footprint drawing like the one shown into an actual part definition in a CAD program, which could really speed up the creation of custom parts.

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.

Of course, garbage in means garbage out and sadly not all technical drawings measure up.

Autodesk Introduces Parametric Part Generation

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.