A Wearable IoT Development Board for Body Sensing

A wearable IoT development board based on the ESP8266 and ESP32 for human body sensing and Cloud applications

Similar projects worth following
After many years building wearable circuits designed to do human body sensing (see my SEMG pod), I've grown tired of constantly wiring up a new wearable bread board every time I'm prototyping. So, I'm creating my own, wearable development board that's IoT (Internet of Things) and cloud capable. It's based off that popular ESP8266 chip, and once the development environment is mature enough, the ESP32. I need this as a foundation for developing my other ideas, and since I can't find one out there, I'm rolling my own. It's also to help a good friend from my uni days, who's a biomedical engineer and researcher, create a better body sensing vest to help study Rett's Syndrome, which is a neurological degenerative disorder that effects children.

This is my very first development board project! Woohoo! I know right? After shrinking about 15k worth of equipment to a custom board the size of a credit card that can read your muscle signals, to winning TechCrunch Disrupt's 2015 Hackathon with an IoT device that tells my Dad if his stove is still on, you'd think this kind of stuff is old hat for me.

I've made various circuit boards in the past, but they've all been bread boarded & hand soldered. When I made my SEMG wearable pod, while I created the circuit design, support electronics, and software, I had my buddy take care of the PCB lay out and soldering.

I used to roll my own hand soldered, slag jumpered bread boards as components. Kinda like these.

It looks janky as hell, right? But guess what ! It still worked. Mostly. OK, not always, but the point is, that's my usual progression when it comes to coming up with circuits. And that had a lot of its own issues like accidental shorts and $#!T. Which is why every time I look at someone's project, and I see these gorgeous, well laid out, manufactured, smd soldered component boards, I get a little envious. Well, I ain't gonna envy no more, because I'm gonna try my hand at it.

I think it's time I broke my PCB making cherry, so what better way to do that then by making my own development board? Besides, I've setup, wired, and rewired my own custom circuits so many times - since what I need isn't out there - that it makes sense for me to do this. And who knows, someone else out there might need my board.

So why a development board? Well, as you can tell from the photo above, I have a thing for making my own custom circuitry. A lot of what I do involves body sensing, and now there's IoT in the mix. Which makes for some interesting requirements.

But I don't want to make yet another generic arduino esque board in the millieu. This one will be wearable, mesh capable, and talks to the cloud. And the real purpose of this is it's educational and it serves as the foundation for other projects, like helping my researcher friend studying rett syndrome, a rare, neurological degenerative disorder. This board also, weirdly, doesn't exist, so I'm making it because I need it.

So the first thing I do whenever I start a new project, is I figure out what it needs to do first. These are my requirements.

  • It needs to be wifi/bluetooth capable. Since I'm very well versed in Arduino's java like syntax, and C++, I went with Espressif's offerings, the ESP8266 and ESP32. Since the ESP32 isn't yet mature Arduino wise for most people, I'm gonna start first with the ESP8266.
  • The problem with the ESP8266 is it has only one analog port. Which is fine for all the freaks out there that are into blinky lights, because for blinky lights all you need is GPIO, and most of the time you only need one. But I do a lot of analog sensing. I'm also not into blinky lights (I'm into FIRE. Yes, I'm that kind of freak.)

    So I'm adding an ADC chip.
  • I'm tired of using my USB to TTL converter port and loose wires to the ESP8266, so I'm incorporating a USB to TTL converter chip, like the CP2104. Which means it'll have a straight up micro USB port. Hell yes!
  • I want this to be wearable. If you look at my SEMG sensor, it's something you wear on your clothing. So I'm looking at putting it into a wearable, and sewable formfactor.
  • It needs to be powered by 3.3V, with as little power requirements as possible.
  • Have a usb charger control circuit that can connect to a lithium ion battery pack, because that's also been a pain in the ass to wire up every freaking time.
  • Unlike the lilypad, which is also my inspiration, I'm not a fan of sewing wires into clothing. Mainly because I suck at sewing, though you wouldn't know it when you look at some of my wearables (Thanks Mom!!!). So, it's going to have cable pins with locks on them.
  • Use a thin lithium ion battery that's smaller than a credit card, and carries at least 1000mAh
  • Everything has to fit into case that's about the size of a credit card, and maybe 5X...
Read more »

  • 1 × esp8266
  • 1 × esp32
  • 1 × cp2104 Interface and IO ICs / USB
  • 1 × Analog to Digital Converter, SPI bus Capacitors / Aluminum Electrolytic
  • 1 × Charge controller chip

View all 7 components

  • The Art of Shanzhai

    David Nghiem05/16/2017 at 21:05 0 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.

    After many years of coming up with my own original designs and electronics, 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. 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 SPI. It also has four analog ports that operate at 12bits.

    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'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...

    Read more »

View project log

Enjoy this project?



Rollyn01 wrote 6 days ago point

Just a random thought but have you given thought about using multiplexing the analog port? Maybe it is possible to use a few sensors that are modulated and mixed into one signal. You could allow for switching to focus on one sensor at a time through additional hardware or tuning through software to filter each sensor's individual signal. Just a thought around that issue of only having one analog port. It might add bulk, but I'm sure you're skilled enough to make it work.

  Are you sure? yes | no

David Nghiem wrote 5 days ago point

I have thought about multiplexing the analog port on the dev board, and actually, I'm open to making two prototypes, one using that concept, and the other using an add on Analog device. Thing is though, I do like higher ADC resolutions, being experienced in body sensing. Given how cheap it is these days to make your own prototypes, it's not that much extra for me to give that a go.

  Are you sure? yes | no

Rollyn01 wrote 5 days ago point

I can see why you would favor resolution over multiplexing. In the end, it might require an amplifier and oversampling just to keep up resolution. Not sure how that would play out (not knowledgeable with this particular micro to say for certain). However, with a bit of twerking, I'm sure that is a limitation that can be easily overcome. What add-on analog device are you thinking of using? 

  Are you sure? yes | no

David Nghiem wrote 8 hours ago point

Hey Rolly, 

Right now, it's a toss up. Everything boils down to cost/benefit ratio's. The 10 bit ADC's are generally cheaper, , and you get a lot more ADC ports, but you're also at 10 bit. And you're right, amping the signal a bit for more bandwith for better sampling comes into play. For Rhett syndrome kids, currently what they're measuring is lung volume, using chest/thorax capacity measurements. That means a measurable band across a large cross sectional area. The problem is not a lot of sensors today are particularly accurate for measuring cross sectional area changes, and a lot of that is also noise (kids shuffling around, getting itchy, moving the shirt, etc.) So while on one hand I'd love more sampling resolution, I also have to deal with things like kid's movements causing noise spikes, or general imperfections of the sensor inaccuracy.

But it all boils down to money, so less money for more bang for the buck is what I defer too. Right now I'm looking at the MCP3004 because it's relatively cheap, and has 4 ADC ports, and it's SPI.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates