What I learned selling 2,500 MIDI recorders: Hardware is not so hard
518 points - yesterday at 10:34 AM
SourceComments
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.
I dislike this statement. Hardware is as hard as the product dictates it needs to be. A 25 component PCBA and a clamshell of 2 injection molded parts is about as simple of a product as you can make. Heck, most people would just buy an off the shelf clamshell for that type of product.
That doesn't work for the vast majority of products, building a product with 20 COTS parts plus 60 custom tooled parts, and 4 complex PCBAs is what is hard. Getting everything to fit together, pass testing, arrive on time from dozens of suppliers, etc. it where the complexity comes in. Then consider that hardware is cash intensive, you need to pay ahead of time for all the tools, you need to pay to buy the individual parts and warehouse them somewhere while you build the products you hope are going to sell. If something goes wrong there, then your expensive parts are just sitting there waiting for replacement components before you can ship. Then even when you ship, that revenue goes into buying the next round of parts you are going to receive in 3 months. This is where many hardware projects fail as they run out of cash before the project breaks even.
It's rare that I come across a product I have literally zero complaints about, or any feedback to offer. Even my concern that it was tied to an app that might disappear one day is of course covered by the fact that it's all just MIDI files on a card.
Thank you so much for making this, it's basically a perfect product for me and I love it. No notes.
Also, pretty cool that you set up your website real fast. Would you mind adding your Twitter link onto the site?
This feels though a little to me like building a simple SaaS service, and deploying it on a managed cloud service, and concluding all software is really easy!
This project is near to (if not at) the easy end of the hardware product difficulty/complexity spectrum. Some great choices were made to keep it simple and therefor easy.
An alternate take-away: "If you keep things simple, hardware doesn't have to be as hard"
I'm curious to hear more about your anti-counterfeit strategies beyond just enabling encryption. I'm curious if you feel like anti-counterfeit and open source firmware are mutually exclusive. I made the choice to embrace an open firmware approach on my project while keeping the hardware closed, while knowing that if someone tries hard enough they can completely reverse engineer if they put their mind to it. Desoldering caps and x-raying PCB layers etc.
I'm also very curious to hear more about your adventure in injection molding. What starting resources do you recommend, how much did it cost? Would you do it the same way today, or have the recent innovations in 3D printing forms for injection molding present superior paths?
Finally, I'd love to hear about your certification process. What certs did you get, how much did it cost, what were the gotchas?
Are you still below any significant scale thresholds and are there any you dread crossing?
I ask this because I tend to find things are simple until they are not. e.g. it's easy to write an e-commerce platform until you have to deal with shipping, duty, tax, tax on shipping, etc., for multiple countries.
There are scale thresholds I am aware of in hardware that I have not yet run up against. For example I am using Free software, but I am aware that with commercial CAD you can cross over price tier thresholds. Or for another example there are sales quantities where with electronics you might end up needing compliance testing, consumer safety testing etc.
Which ones haven't you crossed yet that you expect to have to navigate?
Your anti-counterfeiting tech hopefully / probably prevents your Chinese manufacturers / suppliers / related entities from free-riding on your work. (If your volumes start hitting say 50K+, things may change, you may be entering dangerous territory then, so I'd suggest you spend some time on beefing up the moat).
Good luck towards 10K volume!
That makes hardware hard! The manufacturing and packaging is the easy part.
Interestingly I've heard a very similar story and sentiment about hardware vs software from another single-person maker (also a software engineer by trade) of a hardware product, also in the music space. And this one was comparatively a more complex product on the hardware side, and did face some supply challenges during covid and tariffs, forcing at least one redesign and price raise. But in both cases, I'd say they made smart choices about keeping the hardware simple. By not pushing the envelope on that front they gave themselves the freedom to invest a lot of time and effort into the software. But not every hardware product is like that (which the author also does acknowledge).
Would like to see this highly non-obvious point expanded upon.
Part of the reason I wanted this in the first place was to have the data, a few hundred hours of all my learning and playing. At some point I or someone else will start thowing all this midi into an LLM.the jamcorder has been saving everything I've played in a very tiny amount of space with no effort by me, ultimately will be even more useful.
https://www.izcorp.com/wp-content/uploads/pm_Pocket-Record.j...
whole lot of manufacturing experts on HN today.
Try building such a device only with non programmable TTL logic.
Complexity-wise this is probably the easiest board one could imagine. It's an off-the-shelf MCU module, a 1:1 copy of the MIDI circuit from the specification, and some ports wired straight to the MCU. Throw in a trivial I2C-connected RTC and HSM for good measure. You could probably design this in an afternoon. But indeed: that is a good thing. Not everything has to be complicated, and plenty of people are willing to pay for simple products.
On the other hand: what is the cost for that?
The USB-A Host port has ESD protection, but as far as I can tell MIDI Out and SD do not. Sooner or later this will result in some static-prone user frying their expensive board. Have you got a proper Customer Support / aftersales pipeline yet? How many units did you reserve for warranty replacement? Luckily you've got a huge margin, so a few replacement boards shouldn't bankrupt you.
Similarly, the MIDI ports seem to be using low-double-digit series resistors for the MIDI Out current loop - in 0402 form factor. As the spec says: short the port and they'll draw over 0.5W, which a 0402 can't dissipate. To be fair, the exact circuitry is a bit hard to tell from the image, but will this mean they'll catch fire?
The AMS1117 is also an interesting choice. It's a classic option so it is often seen in beginner tutorials, but it is absolutely terrible[0], and with the capacitors used you shouldn't be surprised to eventually run into stability issues. It might work Just Fine for 99% of units, but the 1% will have weird undiagnosable heisenbug issues.
From a UX perspective I'd also question the use of a coin cell battery for the RTC: it'll eventually run dry or even start leaking. A supercap would've been a more durable and convenient option - especially considering the "always leave it plugged in and forget it" use case. Or, if you need a battery anyways: go for li-ion so it can be used on-the-go. Similarly: USB-B for Power In in 2026? That's just lazy. USB-C is trivial to add with a 5-minute-guide and would've been cheaper. The USB-A Host port is just about excusable, though: doing that in USB-C is a bit harder. And the Power In port not being usable for a connection to a host PC and telling people to buy some sketchy adapter on Amazon? Understandable considering the MCUs peripherals, but a disappointment.
And then there's the elephant in the room: certification. It seems like you just... didn't? Which is understandable for a small hobby project! But making it EMI/EMC compliant is by far the hardest part of designing market-ready products. You can't just completely ignore all the stuff involved in making it compliant with FCC/CE/UKCA/whatever rules and call it "not so hard". It's the difference between baking a pie for your birthday party, and opening a bakery.
Your hardware project wasn't hard because you've only done the easy stuff. And kudos for shipping - many people don't make it even remotely this far. Especially using an injection-molded housing is quite the achievement! The startup costs for that make it a real showstopper for many small-scale projects, and making mistakes can easily bankrupt you.
But this is where the actual adventure starts: scaling it to 25k / 250k units. You basically have to start from scratch and do 10x as much work. Meanwhile, China is pumping out $10 clones for your $250 recorder. Sure, you put DRM in it, but is your software moat really wide enough to protect you?
Many congratulations on your achievement, but please understand that writing this blog post is almost naively premature. The hard part hasn't even started yet.
[0]: https://www.reddit.com/r/esp32/comments/1m7ne4i/psa_avoid_us...
>Assembly is just a single screw, for a single PCB. The injection mold has generous draft, no slides.
Says everything
I'm an EE with main expertise in IC design but I design a lot of the chip packages, PCBs, mechanical stuff like custom made sockets etc and write a ton of SW, be it tools for myself for development and testing, be it the firmware of the chip I'm designing or another chip I use on the board. For me it never felt like SW was the hard bit, because you can write and test it pretty immediately and pretty much for free. HW felt harder because of the tooling costs, lack of documentation and examples, things that aren't obvious at the beginning (EMI/EMC) etc etc but these are very minor compared to the actual issue: long and expensive development cycles. Now, that doesn't apply if your HW is extremely simple and just a glorified uC and rhe development time is mostly the code running on it. This is why this is such a poor take. One can argue for anything at extremes. SW can be very very complex and much harder than HW, and vice versa at different extremes.
>>> The hardest part of building Jamcorder was still, by far, the software -- roughly 200K lines of code spread across the firmware, app, and manufacturing tooling. It took over 3 years and many long nights in a pre-LLM world.
>>> When compared to that, the hardware was undeniably smooth sailing.
>>> For the record, I don’t think I’m special. It’s just that hardware’s reputation for being difficult is, IMO, overstated.
For me, when I complain about hardware, its actually usually complaining about drivers, compatibility, underdocumented interfaces, firmware etc. If one were to put firmware and manufacturing tooling in a separate bucket, that is indeed the problem!
The reality for a product at this scale is that nobody is going to spend the time or money to copy it.
For reasons other commentors have already mentioned-scale, logistics, revisions. And for reasons they havent mentioned-cash flow
Would love to talk to you more about hardware supply chain issues and challenges.
Meanwhile if anyone is tired of their smart TV being a spyware or showing ads, I would love to talk to you. This is what I am building: https://soljacast.com
When I want to record for real, I'm going to use my DAW. But I want a way to quickly record tracks and this looks pretty great.
Would love to hear more on that but I suppose the omission is not an accident.
What understanding about hardware did you start with, and what tools did you use to learn what you didn’t already know?
There was another post, a year or two ago, about someone that really tried to manufacture a webcam, and gave up.
I spent my career at hardware companies.
Glad this worked out, but past performance is no guarantee of future success...
Why custom MIDI connectors of all things? What requirement couldn’t be met off the shelf?
It’s actually not hard to hack this together as a .net application and run it on a laptop, but I suspect your target market has a bit of money to spend.
Learning piano is already largely an upper middle class active and after that what’s another 200$ or 300$.
A higher end digital piano is easily over 2k.
Making sure your target market has money is the key take away.
Not sure if this is in scope, but I’d love an easy way for the community to share midi files. I can somewhat do very basic piano progressions, but I still can’t play well.
I’d be grateful if someone would share midi files for me to plugin to my music software. Of course I’d provide full credit
Hope we can read more about this.
Sounds like a story. What parts of it can you share?
What is this strategy? You're building this in China, it's already over.
Oh, if that’s how you build hardware then sure, hardware isn’t hard to do at all.
Is it just me, or is there some kind of unusual photo editing going on in the photo at the bottom of the article? Something looks uncanny valley, related to the bottom of the box on the left side of the photo, and related to the background. Did some kind of "erase background" mechanism go wrong here?
If I may ask for your advice on a related subject.
I have an old electric piano, it doesn't register dynamics, the strength with which I hit each note. Which is a huge bummer.
I can't think of a simple way to hack dynamics onto the keyboard, I thought of adding an additional sensor and using the time delta between touching a key and hitting the bottom, but that's not really correct, as you can hit a pianissimo key fast in staccato.
Maybe a basic spring that decreases resistance as it becomes compressed, but it might make keys quite hard, and it's not very simple to implement.
Any ideas?
Thank you.
And let's not forget that. And let's not just follow the headline.
Greetings from a hardware engineer with decades of experience building hard things.
Just that hardware equivalent of 200K of lines of code would take far, far more time and resources and with way longer debug cycle, especially when you hit the complexity point where bodging few wires to fix the prototype gets harder and harder.
That's what people mean when they say hardware is hard - if you need to start iterating on a board and not just board's software it gets complex and expensive really quick
But it is far better than it was before - I got my 5 board prototype of similar complexity (also esp32 based) within a week, assembled board, for like $100 (and it was my design mistakes that made it so expensive, like picking screw connectors in places that could totally use far cheaper generic part JLCPCB had in stock, i just didn't know any better), just a decade ago that would probably be order of magnitude more expensive.
So yeah, for those that always wanted to build a hardware project, it's probably best time in the history to do that. Both PCBA and mechanical part got cheap and commoditized enough.