NOTE: This project log was originally posted on 07/20/2023 at 18:38 EDT, but due to a misunderstanding, it had to be deleted and remade.
The other night I was jotting down some notes about the Open Book, trying to figure out how to write about what we did right and what we did wrong, about how we got to where we are from where we came from. In broad strokes, I imagined two parallel tracks to understanding: there’s the engineering of the gadget, the set of choices that make the thing what it is, and then there’s the economics of the gadget, the set of choices that make the thing a viable product.
Of course, one of the key lessons learned from this project is that those things are so deeply intertwined that there’s no way to talk about them in isolation.
The original Open Book design got a few things right on the engineering side. It got almost nothing right on the economics side. Over the course of this project, I’ve made several revisions of the concept that got closer to threading the needle and getting both right. I think I’m finally close with this latest design, the design I intend to submit for the Hackaday prize.
But before we get into that, a quick aside on how these two sides of the equation relate.
The Economics of the Gadget, or: What does it cost?
When I was first designing the Open Book, I imagined that I’d buy a circuit board and a pile of parts, and that would add up to the cost of the gadget. This is one of the reasons I threw the kitchen sink at that board; it had everything from a display and buttons to a headphone jack and a microphone preamplifier for voice commands. I felt okay with it because (in my recollection) the cost of all the parts added up to something like $70 — still less than a Kindle!
But here’s the thing: that’s not what the gadget costs. First off, you have to pay someone to assemble the board, and with dozens of lines on the bill of materials (BOM) and more than 130 individual part placements, that would add up to quite a lot. Let’s pencil in $15 for assembly costs, just as a rough guesstimate. Now the board costs $85. (There are other costs like packaging and testing and eventually an enclosure, but for the moment let’s keep it simple.)
If I sold the board for $85, I would in theory break even. But that doesn’t pay me for any of the work I’ve done on the gadget. It also doesn’t help recoup the money I spent on prototypes, fund development of the software that runs on the gadget, or plan ahead for costs associated with designing a future version of the gadget. This $85 is just the cost of goods sold, or COGS, and selling a gadget at cost means you’re losing money.
If I want to make the Open Book a sustainable thing, I need to add margin to this number — money I get to keep to run the business (and maybe pay myself a little bit if there’s anything leftover). In my experience running Oddly Specific Objects, I need a minimum of 40 points of margin for the business to even remotely make sense. So how do we add that margin? The math on it looks something like this:
sale_price = cost / (1 - margin)
Or
$85 / (1 - 0.4) = $141.67
So the gadget costs $142, right? Well, not so fast. My core competency is in designing and making gadgets. It’s not in logistics or marketing. Which is all to say, I don’t want to be in the business of shipping these things individually. I’d much prefer to do something like a Crowd Supply campaign, where we make 1,000 of them, and then we ship them all at once to a distribution partner.
In essence, this $142 is my wholesale price, what I’d charge for selling 1,000 of them to a reseller. But that reseller also needs to make money, and a reasonable number might be 30 points of margin for them. Luckily we already know the math for this; we just need to change our perspective. From the reseller’s perspective, my sale price is their cost of goods sold, and we can add their margin on top like this:
$141.67 / (1 - 0.3) = $202.38
This is the sale price you'd need to hit to make the gadget into a product, and suddenly this thing that cost less than a Kindle needs to sell for over $200 to be sustainable.
The Engineering of the Gadget, or: What Matters?
So what happened here? Clearly, we lost the plot a bit. In trying to do too many things, we blew up our costs, and made an object that does a lot but also costs a lot. Instead, let’s think back to the core values of the object. Let's ask ourselves what it needs to do, and figure out what we need to put on the board to do that:
- It needs to display books (so, a screen) in all the languages of the world (which requires 2 megabytes of fast storage for font data)
- It needs some mechanism for user input (buttons)
- It needs to be portable (a battery) and low power
The question then becomes: can we achieve our goals for the book while making it economically viable?
Putting it All Together
If you aspire to make and sell gadgets, I’m going to give you the one key takeaway right here, and I’m going to do it by rerunning the calculations above, but for a COGS of $1:
$1 / (1 - 0.4) = $1.67 wholesale price $1.67 / (1 - 0.3) = $2.38 retail price
If you take nothing else from this project log, let it be this: every dollar you add to your BOM adds more than $2 to the sale price of your gadget. And, by the same token, if you can shave $1 off the cost of your BOM, you can cut the price of your gadget by $2, expanding the audience of folks who are able to buy it.
I hadn’t quite articulated it this way at first, but in hindsight, this is the key lesson that’s been driving all the various revisions of the Open Book between 2020 and today. This is the calculation that led to the Open Book Abridged Edition:
This version optimized for easy hand assembly, but it also optimized for low cost by placing on the board only what was absolutely necessary. You can look at every block and see how each part contributes to one of the goals:
- The e-paper driver module drives the screen to show
- books stored in the SD card slot, using
- global font data stored on the flash chip.
- The front-facing buttons, plus the reset and lock buttons, are our user interface.
- The AAA batteries make the whole thing battery powered, and
- the on/off switch and board power block ensure low power consumption.
This relentless optimization allowed me to get hardware into people’s hands: not counting my labor, the parts for an Abridged Edition kit cost $33.57, which meant I could sell them for $60 ($55 at OSHWA) and manage 44 points of margin (39 at OSHWA).
But the truth is, this is still not enough to make the gadget real. For one thing, it’s expecting a lot to ask folks to assemble their own e-book reader with a soldering iron. For another: I can’t spend my days taping components to component cards and stuffing envelopes.
We need to make an assembled Open Book PCB for this thing to make sense.
The Hackaday Prize Entry
I haven’t assembled this board yet. I hope to, perhaps as soon as next week. But this is my vision for an integrated version of the Open Book that we can make affordably and sustainably.
- It uses an ESP32-S3 with dual-core XTensa LX7 — but most importantly, an additional low power RISC-V core that can supervise the power and the buttons.
- The S3 has 8 megabytes of Flash: plenty of room for all the world’s languages, with no need for an external Flash chip
- The whole bottom half of the board is largely devoid of components, leaving room for a substantial lithium polymer battery.
- There’s also an option for a backlight driver, although I don’t yet know if I can get screens with this feature without a substantial minimum order quantity.
Feature-wise, it ticks the boxes — and it does it with only 46 surface mount components, a third of what we had on the original Open Book. The design is deeply optimized for cost, and while it’s still napkin math at this point, I think it’s not impossible to hit a wholesale price around $70, and a retail price under $100.
It’ll still be a book you build yourself, to some extent: while the circuit board is designed to be fully assembled, I imagine it, the screen and the enclosure could come in the style of Watchy, where you still plug in and tape down the screen, then place the assembled gadget inside its housing. I think this still gives the reader a sense of ownership of their gadget: even if they’re not comfortable wielding a soldering iron, they still assembled their book themselves.
Anyway. That’s more than you probably wanted to know about the economics of the Open Book, but hopefully exactly what you wanted to know about the vision for the Open Book, and why this version of the gadget is the version I’m submitting.
Next week, we’ll talk about the battery and the enclosure — and who knows, maybe we’ll even have a fully assembled version of this board to take a look at!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Basic Kindle models are often available at affordable prices. They provide a reliable e-book reading experience with good display quality. I read a lot but still ask for essay writing help, I use https://ca.edubirdie.com/essay-writing-help for this. The question is, why am I reading then? There’s no point. But that doesn't stop me. I prefer an expensive e-reader. It’s better to use a good screen and protect your eyes than to wear glasses and constantly go to the ophthalmologist.
Are you sure? yes | no
NOTE: When initially shared, this project log generated two exchanges of comments. The comments could not move over when the post was remade, but I am putting them here to preserve the conversation:
Carly wrote 07/21/2023 at 05:11
How are you managing Chinese text in less than 8 MB? Are you allowing for multiple font sizes?
joey castillo wrote 07/21/2023 at 17:24
We have only one font, an 8x16 (16x16 for some scripts) bitmap font called GNU Unifont — but we're wringing a lot of functionality out of it. We can pixel double horizontally for bold text, shift it four lines at a time for italic, and render it at integer multiples for larger text like headings. It's admittedly a compromise, but it allows us to fit the entire basic multilingual plane in 2 MB, with room for extra data like bidirectional hints and localized case mappings. More info here! https://github.com/joeycastillo/babel/
Carly wrote 07/21/2023 at 18:52
That makes sense, thank you for sharing! The larger font I'm using is 40x37 px per character and gobbles up memory like no tomorrow. Excited to see the new version!
--------
Peabody1929 wrote 07/20/2023 at 20:18
On Prime Day I bought an 8" Kindle Fire HD with a 6 core processor for $55.
joey castillo wrote 07/20/2023 at 20:42
Alas, the truth is there’s no way for someone like us to hit that price point. Amazon’s economies of scale are a different order of magnitude, and even then I suspect they’re selling the hardware at (or below) cost. They make up for it by stealing your attention with advertising, and recording literally every keypress you make and storing it forever. I assume they figure you’ll buy Kindle books as well, but either way, it’s like a free monkey’s paw — you do pay for it, just maybe not with money…
Are you sure? yes | no