[HN Gopher] If you can use open source, you can build hardware
       ___________________________________________________________________
        
       If you can use open source, you can build hardware
        
       Author : gustavo_f
       Score  : 119 points
       Date   : 2023-09-05 17:33 UTC (5 hours ago)
        
 (HTM) web link (redeem-tomorrow.com)
 (TXT) w3m dump (redeem-tomorrow.com)
        
       | akkartik wrote:
       | _" If you build modern software, you're well-versed in
       | composition: grab a handful of existing projects--a database
       | here, a UI framework there, an HTTP library to round it all out--
       | and arrange them together. You write your custom logic--the stuff
       | unique to your project--and let other people's code do work
       | that's common across all projects."_
       | 
       | This approach certainly gets tried enough. I'd say it has some
       | issues, though.
        
       | petsfed wrote:
       | I'm going to complicate this a bit and say "If you can use open
       | source, you can _prototype_ hardware "
       | 
       | Part of building hardware is making it robust enough to exist in
       | meat space long term. That means thinking about how the humidity
       | sensor is affected by ambient conditions (including the packaging
       | bag, that one has bit me in the past) and having a plan for re-
       | calibration if drift becomes too great. That means picking
       | connectors for your wire harnesses that can handle the number of
       | times you expect to connect/disconnect them over the course of
       | your things lifespan. That means tuning the length of that wire
       | harness so you can't damage it when you open the enclosure to
       | change the battery or whatever. It means thinking about how
       | ambient conditions affect the rest of the design, so you don't
       | have to clean the contacts on all the wire harnesses every so
       | often, because you didn't get gold contacts for both the
       | harnesses _and_ the connectors, and you live in a high humidity
       | environment.
       | 
       | Don't get me wrong, I'm self-taught on virtually all of these
       | points, it _is_ achievable for the hobbyist. Just understand that
       | swapping out one smart relay controller for another is pretty far
       | from having a smart relay controller you 'd even give to your
       | sister-in-law for Christmas.
        
         | andyjohnson0 wrote:
         | I've breadboarded a number of projects, but always awem to hit
         | a wall when faced with the concerns you describe. Do you have
         | any pointers for how to gain the knowledge to get past this?
         | Right now I feel like I dont even know what I dont know.
        
           | petsfed wrote:
           | A lot of it comes down to being mindful of what you're
           | spending the most time on during assembly, but some of it is
           | just hard-won. But I've learned a lot from reading Hackaday.
           | 
           | Some simple things that you shouldn't have to learn the hard
           | way (but most people do):
           | 
           | Make sure your wiring contacts are electrochemically
           | compatible. Gold-to-gold is safe in almost every household
           | environment.
           | 
           | Strain relieve every wire. Solder is not meant to be
           | structural.
           | 
           | Every circuit component degrades over time. Heat, humidity,
           | and dust accelerates that process. Make a plan to mitigate
           | the ingress of each, and a plan to account for that
           | degradation.
           | 
           | Learn to design simple breakout-board carrier boards. The
           | best breadboard layouts are still worse than a mediocre PCB,
           | because the PCB doesn't have flywires to catch on literally
           | everything.
           | 
           | Make sure you include mechanical support points for your
           | designs, and pick the right size and material for your
           | mechanical supports.
           | 
           | All of this to say, your hardware thing is a _thing_ first,
           | and an expression of your software /firmware design second.
           | If it cannot physically survive being that physical thing,
           | the elegance or resiliency of your code is meaningless.
        
             | andyjohnson0 wrote:
             | Thank you.
        
             | joshspankit wrote:
             | Please improve this (I have only dabbled), but I'll add a
             | couple points as well:
             | 
             | - Don't run data lines and power lines right next to each
             | other (electric signals flow through a field surrounding
             | the trace/wire, not in or on the metal itself)
             | 
             | - PCB pros avoid right angles for the same reason. Bevel
             | your corners. (You see examples of this on every board if
             | you're not sure what I mean)
             | 
             | - Verify PCB traces with a multimeter before soldering
             | components to it (or if it's been assembled by the PCB
             | manufacturer, verify everything before powering it on for
             | the first time)
        
         | kbaker wrote:
         | Agreed. Also, the kinds of passive safety needed to not burn
         | your house down in the event of a code error or other design
         | issue.
         | 
         | The hardware design is the last line of defense before you can
         | do real-world damage.
         | 
         | Things like fuses, ESD and surge protection, watchdog timers,
         | often get overlooked in a hobbyist or even open-source
         | design... it takes (sometimes hard-won) experience to know when
         | these things are required.
        
           | munk-a wrote:
           | There are also some physical constraints as well. I have an
           | essential tremor - painting warhammer minis and doing
           | anything with a sodering gun are forever out of my reach.
           | 
           | That all said - I have written firmware for things that other
           | people have wired and it's quite fun!
        
             | fanf2 wrote:
             | I have heard that using magnifying glasses or a microscope
             | can help suppress shaking in the hands: it has a weirdly
             | helpful interaction with the hand-eye feedback loop. Dunno
             | if it would work for you, but it might be worth trying?
        
               | munk-a wrote:
               | I'll have to give that a try - though it didn't seem to
               | help my father very much. He was a model railroader and
               | just got used to taking several dozen passes at painting
               | cars and locomotives. For me myself I've found that
               | stress tends to make it worse so it's a bit of a vicious
               | cycle where trying to suppress shaking can spur it on
               | more. Advice is never unappreciated though so thank you
               | for you consideration!
        
           | xnzakg wrote:
           | As much as I agree with this, buying off the shelf things,
           | especially on the extremes of "very niche" (ok this kinda
           | how's under your "hobbyist design" or "so general there are
           | hundreds of knockoff versions with various cost cutting
           | measures", there is no guarantee that they have thought of
           | all (or any) of the required safety measures... Check out Big
           | Clive on YouTube if you haven't already, and aren't afraid of
           | knowing about all the different ways products skimp on
           | safety.
        
         | imachine1980_ wrote:
         | Some things that are cheaper at a low scale is quite expensive
         | at scale, 3D printing is obvious here, your way to consume less
         | 3D printing may be opposite to the way that regular plastic
         | manufacturer does, so you need to adapt your process to the
         | process of your suppliers.
        
           | petsfed wrote:
           | I wasn't even touching manufacturing at scale, because
           | sometimes you really do need just the one. But it should not
           | be so fragile you can't carry it from the garage to
           | thermostat mounting position.
           | 
           | I learned that the hard way when I automated the heat lamp
           | that I put in my chicken coop. Having to noodle around with
           | screw terminals while being pecked at by an angry rooster was
           | not a great time.
        
             | bytefactory wrote:
             | The rooster didn't approve of your soldering technique?
        
               | bonestamp2 wrote:
               | Rooster thought he should have used chicken wire.
        
         | eternityforest wrote:
         | And all of this together still doesn't solve the bigger problem
         | with DIY hardware, which is the DIY itself.
         | 
         | It it goes wrong, you cannot buy a new one or hire repairperson
         | at a sane price. If it has a software side, it will probably
         | need maintainence. If you want one, there's a large chance you
         | might want another to expand your project.
         | 
         | While yes, I am able to design a reliable hardware device,
         | unless you have a large budget it will not be immune to direct
         | baseball bat hits or spilling epoxy in the connector. So, in
         | practice, if you ask me to build something for you, I'll try to
         | find a way to do it with off the shelf parts as much as
         | possible.
         | 
         | Which sucks, because electronics projects are super fun, but
         | the fun is dampened by the fact that in the end you have this
         | completely unique irreplaceable thing that becomes a liability
         | if you use it for anything important, which is generally tied
         | to one application and becomes junk if you no longer need it,
         | unlike the more general purpose off the shelf stuff.
         | 
         | ESPHome and Amazon modules plus 3D printing gives a pretty good
         | balance for a lot of things. Reconfigurable, machine-soldered
         | reliability, a prefab software stack, but still enough
         | flexibility to build novel things.
        
           | KRAKRISMOTT wrote:
           | Just buy some spare tapeouts from digikey when building
           | -\\_(tsu)_/-
        
             | eternityforest wrote:
             | Doesn't solve the issue of nobody else knowing how to build
             | it, and the ones that do often somehow making 60$ an hour,
             | now you're stuck with this thing that could be your
             | responsibility at any time.
        
         | generj wrote:
         | I'm a big proponent of open source hardware but as your post
         | shows it often involves skills of many disciplines that
         | requires vigorous thought or trial and error. Electronics and
         | physics are unforgiving in a way processors are not.
         | 
         | Even after reaching the prototype phase, the open source
         | hardware is probably only useful to one person: it's creator.
         | 
         | There is a big difference between making a prototype and
         | detailing the build in sufficient detail other hobbyists can
         | replicate it / modify / use it. Documenting hardware is
         | substantially harder than documenting software. If the project
         | is cool a bunch of people will be excited to jump in; some of
         | these people have zero experience soldering or ordering laser
         | cut parts or whatever. Supporting them is hard.
         | 
         | Then another step up to sell the design to other hobbyists,
         | even just a few extra copies on Tindie.
         | 
         | And then a huge step up from that to selling to the general
         | public, where suddenly FCC interference certifications are
         | needed and the company is liable if the design burns down a few
         | houses. There's a reason firms making hardware have real
         | engineers on staff held to professional standards. Plus all the
         | cash flow and business concerns when the marginal cost per unit
         | isn't under 1 cent like software.
         | 
         | Each of these steps often involves multiple iterations of
         | hardware and therefore lead time and cost.
        
           | eternityforest wrote:
           | There are a lot of OSHW projects I'd love to work on, but the
           | main thing that holds me back is knowing they'd basically go
           | nowhere. I can't post them online for others like with code.
           | 
           | Nobody is going to build it, the physical building of it is
           | way harder than the design, anyone who could build it is too
           | busy building their own projects that will go in the junk
           | drawer in a week.
           | 
           | I would love to work at a real OSHW company, making IoT
           | gadgets and stuff that for production and sale as polished
           | commercial products with a software ecosystem behind them...
           | but I lack a degree, live in Montana, and don't drive, and
           | there are not many companies like that(And most of them are
           | making expensive FOSS phones that don't run normal apps,
           | cryptocurrency stuff, or glorified dev boards kinda
           | pretending to be products)
        
             | xnzakg wrote:
             | Really depends on the specific pronect of course, but
             | there's definitely some "posted online like code" projects
             | out there. It's a more technical target audience of course,
             | but I've seen plenty of projects with design files included
             | ready to be sent to a PCB manufacturer. Two categories I
             | can easily think of are mechanical keyboards and modular
             | synthesizers.
        
               | eternityforest wrote:
               | Keyboards are an interesting case, people are so into
               | them, and also specifically _want_ them to be custom made
               | just for them, so people are willing to build or even
               | commission.
               | 
               | I keep thinking that maybe high end flashlights could be
               | the same way, I can definitely think of a few features
               | that don't show up in your typical light, and that it
               | might be cool to try to make a few boutique lights to
               | sell, but my business knowledge isn't quite up to that,
               | and I don't exactly have much desire to do a whole lot of
               | independent work, I much prefer having an employer.
        
           | bsder wrote:
           | > Supporting them is hard.
           | 
           | Ding!
           | 
           | We had a bespoke wireless entry system for our hackerspace
           | which kinda sucked. Eventually the board switched it out for
           | OpenPath (which also sucks--to be fair).
           | 
           | Why?
           | 
           | Support. The board can now _call_ someone and say  "We pay
           | you. Fix this."
           | 
           | Support is the bane of consumer products. I really wish we
           | had some way to counter this.
        
         | notsurenymore wrote:
         | > "If you can use open source, you can prototype hardware"
         | 
         | You can prototype _some hardware_. I've looked into trying to
         | build some stuff that goes beyond what a little prepackaged MCU
         | dev board can do, and I can't wrap my head around it. Too much
         | stuff involved that in no good at.
        
           | jacquesm wrote:
           | Compared to software skills those are relatively easy to
           | learn though and they have a longer best-before date than any
           | kind of language/framework kind of knowledge.
        
             | notsurenymore wrote:
             | I'm not so sure about that. Learning a programming language
             | for example is pretty easy, iterative, and had quick
             | feedback for me. Learning years worth of math makes my eyes
             | glaze over. I do agree on the latter half though, regarding
             | how they're useful for much longer.
        
               | jacquesm wrote:
               | You won't need 'years worth of math' to be able to
               | prototype hardware. There is plenty of tooling now that
               | will take the sting out of timing and other nasty little
               | details and there is plenty of hardware where those
               | details don't even matter all that much.
               | 
               | Good starterpoint: and FPGA evaluation board, such as
               | Digilent's offerings. Those pack enormous power in a tiny
               | setup and will teach you a ton of very valuable skills.
               | 
               | If that looks like a hit you can decide to deepen your
               | knowledge.
        
           | petsfed wrote:
           | Can you give an example? There may well be an easily accessed
           | IC for it.
        
             | notsurenymore wrote:
             | Mostly I was looking trying to do custom RF stuff, trying
             | to create custom hardware. Could have used an SDE, but I
             | think I still would need a solid handle on the math for
             | that.
        
       | fareesh wrote:
       | Hardware building is an expensive hobby, and often involves
       | aspects of engineering like heat, power, safety, etc.
       | 
       | I don't trust myself to build something that I can leave
       | unattended and won't catch fire. How does one get over this?
        
         | fellowmartian wrote:
         | Outsource dangerous building blocks to qualified people,
         | overpay for quality components, learn proper wiring (ratings,
         | crimping, etc).
        
       | lnsru wrote:
       | Sounds like a typical content on today's internet: enough
       | buzzwords for search engine to find it and too abstract to be
       | useful.
        
         | the-printer wrote:
         | This is a valid criticism, but I don't think that it's
         | necessarily the author's fault.
        
           | 6D794163636F756 wrote:
           | I think it's a flaw inherent to the current system. You have
           | to make money to live and you do that, not by appeasing human
           | readers, but by appeasing an algorithm. The world is not
           | easily reduced into clear classifications but we're currently
           | forcing it into them
        
       | Takennickname wrote:
       | Is there anyone on earth not using open source in some capacity?
        
         | codetrotter wrote:
         | This group of people for one.
         | 
         | > the Sentinelese appear to have consistently refused any
         | interaction with the outside world. They are hostile to
         | outsiders and have killed people who approached or landed on
         | the island.
         | 
         | https://en.wikipedia.org/wiki/Sentinelese
         | 
         | But more seriously I would say there is a difference between
         | intentionally and incidentally using open source software.
         | 
         | I run Linux and FreeBSD on multiple machines. I use open source
         | software intentionally.
         | 
         | My girlfriend runs Windows on her laptop. If we look closely I
         | am sure we will find open source libraries being used both
         | within the OS, and within other pieces of software that she
         | runs. But all of that is incidental. She is not interested in
         | software and that is fine.
         | 
         | My mother and my grandfather both use LibreOffice. But only
         | because I installed it for them. So neither my grandfather nor
         | my mother really are intentional users of open source software.
         | It just happened to be the case that their grandson/son (me)
         | knew about LibreOffice and installed it for them, so that they
         | could use it to write documents and to open Word documents that
         | other people sent to them.
        
         | yjftsjthsd-h wrote:
         | Depends what you mean by "using" open source. If we include
         | consumers of software that happens to have its source published
         | but who couldn't compile it even if they downloaded the source
         | (so, >90% of Chrome users, for example), then yes there are
         | lots of non-devs. Likewise, there are probably still some devs
         | using licensed libraries proprietary applications using
         | proprietary IDEs and compilers, though it's certainly getting
         | rarer.
        
           | buildsjets wrote:
           | Watching the penguin screen continuously reboot on Delta
           | airlines' janky in-flight entertainment system should not
           | count as "Using Open Source".
        
           | bonestamp2 wrote:
           | I would bet that every form of motorized transportation has
           | open source in the build or operating model somewhere.
        
       | certyfreak wrote:
       | A thing preventing people from going into hardware(prototyping)
       | is the cost. Software is cheaper than hardware. i.e. i
        
       | Berryu6 wrote:
       | [flagged]
        
       | dizzydes wrote:
       | How hard is it to remake and improve a random component on any
       | electronic device I own? eg the control panel on my microwave or
       | my entire TV remote.
       | 
       | Would I need specific parts from the manufacturers?
       | 
       | Would dissecting the existing component give enough detail for me
       | to remake without the (I assume proprietary/hidden) schematics?
        
       | ilaksh wrote:
       | That's not building hardware. It's connecting up and interfacing
       | existing hardware components.
       | 
       | Which probably makes more sense than designing hardware
       | components for most applications.
       | 
       | But it's not the same as designing circuits etc. and the title is
       | a bit misleading as far as that goes.
        
       ___________________________________________________________________
       (page generated 2023-09-05 23:00 UTC)