5 ms·
Hardware has a reputation for being hard for three reasons. First, it scales differently than software. It's far harder to design something you want to make a m
by skippyfish 3mo ago
Hardware has a reputation for being hard for three reasons. First, it scales differently than software. It's far harder to design something you want to make a million of than something you want to make ten of. Second, it's harder to anticipate, test, and correct all the things that can go wrong on the user end. Some people will put batteries the wrong way, some will drop the device on the ground, some will connect it to some vintage equipment you have never seen in your life, etc. And third, there are just more failure modes in an unfamiliar domain - sometimes, your code will intermittently crash not because you have a software bug, but because you put the decoupling capacitor too far from the chip. Or, just as you finish your design, the chip you designed it around becomes obsolete, or impossible to find because a factory in Indonesia is on fire.
Another complication is that at least in theory, if you're selling electronics, there are actual regulations and third-party testing that needs to happen, and if you fail emissions, you might have to redo your design from scratch. Imagine we had that for software - "your JS is too big, you can't ship until you get it under 50 kB".
So, I'm happy for the author, but I think he had an outlier experience. When you look at Kickstarter stories, people repeatedly stumble over this. Manufacturing / cost difficulties, supplier issues, reliability issues, etc.
- vee-kay 3mo ago[dead]
- sudo_cowsay 3mo ago> impossible to find because a factory in Indonesia is on fire Has that happened to you?
- analog31 3mo agoNot this exact thing, but I make a hardware product akin to a guitar pedal. I designed around a component type that the semiconductor industry was phasing out. One day I noticed that the list of alternative parts at my distributor included many that were marked "obsolete." I panicked and bought the entire stock of the part number that I use. At this point I have the only stock of this part in the world, and it's more than a lifetime supply, but otherwise I'd have been faced with a re-design and limited options. For another of my products, during the pandemic, the part I was using became unavailable, and I had to re-design my board to accommodate a part of the same type in a different package. Then I couldn't buy either part, but found an odd lot at a Texas Instruments factory in China, which I bought. Dealing with shortage and obsolescence issues is a constant battle. There have been crises in the industry caused by plants catching on fire.
- marysol5 3mo agoOne thing I've always said that with products, especially when they're parts. They should be required to be made "open" as soon as you stop making and/or selling them. They're making you nothing, they're going to vanish into the nether if the documentation is lost....
- skippyfish 3mo agoNot literally, but I had two projects I had to fundamentally redesign due to multi-year chip shortages in the COVID years. And we're not talking about any fancy chips.
- Geof25 3mo agoSTM32 had this problem of disappearing for years. At least I was forced to move to ESP32 and have never returned back.
- crote 3mo agoSame with ATMegas: I was working on a product line which was based on the atmega32u4 for legacy reasons. They became unobtainium and our platform recently started gaining RP2040 support - which was readily available at lower cost - so the decision to switch wasn't too hard.
- PowerElectronix 3mo agoA power converter I designed 3 years ago needs redesigning because the company that made the transistors was bought out and all their packages were phased out. And they were some fucking good packages that allowed for very good cooling and very easy parallelling of transistors using both sides of the PCB.
- InitialLastName 3mo agoThis [0] was a pretty big deal in the audio electronics industry. [0] https://www.audioholics.com/news/fire-destroys-akm-audio-chip-factory https://www.audioholics.com/news/fire-destroys-akm-audio-chi...
- zbentley 3mo agoFirmly agree. A lot of the lessons you mentioned have been discussed previously on HN threads for hardware startups. This is one of my favorites: https://www.simonberens.com/p/lessons-learned-shipping-500-units https://www.simonberens.com/p/lessons-learned-shipping-500-u... HN thread: https://news.ycombinator.com/item?id=46848876 https://news.ycombinator.com/item?id=46848876
- mamcx 3mo agoAND shipping.
- dabinat 3mo agoShipping physical products can open you up to more fraud, because once it’s in the mail, it’s in the mail. The customer can say it never arrived or claim their card was fraudulently used in order to keep using the product for free. Whereas with a SaaS you just disable their access.
- marysol5 3mo agoAnd also logistics is a race to the bottom, everyone is competing to get more and more packages through the system, and the customers are demanding lower and lower prices. So there's a fair amount of stuff that just doesn't make it there, there's a whole business now on re-selling non-delivered packages. And with that also comes the services, the reason they leave it at the door, or in the bin, or yeet it onto the roof. Is because there's no profit margin anymore for the delivery person to wait 30s each time for someone to answer.
- tbrownaw 3mo ago> Imagine we had that for software - "your JS is too big, you can't ship until you get it under 50 kB". ... But also that needs to be an official measurement, and if you're sloppy you can measure it wrong during your own testing and then be surprised.
- em3rgent0rdr 3mo ago> "actual regulations...emissions" yeah, and looking at their board I see they use one of "ESP32-WROOM" modules, which has the wifi & blutooth & antennae (pre-certified by Espressif for FCC, CE so itself doesn't need testing) & flash & processor (which even has its own RC oscillator), which takes care of a whole ton of difficult stuff so all the designer needs to do is plop that module down and power it up and wire some SPI/I2C peripherals which I'm guessing don't need super fast clocks or electrical constraints. Without something like those ESP32 modules, this would be much more difficult.
- delusional 3mo ago> Without something like those ESP32 modules, this would be much more difficult. I don't disagree. It's important for us to recognize that we stand on the shoulders of giants, but I also think it's a little silly of a critique of someone happy about it being easier than he expected. It's true that hardware would be much harder if you had to do it all yourself, but is that meaningful? The wonders if the modern supply chain is that you don't need to do it all yourself.
- em3rgent0rdr 3mo agoWell the title and premise is a bit silly. If you're designing easy hardware by wiring parts together that already do all the hard stuff, then "hardware is not so hard" is something you might conclude, but that only applies for designing easy hardware like this. But if you are doing anything that pushes the limits or involves analog signals and having to worry about signal integrity and EMI and impedances and Laplace transfer functions all that other stuff that requires degrees, then "hardware is hard".
- ssl-3 3mo agoThe ESP32-S3-WROOM1 module is FCC certified for its own Wifi and Bluetooth emissions when used by itself. And, well -- that's certainly good. But the FCC rules cover more than just Wifi and BT, and the whole rest of the widget also needs to comply with them. Of particular interest is FCC Part 15 Subpart B, which covers unintentional radiators. The device would need to comply with Part 15 Subpart B even if it had nothing to do with Wifi or BT. Putting one part that is certified for one issue into a device doesn't extend a magical blanket of compliance to everything else that the whole of the widget contains. Does the SPI or I2C bus (or anything else) leak RF beyond allowable limits? Eh, who knows. I certainly don't know. It's easy to say words like "it should be fine," but without testing then nobody actually knows. The CE mark, meanwhile: That mark means exactly nothing in the US, where the author is located and the devices are sold from. The United States has zero regulatory recognition of any of the processes and/or tests that CE may cover. People often confuse this issue, wherein: They don't think it be like it is, but it do.
- charcircuit 3mo ago>your JS is too big, you can't ship until you get it under 50 kB Not only that but every single update you push requires paying $$$$$ to get certified. It is freeing that the cost of releasing a fix or improvement to a product is $0. In the past I considered selling a custom adapter to hobbyists, but all the certification costs just did not make it a viable option to pursue. I didn't want to up front thousands of dollars to make like $100 if I was lucky.
- dimatura 3mo agoYeah, I think a lot of the "hardness" of hardware is of a different flavor than software. The author mentions how many lines of code are in the software, but that really is more of a symptom of something that makes software "easier": you have way more flexibility to iterate, and try new things, at a relatively low risk and cost, even if it's embedded software (at least for non-critical applications). Hardware is just more unforgiving. There's no cheap way out of the kind of scenarios you mention.
- girvo 3mo agoMicrocontroller and sensor bugs owe me a lot of sleep that I will never get back, to add to your point.
- socalgal2 3mo agoMaybe this isn't special in the era of pre-funding but there's also over manufacturing. You have to guess how many you'll sell. If under guess you leave sales on the table. If you over guess you lose money to all your undersold but already paid for inventory.
- tmp10423288442 3mo ago>your JS is too big, you can't ship until you get it under 50 kB Back in the glorious past, the iOS App Store either didn’t allow apps larger than 100 MiB, or at least forbade them from being downloaded over mobile connections. There’s an old blog post/Twitter thread you can find on Hacker News where an Uber engineer describes the challenges they faced in trying to keep their app under that limit. They were also rewriting the app in Swift, so some compiler patches were necessary.
- tough 3mo agonow App Store doesn't prohibit it, but it still asks you if you'd like to download an app that weights more than X mb or wait for a wifi connection to do so. Apple UX used to be good, not anymore sadly
- tmp10423288442 3mo agoBlog posts: https://www.uber.com/us/en/blog/how-uber-deals-with-large-ios-app-size/ https://www.uber.com/us/en/blog/how-uber-deals-with-large-io... Comments about a Twitter thread talking about the same thing: https://news.ycombinator.com/item?id=25373462 https://news.ycombinator.com/item?id=25373462
- BobbyTables2 3mo agoIt still boggles my mind than such limits are a problem. Sure, a game with graphics and sound could easily burn past that. But for a “boring” ride hailing app, it’s still beyond my imagination. Microsoft Word was something like 8-10MB in the Windows 3.1 days. WordPerfect was about the same and even had a grammar checker. The entire damn PC with DOS, Windows, and Word was 30MB. We’ve fallen so far, we mistake the darkness for outer space.
- xp84 3mo agoThere isn’t all that much actual first-party code in these apps, but if they made a “Hello World” but kept the same third party library deps, they’d be starting at 300MB, and once they add all the visual assets that’s another 200MB… I have a ton of apps on my phone that are absurdly large. Like Gmail is 706MB. The Gmail app for iPhone could not fit on a CD-ROM. A plain mail client. Compared to that, Facebook at 461MB is looking quite slim. Overcast is 37MB.
- jcelerier 3mo ago> Imagine we had that for software - "your JS is too big, you can't ship until you get it under 50 kB". ... that's a very normal constraint in many fields of SWE?
- thrtythreeforty 3mo agoNothing stops embedded work faster than running out of code space on a microcontroller!
- ykonstant 3mo ago>Imagine we had that for software - "your JS is too big, you can't ship until you get it under 50 kB". A man can dream.
- TacticalCoder 3mo agoThen something has to be said about digital/discrete hardware, which is not dissimilar to programming, and then the alien (to software devs) world of analog chips.
- gambiting 3mo ago>> Imagine we had that for software - "your JS is too big, you can't ship until you get it under 50 kB I work in games, we run into this problem all the time ("Your IPA binary is too big, fix it and resubmit", ditto for other publishers).
- deleted 3mo ago[deleted]
- deleted 3mo ago[deleted]
- jareklupinski 3mo ago> Imagine we had that for software - "your JS is too big, you can't ship until you get it under 50 kB". dont threaten me with a good time :)
- thakoppno 3mo ago> Imagine we had that for software - "your JS is too big, you can't ship until you get it under 50 kB". We’re one decade into cookie banners and privacy regulations by jurisdiction. There’s some vague similarities with interference here.