Hacker News new | ask | show | jobs
by flarets 4196 days ago
With respect, I don't know if he's suggesting the right approach. Why not build up a "library" of smaller circuits (e.g. voltage divider, butterworth filter, debounce circuit etc), that allow people to make bigger circuits by combining them. Do it on a breadboard to test, then modify.
3 comments

That sort of library is basically what the industry's vast catalog of integrated circuits amounts to, except that it is not open source and generally at a higher level of abstraction than the subcircuits you describe.
Really? I thought ICs were more along the lines of microcontrollers which have things like USB controllers, PWM controllers, GPIO etc. For these, it's mostly programming.

The library I described was supposed to be about all the external bits: signal conditioning, power conditioning, sensors etc.

Well, those aren't the hard bits, you can generally pull them out of a textbook or reference design and expect them to work.

You're overlooking the entire field of analogue ICs. Again, there's a fairly good cookbook of reference circuits out there. In some cases manufacturers will help you a lot: TI have a tool for designing switchmode power supplies around their chips.

So you can compose circuits into schematics. You don't usually compose layouts as it's more compact to hand-redo them for your particular board shape. There is some open source hardware at this level; often to be found on tindie or via hackaday.

Then the other obstacles to shipping a product: regulatory approval. EMC testing. If it plugs into the mains, a whole bunch of safety testing. In the EU, CE marking and WEEE registration. If it has a radio, radio approval.

Economy of scale matters as well. That's why things like OpenWRT are so popular: repurpose hardware that's already mass-manufactured for a slightly different purpose.

What will work for 1MHz won't work for 10MHz and for even 50MHz you often need to redesign PCB. Breadboards stop working at about 10MHz - you will experience transient errors that will prevent your design from working properly at all.

Hardware is full of side effects, the higher are frequency and smaller the components, the harder they are manifesting themselves.

For any decent scale project hardware costs (chips, PCBs, assembly, conenctors) shadow developement costs. While in software it is appropriate to have large libraries/frameworks with batteries-included, in hardware it is much cheaper to stitch together custom solution out of very specialized circuits.
Exactly, the "specialized circuits" is the part that should be open-sourced.