# Welcome to the age of costless computers

Dave Rauchwerk on how he solved a seemingly impossible engineering problem.

December 22, 2015
ENIAC (Electronic Numerical Integrator And Computer) in Philadelphia, Pennsylvania, circa 1947 to 1955. (source: U.S. Army on Wikimedia Commons)

## How do you build a $9 computer: Solve an impossible engineering problem Just how big was that problem: massive. It required creating a new approach to computer memory—from scratch. In the past, computers have relied on microcontrollers to tell the computer how and where to store data—almost like a tiny computer itself inside the storage system. But adding this component adds significant cost. Rauchwerk and his team had a new idea: “Instead of adding another little complex piece in between the computer bit and the storage bit,” he says, “what if we just have the computer tell the memory how to store it?” But that is far easier said than done. As it turns out, there are a number of fundamental computer science problems that limit you from doing it. With NAND flash memory, you have buckets where you can store 0s and 1s. If you have two buckets, which are stored as capacitance as different voltages, you can actually double the amount of information that can be stored inside of them by measuring the average between voltages. But right now, there is an expensive chip, a microcontroller, that does that—which nearly doubles the price of the electronics. “The punch line is: if you could actually build software that did the work of this little chip that went in between, you could reduce the price of the memory by half,” Rauchwerk says. “Until now, this software has been written, but it hasn’t been available to people to use. That is because there are fewer than 1,000 people on the planet that have ever really worked on this problem in this context, and most of them are employed by the companies that make the memory. “To do this sort of thing, you have to document saying that you won’t tell anybody the secrets.” The challenges he faced were things like the Pared Page Problem—for his team, a grand challenge problem. They also had to figure out how to implement the software that models the physics to store the data in such a way that it is actually securely stored. “You know how you have an SD card, sometimes you take pictures and you take it out and they’re gone? Well, that’s the kind of thing that we’re trying to solve,” says Rauchwerk. And that’s exactly what he did. How did he do it? By hiring a Linux-loving particle physicist whose last job was working at CERN. By enlisting German and French engineers who are the world’s foremost experts on the obscure details of NAND Flash storage. And, most importantly, by sitting down and writing code until they all figured it out. It’s as simple—and as hard—as that. “I was like, ‘Why don’t we just make our own driver for this?’ But no one knew how difficult it was going to be,” says Rauchwerk. “But for us, it was really exciting because it was like, holy shit! The thing that’s making this impossible is the thing that we’re really excited to work on. “Instead of it being this weird economic cabal where we had to negotiate, it was like, no, we just sit behind our computers and get some paper and we figured it out.” ## What can you do with a$9 computer (and who has one now)?

And they did figure it out, a victory that happened when C.H.I.P. shipped in late September. Since then, Rauchwerk and his team have sold 50,000 computers in 108 countries. The people that have them now: still a select group of highly technical people Rauchwerk calls “Kernel Hacker Backers.” The C.H.I.P. team set it up that way, as an open source project with an SDK on GitHub and a few discussion boards, to gather community feedback to make the software as good as possible before it goes out to a non-technical audience. “Frankly, we couldn’t do it without their help,” says Rauchwerk. “The idea: we would give the most technical people the opportunity to get it first so that they could help us make it as good as possible before it got into the hands of people who maybe weren’t as hard-core about hacking Linux and building kernel drivers and figuring things out. It gave us a great way to do a dry run of: how do you do logistics for shipping these all over the place? How do you manufacture things in batch quantities? How do you do the testing? How do you do the support?”

“It was a way for us to work with the community, not just to make it better, but also to prototype—going from this group of people in a garage in Oakland to this multi-national organization that ships these things all over the planet.”

On a post for the Kickstarter campaign under “What are you excited about making with C.H.I.P?” there are approximately 150 different ideas ranging from rockets and satellites to giving it to their daughter as her first computer.

It’s a totally reasonable question: what can people do with a computer? But as Raschwerk says, “what can’t you do with a computer?”

## How does this change the world—and the world of IoT? Radically.

The screenless “freeputer” space is just emerging, and there are other early entrants—namely the Pi Zero. However, C.H.I.P. is currently the only costless computer able to access the Internet—and it is by far the cheapest to operate. In the world of smart devices, that matters a lot. Connectivity is critical and every cent counts.

And in the world way beyond Silicon Valley, free computers change everything.

Think about it: now every person in world can have their own computer. Every machine in the world can have its own computer. What happens with that? Whatever we choose.

“We give people tools to do things, and if we are lucky—and it really does have very little to do with us—someone who really wants to change something now doesn’t have the cost as an excuse,” says Rauchwerk. “Things are not invented; they are discovered. It’s all just waiting for someone to turn a rock over and it’s there. That’s the feeling. I kept asking people “Why the fuck did we have to do this?’ It was one of those things—it doesn’t make any sense. You kind of don’t pick it. It kind of picks you.”

Related:

Post topics: Software Engineering
Share: