Pricing is where good engineers quietly lose money. They anchor on an hourly rate, forget what hardware iteration actually costs, and absorb "just one more change" until the project is underwater. Let's fix that.
Short answer: match the pricing model to the uncertainty. Charge hourly when the scope is fuzzy, fixed milestones when it's well defined, and move toward value-based pricing as your track record grows. Whatever you pick, put revision limits and re-spin costs in writing — that's where hardware freelancers bleed.
The three models, and when each fits
| Model | Best when | Watch out for |
|---|---|---|
| Hourly | Scope is unclear; exploration, bring-up, debugging | Caps your upside; clients fixate on hours, not outcomes |
| Fixed fee / milestones | Scope is well defined and documented | Scope creep and unlimited revisions eating the margin |
| Value-based | Clear business outcome + you have a track record | Requires trust and a client who thinks in outcomes |
Most freelancers end up blending them: hourly for the messy, unknowable parts, fixed milestones for the well-scoped design work. That's a perfectly professional way to quote.
Price in what hardware actually costs
This is the mistake that separates hardware pricing from software pricing. In software, a fix is a redeploy. In hardware, a mistake can be a re-spin: new fab order, new assembly, weeks of calendar time. If your fixed fee didn't account for that, you eat it.
So, always:
- State how many revisions are included. Two? Three? After that, it's billable.
- Define what a re-spin costs — your time plus the pass-through fab/assembly cost.
- Separate NRE from unit cost so the client understands what they're paying for.
- Bill for bring-up and test as its own line. It's real work and it always takes longer than anyone expects.
I've seen a "quick" project balloon because a single "can we also add…" wasn't scoped as a revision. The board was fine; the pricing wasn't. Scope discipline is a pricing skill.
Setting your rate without underselling
New freelancers almost always price too low, reasoning that a low rate wins work. It wins the wrong work — clients who churn to the next cheapest bidder and never value certainty. A few principles:
- Anchor to the value you remove, not the hours you add. You're selling a board that comes back working, on schedule. That's worth a premium over a cheaper bidder who might not deliver it.
- Raise rates between clients, not mid-project. Every new engagement is a chance to reset.
- Don't compete on price. Compete on reliability. The way you stand out is what justifies the rate.
The hidden discount: unprofessional delivery
Here's a cost people forget. If your handoff is messy — mismatched revisions, a mystery zip, a BOM the assembly house rejects — you pay for it in unbilled hours cleaning it up, and in a client who hesitates to rehire. Sloppy delivery is a discount you give yourself without meaning to.
The inverse is also true: a clean, versioned, professional package lets you charge more and costs you less to produce, because nothing has to be reassembled by hand at the end. Putting the project under version control and letting outputs regenerate automatically — the model behind GoForFab — turns your deliverable from a liability into part of what justifies your rate. It's free forever, and it quietly protects your margin.
Price for the reality of hardware, protect yourself with scope, and never let the lowest bidder set your worth.