Hardware is hard, manufacturing only happens in China, accurate pricing is a dark art. Facts which are Known To Be True. And all things which can be hard to conquer as an independent hardware company, especially if you want to subvert the tropes. You may have heard of [Spencer Wright] via his superb mailing list The Prepared, but he has also been selling an unusual FM radio as Centerline Labs for a few years. Two years ago they relaunched their product, and last year the price was bumped up by a third. Why? Well, the answer involves more than just a hand wave about tariffs.
The Public Radio is a single-station FM radio in a mason jar. It’s a seemingly simple single purpose hardware product. No big mechanical assemblies, no complex packaging, not even any tangential accessories to include. In some sense it’s an archetypically atomic hardware product. So what changed? A normal product is manufactured in bulk, tested and packaged, then stored in a warehouse ready to ship. But TPR is factory programmed to a specific radio station, so unless Centerline wanted one SKU for each possible radio station (there are 300) this doesn’t work. The solution was domestic (US) just in time manufacturing. When a customer hits the buy button, a unit is programmed, tested, packed, and shipped.
As with any business, there is a lot more to things than that! The post gives the reader a fascinating look at all the math related to Centerline Labs’ pricing and expenses; in other words, what makes the business tick (or not) including discussion of the pricing tradeoffs between manufacturing different components in Asia. I won’t spoil the logical path that led to the pricing change, go check out the post for more detail on every part.
We love hearing about the cottage hardware world. Got any stories? Drop them in the comments!
We’ve all been there; you finally get the last DigiKey box and now your desk is covered in parts to stuff into a shiny new PCB you’ve been working on. First stop? Passive town, population endless waves of 1uF capacitors. The first one goes in the upper left, then a little below that, then… once you get to C157 it’s getting pretty hard to remember exactly which parts go where. Enter the literally named InteractiveHtmlBom (IHB) to smooth this process out.
IHB makes the frustrating task of mapping lines in a BOM to a physical position on a board easy. The classic method is of course, to look at the BOM, then search the board for that designator and place the component. (You left the designators in the silk, right?) Or to look at the BOM, ask your CAD package to search for that part in the layout, then place. IHB generates a document that does this automagically.
Run the tool, either standalone or as a plugin for KiCAD 5.0, and you get a folder with the new interactive BOM in it. There are a few view options but generally it presents a view of the BOM with designators and value in one pane and a wonderful render of the top and/or bottom of the board in another pane. When you hover over a BOM line it highlights the relevant parts in the board view! There are toggles for filtering by top and bottom of board, marking which parts have been placed, light and dark mode, etc. Plus the ability to filter and sort by designator and value. We would have been impressed if it was just a generator/viewer for those slick scrollable/pannable board renders!
Check out a very long GIF demo after the break, or explore one of many pre-created demo BOMs here. We’re partial to the OSPx201.
There are many ways to divide the hacker community into groups. Tubes vs transistors. Emacs vs VI, microcontroller vs discrete component designers. However, one of the more fundamental divisions in the community is how you organize your parts. We’ve seen giant warehouses with carefully organized bins and cabinets full of components, and we’ve seen storage crates with tangles of wires and bits of electron-bending components scattered among the wires.
If you are in the former camp, you’d probably enjoy partsbox.io (see image, right). If you are in the latter group, you probably need to check it out even more than the other people. The idea is simple: an online place to keep an inventory of your electronic parts. The implementation is not as simple, though. The web application will work on a mobile device or just about anywhere. You can view your components by type, by location (the shoe box under the bed vs the parts bin in the closet), or by a project’s bill of materials. You can use “known” parts or create private parts for things no one else has (for example, your custom PC boards, or those 3D printed brackets you made to hold a microswitch). If you add data for a component you can make it available to other users.
If the trends are anything to go on, after the success of Fitbit we are nearing a sort of fitness tracker singularity. Soon there will be more fitness trackers on wrists and ankles then there will be stars in the sky. We will have entire generations who will grow up not knowing what life is like without the ever-present hug of a heart monitor strapped across their chest. Until then though, we can learn a bit of design for manufacture from this excellent teardown of a watch shaped fitness tracker.
This tracker has a nice round e-paper screen, which could be a welcome part in a project if they start washing up on the shores of eBay. The rest of the watch is a basic Bluetooth low energy module and the accessory electronics wrapped in a squishy plastic casing.
There’s a lot of nice engineering inside the watch. As far as the electronics go, it’s very low power. On top of that is plenty of clever cost optimization; from a swath of test points to reduce quality issues in the hands of consumers to the clever stamped and formed battery tabs which touch the CR2032 that powers it.
The teardown covers more details: the switch, what may be hiding behind the epoxy globs, the plastics, and more. One thing that may be of interest to those that have been following Jenny’s excellent series is the BOM cost of the device. All in all a very educational read.
KiCAD remains a popular tool for designing PCBs and other circuits, and with good reason: it’s versatile and it’s got pretty much everything needed to build any type of circuit board you’d want. It also comes with a pretty steep learning curve, though, and [Jeff] was especially frustrated with the bill of materials (BOM) features in KiCAD. After applying some Python and Kivy, [Jeff] now has a BOM manager that makes up for some of KiCAD’s shortcomings.
Currently, the tool handles schematic import, like-component consolidation, and a user-managed parts database that can be used to store and retrieve commonly used parts for the future. All of the changes can be saved back to the original schematic. [Jeff] hopes that his tool will save some time for anyone who makes more than one PCB a year and has to deal with the lack of BOM features native to KiCAD.
[Jeff] still has some features he’d like to add such as unit tests, a user guide, and a cleaner user interface. What other features are you anxious to see added to KiCAD?
When boards were larger and components mostly through hole, designers could put a lot of information on the silk legend – reference designator, values, additional text and so on. But with surface mount components becoming smaller and board real estate at a premium, modern boards do not have a lot of information marked on the silk layer. If you are building and distributing a short run of kits, perhaps for a round of beta testing, then [Adam Greig]’s StickerBOM python script for KiCad can be really handy. StickerBOM is a KiCad BOM exporter designed for people stuffing boards by hand. It generates a PDF for printable sticky labels, where each label reflects one BOM line from a supplier. You then stick these labels on the bags from your supplier, and they show you where the parts go.
The labels get printed with the reference designator, quantity, component value, package, vendor and part number. It also adds a drawing of the PCB with the relevant parts highlighted for easy location identification. To use it, schematic symbols must have the supplier field and part number added. The script can be run from the command line, or from the BOM manager in eeschema. The script is set up for Avery L7164 labels, but this setting can be changed. It’s still work in progress so there’s a couple of bugs to be aware of. It cannot process the bottom layer of the board, and the result is only as good as the data you provide. And if you have a large board with components spread all over, the resultant graphic printed on the label may not be ideal.
The popularity of KiCad keeps increasing, and not only are more people converting to it and using it for their projects, but there’s also a growing number of folks actively contributing to the project in the form of libraries, scripts and utilities to improve the work flow.
[Dave Vandenbout] a.k.a [xesscorp] has written a couple of utilities for KiCad. When working with large multi pin parts such as micro-controllers, creating a schematic symbol from scratch using the traditional KiCad schematic library editor can be quite tedious. KiPart is a python script that uses a CSV table as its input to generate the KiCad schematic symbol and is able to create multi-part symbols too. Usage is quite simple. The csv file needs a part name on its first row. The next row contains the headers. ‘Pin’ number and Pin ‘Name’ are the minimum required. Additionally, you can add in ‘Unit’, ‘Side’, ‘Type’, and ‘Style’. Unit is used when defining multi-unit parts. Side decides the location of the pin, Type its function, and Style is its graphic representation. Running the KiPart python script then results in a nice KiCad schematic symbol. Besides, KiPart can specifically generate schematic symbols for the Xilinx 7-Series FPGAs and the Cypress PSoC5LP. There are a whole host of options to customize the final output, for example ordering pin placement based on pin number, or pin name or pin function. Source files can be obtained from the [xesscorp] Github repository.
Another useful utility from [xesscorp] is KiCost. It is intended to be run as a script for generating part-cost spreadsheets for circuit boards developed with KiCad. The one piece of information you need to add to your schematic parts is a manufacturers part number. The KiCost Python script then processes the BOM XML file, reading the manufacturer part number, scraping the web sites of several popular distributors for price and inventory data, and creating a costing spreadsheet. You can grab the source files from the KiCost Github repository.
Check the two videos below where [Dave] walks through the two utilities.
Thanks to [RoGeorge] for sending in this tip by commenting on the Open Source FPGA Pi Hat built by [Dave] that we featured recently.