The Art of Shanzhai

A project log for A Wearable, IoT+ANN Dev Board for Body Sensing

An integrated wearable IoT, Cloud, and Machine Learning Platform for Human Computer Interfaces

Dave NghiemDave Nghiem 05/16/2017 at 21:050 Comments

Shanzhai, or (现代汉语词典/現代漢語詞典), has two meanings. A fenced place in the forest, Villages in the mountain that have stockade houses.

Shanzhai is used as a metaphor to describe bandits who oppose and evade the corrupted authority to perform deeds they see as justified. One example of such bandits is the story of Outlaws of the Marsh (水滸傳)

Shanzhai also means "Mountain Bandits." And in today's modern era China, especially in Shenzhen, it's usually related to illicitly copied electronics. I recently finished reading a great book, The Misfit Economy: Lessons in Creativity from Pirates, Hackers, Gangsters and Other Informal Entrepreneurs. written by Alexa Clay and Kyra Mya Phillips. In the book is a chapter titled, "Copy," which goes into detail about the Shanzhai culture. You can also read this great article about it in the Atlantic. Shanzhai: China’s Collaborative Electronics-Design Ecosystem

The Copy Chapter brilliantly investigates the Shanzhai culture of Shenzhen, the electronics manufacturing capitol of the world.

Essentially, the Shanzhai culture of pirated electronics means exactly that, they directly copy the electronics of competitors or leaders in the market. But what so many casual observers miss after just relegating the copiers to a footnote, is that after the shanzhai copy, they iterate, and they have to iterate fast, because other's are iterating right behind them. They're always looking behind their back, because they know that if they can copy, someone else is copying. So on top of the copying, they have to create something new. In other words, by iterating, and not just copying, they're creating new innovations. Vastly whole new innovations and product categories. In fact, about 26% of Silicon Valley's IP comes from Shenzhen.

You can learn more about the fascinating Cyberpunk/Hardware Hacker collision in this Wired Documentary about Shenzhen, guided by Bunny Huang, the creator of the world's first open source laptop.

So, after many years of coming up with my own original designs and crazy innovations, I'm going to take a page from the Shanzhai book with this project. The reason for that is simple.

In this case, I'm not going for simply innovative. I want to fast track this thing into production.

For too long, I've stayed stuck in development, creating innovative devices, but because of scarce resources (money) spent on development, I was never able to get into production, let alone see if there was a market for what I came up with. In production is where you get into the business end of things, like sourcing suppliers, discovering a market, price discovery, marketing and sales, etc. I want to get to that point of the learning curve. Considering I've been doing development innovation for, oh, forever, I think it's time for a change.

Really, I'm sick of Development Hell.

I want to fast track the development, and get right into the production. For me to do that, that takes some Shanzhai.

First, let's start with the basic design of the ESP8266 board. This one has all of the support electronics, which themselves are required from experiments of just the standalone esp8266 chip that you can find all over the web. I'm using the Adafruit Huzzah ESP8266

Next to the ESP8266, I'm using a generic breakout board for the CP2104 USB to UART chip.

It's a fast USB to UART chip, as I want the development board to have an onboard USB interface for easy programming.

Next up, I want to have more analog inputs. The ESP8266 only comes with one analog input. That's not enough for my needs, given that I want to make the ESP8266 essentially a central point for several data streams coming in from analog sensors. So, I'm including an ADC chip to communicates via I2C. It also has four analog ports that operate at 12bits. The ESP8266 has a single  analog port that operates at a peasely 10 bits on a 0 -1 V range. That's insufficient for a lot of human, and even a lot of non human analog sensor tasks.

So, I'm equipping it with an ADS1015, which is 12 bits in resolution, and has a range of the VCC + .3V, which in this case, because we're supplying it with about 3.3-3.45V, it's range is 0 to 3.6-3.75V. That's way better for my needs, and I'm betting a lot of other people's needs when it comes to analog sensors.

And finally, I'm incorporating Artificial Intelligence, in the form of a neural network. I'll get into more about that later in this blog. This will also interface with the cloud. More about that will also be later in the blog.

All of this will go onto a wearable form factor that uses lithium ion batteries, and cables that lock in to send information across the wearable so they don't get dislodged with simple body movements.

I've done this long enough to know that yanking cables out of your board while hammering away at a heavy bag is annoying as hell.

I'm still waiting for my charge control breakout board to come in, which will enable usb charging to an on board battery.

There are so many breakout boards on the market that you can literally rapid prototype almost every single part of whatever it is you're designing. That's how awesome the Shanzhai ecosystem is. Back in the day, and I'm talking pre-Arduino like the late 1990's into early aughts when I was doing my SEMG thesis, you had NUTHIN. Back then, you had to roll all of your own proto or break out boards. We used to make something called a road kill board, which was a large prototype consisting of DIP components on a PCB board. Today? You can almost skip that process. That's a beautiful thing.

The current layout looks like this.

Coming up next! Usability, aka how to effectively prototype like a seven year old!