SlideShare a Scribd company logo
1 of 51
Download to read offline
Hi everyone My name is John Yeh.
Welcome to the webinar on “Bootstrapping your IoT product”.Welcome to the webinar on “Bootstrapping your IoT product”.
1
By now we all know that an IoT product is a complex system of devices and services.
2
For this talk I’ll be focusing on just the Device and Connectivity layer.
3
An IoT device consists of sensors, actuators, power source, connectivity and processor.
4
Power and Connectivity are probably the most important factors.
Without connectivity your “Internet of Things” is just a “Thing”. But without power, youWithout connectivity your “Internet of Things” is just a “Thing”. But without power, you
have a “Dead Thing”
How will the device connect to the world? What will power the device? How long will it
stay powered on set a batteries, can make or break a product.
5
Will the power source be a secondary cell or primary cell?
6
The best example of a primary cell powered device is the smoke detector, a single 9V
battery typically lasts a year or more.battery typically lasts a year or more.
7
Car keyfob and ezpass tags are two more examples of products that’s lasts for years on a
single set of primary cells. I wished every device that we have in our lives can last this longsingle set of primary cells. I wished every device that we have in our lives can last this long
on a set of batteries.
8
Unfortunately most devices in our lives, can’t operate by sipping on just fewUnfortunately most devices in our lives, can’t operate by sipping on just few
Coulombs of electrons at a time. Most portable devices guzzles electrons, it takes a
lot of electrons to give us eye candy on the screens or communicate to the world.
9
For these devices, secondary cells or rechargeable cells provide the energyFor these devices, secondary cells or rechargeable cells provide the energy
required. Secondary cells range from lead acid, NiMH, Lithium Ion, to Lithium
polymer. These secondary cells, power most portable electronics devices that we
interact with in our daily lives. Although manufactures claimed 500-1000 charge
cycle, one typically get around 500 cycles. What to do with the devices when the
batteries expired is a tough design problem.
10
Not taking power consumption seriously into the early stages of the design process,Not taking power consumption seriously into the early stages of the design process,
you run the risk of redesign or worst yet, your product sits in a drawer full of dead
electronic devices because it is too inconvenient keep the device charged.
11
Power consumption for an IoT device is split up between the sensors, actuators,Power consumption for an IoT device is split up between the sensors, actuators,
processing unit and communication system. Aggressively going to sleep and check
infrequently allow the smoke detector to last a year on a 9V battery, about (14mW
per day or 5W per year). Add a Wifi radio, such as the Nest Protect, now we need
six AA Lithium cells (74mW per day or 27W per year).
12
In comparison, a Nexus 5X that requires daily charging and uses up 10W per day orIn comparison, a Nexus 5X that requires daily charging and uses up 10W per day or
3646W per year (3.7V x 2700mAh x 365 ). It’s not bad, because if you put it in
perspective. A typical hair dryer draw around 1900W. A microwave draws 1100W.
That is in one hour not a year.
13
While running without any sensors, an Arduino Uno draws around 45mA or 1971WWhile running without any sensors, an Arduino Uno draws around 45mA or 1971W
per year. I guess that is not going to run on a 9V battery or a set of AA. But actively
manage the sleep mode, the Arduino Pro Mini can sleep for an entire year with at
23uA or 0.66W per year of power. If we were to design a smoke detector with an
Arudino Pro Mini, that leaves us with most of the 5W from the 9V battery to sense
and chirp.
14
This brings up an important technique of power conservation. Run fast, talk quicklyThis brings up an important technique of power conservation. Run fast, talk quickly
and sleep a lot. In order to understand your power requirement, you can get a
rough number by running simulation. But to get a true measurement of how much
power your system draws, you’ll need an oscilloscope with a low current probe.
15
Typically current measurement of a circuit is done with a clamp on current probe.
Unfortunately these probes don’t have enough sensitivity for IoT measurements that downUnfortunately these probes don’t have enough sensitivity for IoT measurements that down
in the uA or nA range.
16
In order to get an accurate current measurement for the IoT device, you need to insert the
current probe inline with the power supply. This is the Keysight current probe, it’s aboutcurrent probe inline with the power supply. This is the Keysight current probe, it’s about
$3000. It’s out of the price range for most bootstrapping startups.
17
Fortunately, there is a more affordable option. Cmicrotek has a $500 solution. It looks
good on paper, I’ll be evaluating it in the next few weeks.good on paper, I’ll be evaluating it in the next few weeks.
18
If $500 is too rich for you budget, you can try the $90 uCurrent. Due it’s internal circuit
topology, it does not play well with oscilloscopes. You can only use it with a multimeter,topology, it does not play well with oscilloscopes. You can only use it with a multimeter,
which means your sampling rate is about 3-10 times a second instead of 100’s of millions
times a second with an oscilloscope. You’ll need to stop your code at various stages and
take static measurements. Then use the GPIO pins as markers inside of your code to get a
time measurement on each section of your code. Combined the two, you can get an
estimate on the power consumption.
19
Using an Arduino, you are limited on how much tweaking you can do with theUsing an Arduino, you are limited on how much tweaking you can do with the
firmware, this is a good time to look into the IDE supplied by the actual chip
manufacture of your Arduino. Or you can bite the bullet and find the best
embedded controller that has the features to suit your requirement.
20
Nearly every major microcontroller manufacture has an eval board that leverage theNearly every major microcontroller manufacture has an eval board that leverage the
Arduino shield pinout to ease you into their ecosystem. The technology behind
these chips runs the gamut from 8051, PIC, ARM to X86 and anything in between.
21
These IC manufactures typically provide an IDE that runs a crippled version ofThese IC manufactures typically provide an IDE that runs a crippled version of
compiler from IAR or Keil. These compilers are either full version with time trial or
code size limited. If your budget does not allow for a full version of IAR or Keil and
your code is larger than the crippled version, IC manufacture typically provide a
GNU option. These are a bit more difficult to use and the generated code are a bit
less optimized. But hey, it’s free. Toolchain support is also where a larger IC houses
differ from their Chinese competitors. It’s expensive to keep a bunch of FAEs to
support the users and they have the budget to do so.
Embedded programming is a finicky art, breaks and watches in the flow will affect
the timing of your code. Again, using a logic analyzer to trigger on the GPIO lines for
debugging will help you visualize and optimize your code, with minimal impact to
the timing.
22
If your IoT product can be wall powered or your design calls for more processingIf your IoT product can be wall powered or your design calls for more processing
power, this is when you can start designing a device with an Operating System using
the System On Chip, SOC. For industrial applications, there is a whole world out
there from embedded Windows computers running on PC104 to small System On
Module devices running some form of Linux or RTOS. But if your budget is limited
and you don’t plan to produce thousands of units, you can leverage the cost saving
provided by the Off the Shelf single board computer such as RaspberryPi,
BeagleBone, Intel Edison and etc..
$9 CHIP computer or the $5 RaspberryPi Zero are perfect low cost platforms to
based your bootstrapped product.
Since, without the support of the chip manufacture, there is no way you can
achieve the insane discount that they got. Just remember that you need to be agile
and flexible in your design so that when they change their design or disappear, they
won’t take you down with them. You can stock up on these computers to last you
for a while, but that is also a lot of cash flow to tie up while waiting for your product
to sell.
23
To be agile and flexible you need to be able to switch quickly between differentTo be agile and flexible you need to be able to switch quickly between different
component vendors, sometimes this means re-laying out the PCB and write new
firmware to take advantage of the latest deal and integration. Just be careful that it
might turn into a logistical nightmare for your developers when it comes the time
for software updates.
24
There are so many microcontrollers and SOC out there, you can pretty much findThere are so many microcontrollers and SOC out there, you can pretty much find
one that has the right blend of features that you need. ST, 1000.
But what happen when you have a project that you can’t fine a perfect chip. For
example, you want to make your own Audio based IoT project.
25
Instead of 7 microphones, you’re signal processing scientist tells you that you needInstead of 7 microphones, you’re signal processing scientist tells you that you need
14 microphones. And these microphones needs to work in the ultrasonic range.
26
Because your IoT project will be tracking and counting bats.Because your IoT project will be tracking and counting bats.
27
A lot of bats.A lot of bats.
This is a quantify bats project that will be tracking and counting bats across the
globe. Since there are no perfect chip out there, it’s time to consider rolling your
own using the FPGA.
28
FPGA, or the Field Programmable Gate Array, allows you to create custom ICFPGA, or the Field Programmable Gate Array, allows you to create custom IC
without spending millions of dollars on making the chip. Inside the FPGA, there are
millions of logic gates that you can connect and group into block to perform any
function. Programming the FPGA is typically done via VHDL or Verilog.
29
The advantage of using the FPGA is.The advantage of using the FPGA is.
1. Extremely flexible, you can create almost anything.
2. It’s fast, it can run very fast or you can parallel multiple blocks together to
increase throughput.
3. Lots of I/O pins, and they are all configurable.
4. You can put pretty much everything you need inside the chip without routing
the signal outside.
The down side of having this much fun is.
1. It’s complex, each brand is different, you get the best utilization when you truly
understand their topology.
2. Long R&D time. Between simulation and testing, it takes a while to put a design
together.
3. Power hungry, having so many transistors on board, with each of them suck up a
bit of power can add up to some serious power consumption. Except some
special cases, most FPGA design is not suitable for battery powered operation.
4. Cost. You might be paying for a lot of resources that your project may not need.
30
Since this talk is about bootstrapping, let’s take an imaginary product to production.Since this talk is about bootstrapping, let’s take an imaginary product to production.
Meet project Squirrel.
31
I have this dog that loves to run at full tilt and then stops suddenly because sheI have this dog that loves to run at full tilt and then stops suddenly because she
smelled something interesting. It’s very difficult to walk her. Since she is walked by
different family members, I would like to know the frequency, time, location and
environment that she pulls the Squirrel maneuver. I hoped to create a better
training regiment with the data collected.
32
Right off the bat, due the lack of outdoor connectivity, Wifi, Zigbee and zwave areRight off the bat, due the lack of outdoor connectivity, Wifi, Zigbee and zwave are
out of the question. Cellular is also out, because no one in the family will charge
the collar, and paying for a cell plan for a dog collar is just plain silly. My family
members dislike the friction of high tech gadgets, so daily charging of the collar is
not an option.
That leaves me with primary cell or some form of energy harvesting solution. Since
this is going to be a low cost disposable dog collar, expensive energy harvesting
solution is also out. Now it’s a toss up between AAA, AA or CR2032 cell. Since my
power budget is limited, that pretty much reduce my connectivity option into BTLE
or some form of low power ISM frequency band radio such as LoRa.
33
In order to get the geo-position data, I’ll need a GPS, GSM or Wifi. Fortunately,In order to get the geo-position data, I’ll need a GPS, GSM or Wifi. Fortunately,
teenagers never leave the house without their phones. I can get all the positional
data I need from their smartphones. I just need to create an APP that records the
GPS data whenever it is triggered by the bluetooth dog collar.
34
I’m basically make a bluetooth trigger for a doggy selfie stick.I’m basically make a bluetooth trigger for a doggy selfie stick.
35
These are the functions that I need for project “Squirrel”, an accelerometer , a LED,These are the functions that I need for project “Squirrel”, an accelerometer , a LED,
and a acoustic clicker to train the dog. For initial prototype, I used the Light Blue
Bean, because it is very easy to use. It’s Arduino based IDE allows me to quickly
prototype the firmware and so I can focus on the APP design and analytics side of
the project.
36
Let’s said that project becomes a hit, all of sudden that I have an order for 1KLet’s said that project becomes a hit, all of sudden that I have an order for 1K
pieces. Now what do I do? The quantity is not worth the hassle to produce in
China. Since it’s the first run, I want to keep an eye on the production and make any
changes as needed.
At $30 a piece, the Light Blue Bean is too expensive for me to integrate into my
product, I need to look for other solutions.
37
Fortunately I have lots of choices from Nordic, ST, NXP, Atmel, Microchip, Silabs, TI,Fortunately I have lots of choices from Nordic, ST, NXP, Atmel, Microchip, Silabs, TI,
Cypress and host of other manufactures from China. Since my quantity is low and I
might need a lot of technical support, I ruled out the Chinese suppliers. Now it’s a
battle of chip features, dev kit support and IDE.
38
For argument sake, I picked the Cypress PRoC. Why? It is a Pre-certified modulesFor argument sake, I picked the Cypress PRoC. Why? It is a Pre-certified modules
with programmability and configurable hardware. What does that mean? It means
that it has a simple low power FPGA onboard for you to make your custom
hardware. There is enough horsepower left onboard for me to drive a LCD or
Epaper display.
Compared to the Light Blue Bean, I saved the cost and power draw of the Atmega
328 and the crystal oscillator. No FCC certification also means faster time to market,
it’s a good trade off.
39
Besides, it’s only 10mm x 10mm. It’s smaller than a penny. And that includes theBesides, it’s only 10mm x 10mm. It’s smaller than a penny. And that includes the
antenna. Priced at $3 for 10K units is not bad also.
40
Noticed that it has no pins, so how would you do any firmware development on this
module? Eval boards!! This is why you want to stick with a company that can give youmodule? Eval boards!! This is why you want to stick with a company that can give you
support.
41
But how do you perform timing analysis? Use the spare GPIO pins on your part to create
timing marker. Here I’m using a mixed signal oscilloscope to monitor a bunch of GPIO pins,timing marker. Here I’m using a mixed signal oscilloscope to monitor a bunch of GPIO pins,
from the width and spacing, I can tell how much time the CPU is spending in each section
of the code.
42
Once the firmware is roughly done, it’s time to analyze and optimize powerOnce the firmware is roughly done, it’s time to analyze and optimize power
consumption. Using a low current probe and a mixed signal oscilloscope, I
characterized the power consumption of different parts of the code and the
circuit. Based on this result, I decided that I can get by with a single CR2032 cell.
43
With the power source locked down, now I can move onto PCB design. Since, I’mWith the power source locked down, now I can move onto PCB design. Since, I’m
using a pre-certified bluetooth module, the PCB layout is trivial. In keeping with the
bootstrapping theme, I’m going use as many free or nearly free tools. There are
quite a few free PCB layout software out there, PCB artist, Eagle and a few
others. This is good time to pause and consider how the end product will look and
feel. Everything from the collar webbing to the enclosure needs to be designed as
one cohesive piece. This is also a good time to graduate from through hole
components and move onto surface mount SMT parts, doing so will allow further
miniaturization of the design.
To check for errors and manufacturability, Advanced PCB offers the FreeDFM that
checks directly from inside of PCB artist. FreeDFM will also process Gerber files
generated by other PCB design software.
44
Depending on your timeline and prototype quantities, take advantage of theDepending on your timeline and prototype quantities, take advantage of the
discount code provided by Advance PCB or use OSHPark. You can get you first
prototype spin done quite affordably. OSHpark charges $5 per square inch, you get
3 boards for the $5. Advanced circuit has $33 per board deal up to 60 sqaure
inches. Advanced also has a barebones deal with no solder mask. Since you’ll be
placing tiny parts, without a soldermask solder will bridge all over the board, so it is
not a good idea.
You’ll need to do a few spins on the PCB design. Because, your first prototype will
most likely have mistakes that you don’t want to fix 1000 times by hand. Talk to
your potential contracted manufacture (CM) about the manufacturability of your
board. Making their life easy means lower cost to you. This is also why it is a good
idea to have everything done locally. I often travel up to 100 miles to visit my CM to
check out their latest machines and get their advice.
45
Depending on your skills, SMT parts is not anymore difficult to hand assemble thanDepending on your skills, SMT parts is not anymore difficult to hand assemble than
through hole parts. Just get a good soldering iron, properly sized solder, a flux pen ,
nice pair of tweezer and a pair of magnifying glasses. My personal favorites are
Pace Heatwise, Mageyes and Viola Tweezers. You should have a good loupe to
examine the solder joints. Don’t forget to clean the flux off your board. Too often
the products come out of China failed due to ionized flux during ocean transit. If
you don’t feel confident soldering your own boards, you can always use Advanced
Assembly.
46
Now I have a working prototype in hand, I can finalize the enclosure design. This isNow I have a working prototype in hand, I can finalize the enclosure design. This is
when you need to have access to a CAD guy and a 3D printer. If you don’t know
anyone, check 3Dhubs, they keep a recommended list of local designers and
printers. If you require more exotic 3d prints than what 3Dhubs can provide, try
Shapeway.
If you want to tackle the enclosure design yourself, there are a quite a few free CAD
software options. You can use Sketchups, OpenSCAD, Autodesk 123D Design. Most
3D printers takes the STL file format that the CAD software generate. Don’t forget to
get a nice caliper.
47
Your should run your design files by Protomold’s DFM engine, their website is alsoYour should run your design files by Protomold’s DFM engine, their website is also
full of resources on design guidelines for injection molding. Just because 3D printer
can print the design, doesn’t mean you can afford the fancy injecting mold. The
snaps that you typically see on screwless enclosure are expensive to tool. Hide your
screws under labels or feet, it’s way cheaper than machining fancy slides in your
mold.
48
If you only need a few sets of enclosures for your mock up or MVP, you can cast theIf you only need a few sets of enclosures for your mock up or MVP, you can cast the
parts out of urethane. Get a high precision 3D printed part first, then create a
silicone molds from that perfect part. Smoothon has a ton of tutorials on youtube.
Your can pick up the molding material from your local art supply stores.
49
If all these are too overwhelming, you can hire freelance designers from Upwork,If all these are too overwhelming, you can hire freelance designers from Upwork,
freelancer, GrabCad and fiverr.
And now, Meet
50
“Squirrel” our imaginary IoT product. World’s first Dog collar that knows when your dog
pulls a “Crazy Ivan”. With two O-rings, it’s shockproof and weatherproof. Change thepulls a “Crazy Ivan”. With two O-rings, it’s shockproof and weatherproof. Change the
firmware and you can turn it into a child alarm, key locator or a fitness tracker.
51

More Related Content

Viewers also liked

120'x 30' School-Model
120'x 30' School-Model120'x 30' School-Model
120'x 30' School-ModelAung Lwin
 
Maze gaby hinojosa
Maze gaby hinojosaMaze gaby hinojosa
Maze gaby hinojosaa1440
 
Anat. externa humana 2012
Anat. externa humana 2012Anat. externa humana 2012
Anat. externa humana 2012iholiday
 
Facilitator Neville Botha
Facilitator Neville BothaFacilitator Neville Botha
Facilitator Neville BothaNeville Botha
 
Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...
Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...
Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...Rotary Clube Vizela
 
Activiti 2
Activiti 2Activiti 2
Activiti 2plpaa
 
Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015
Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015
Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015Rotary Clube Vizela
 
Recommendation letter NGOC Hao Mai
Recommendation letter NGOC Hao MaiRecommendation letter NGOC Hao Mai
Recommendation letter NGOC Hao MaiHao Mai
 
Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014
Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014
Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014Rotary Clube Vizela
 

Viewers also liked (18)

120'x 30' School-Model
120'x 30' School-Model120'x 30' School-Model
120'x 30' School-Model
 
Mapa
MapaMapa
Mapa
 
Maze gaby hinojosa
Maze gaby hinojosaMaze gaby hinojosa
Maze gaby hinojosa
 
Shelie_VBJ_NOV14_0
Shelie_VBJ_NOV14_0Shelie_VBJ_NOV14_0
Shelie_VBJ_NOV14_0
 
458_2
458_2458_2
458_2
 
Anat. externa humana 2012
Anat. externa humana 2012Anat. externa humana 2012
Anat. externa humana 2012
 
Facilitator Neville Botha
Facilitator Neville BothaFacilitator Neville Botha
Facilitator Neville Botha
 
Horario
HorarioHorario
Horario
 
Assignment 2
Assignment 2Assignment 2
Assignment 2
 
Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...
Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...
Reunião nº 16 – Preparação da Visita Oficial da C.ª Governadora Teresinha Fra...
 
Doc 0001
Doc 0001Doc 0001
Doc 0001
 
7 ano 3 bimestre 1
7 ano 3 bimestre 17 ano 3 bimestre 1
7 ano 3 bimestre 1
 
8
88
8
 
4x4
4x44x4
4x4
 
Activiti 2
Activiti 2Activiti 2
Activiti 2
 
Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015
Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015
Reunião nº 28 - Trabalho e Companheirismo - dia 07-01-2015
 
Recommendation letter NGOC Hao Mai
Recommendation letter NGOC Hao MaiRecommendation letter NGOC Hao Mai
Recommendation letter NGOC Hao Mai
 
Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014
Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014
Reunião nº 13 - Entrega dos Prémios aos Melhores Alunos - dia 26-09-2014
 

More from WithTheBest

Riccardo Vittoria
Riccardo VittoriaRiccardo Vittoria
Riccardo VittoriaWithTheBest
 
Recreating history in virtual reality
Recreating history in virtual realityRecreating history in virtual reality
Recreating history in virtual realityWithTheBest
 
Engaging and sharing your VR experience
Engaging and sharing your VR experienceEngaging and sharing your VR experience
Engaging and sharing your VR experienceWithTheBest
 
How to survive the early days of VR as an Indie Studio
How to survive the early days of VR as an Indie StudioHow to survive the early days of VR as an Indie Studio
How to survive the early days of VR as an Indie StudioWithTheBest
 
Mixed reality 101
Mixed reality 101 Mixed reality 101
Mixed reality 101 WithTheBest
 
Unlocking Human Potential with Immersive Technology
Unlocking Human Potential with Immersive TechnologyUnlocking Human Potential with Immersive Technology
Unlocking Human Potential with Immersive TechnologyWithTheBest
 
Building your own video devices
Building your own video devicesBuilding your own video devices
Building your own video devicesWithTheBest
 
Maximizing performance of 3 d user generated assets in unity
Maximizing performance of 3 d user generated assets in unityMaximizing performance of 3 d user generated assets in unity
Maximizing performance of 3 d user generated assets in unityWithTheBest
 
Haptics & amp; null space vr
Haptics & amp; null space vrHaptics & amp; null space vr
Haptics & amp; null space vrWithTheBest
 
How we use vr to break the laws of physics
How we use vr to break the laws of physicsHow we use vr to break the laws of physics
How we use vr to break the laws of physicsWithTheBest
 
The Virtual Self
The Virtual Self The Virtual Self
The Virtual Self WithTheBest
 
You dont have to be mad to do VR and AR ... but it helps
You dont have to be mad to do VR and AR ... but it helpsYou dont have to be mad to do VR and AR ... but it helps
You dont have to be mad to do VR and AR ... but it helpsWithTheBest
 
Omnivirt overview
Omnivirt overviewOmnivirt overview
Omnivirt overviewWithTheBest
 
VR Interactions - Jason Jerald
VR Interactions - Jason JeraldVR Interactions - Jason Jerald
VR Interactions - Jason JeraldWithTheBest
 
Japheth Funding your startup - dating the devil
Japheth  Funding your startup - dating the devilJapheth  Funding your startup - dating the devil
Japheth Funding your startup - dating the devilWithTheBest
 
Transported vr the virtual reality platform for real estate
Transported vr the virtual reality platform for real estateTransported vr the virtual reality platform for real estate
Transported vr the virtual reality platform for real estateWithTheBest
 
Measuring Behavior in VR - Rob Merki Cognitive VR
Measuring Behavior in VR - Rob Merki Cognitive VRMeasuring Behavior in VR - Rob Merki Cognitive VR
Measuring Behavior in VR - Rob Merki Cognitive VRWithTheBest
 
Global demand for Mixed Realty (VR/AR) content is about to explode.
Global demand for Mixed Realty (VR/AR) content is about to explode. Global demand for Mixed Realty (VR/AR) content is about to explode.
Global demand for Mixed Realty (VR/AR) content is about to explode. WithTheBest
 
VR, a new technology over 40,000 years old
VR, a new technology over 40,000 years oldVR, a new technology over 40,000 years old
VR, a new technology over 40,000 years oldWithTheBest
 

More from WithTheBest (20)

Riccardo Vittoria
Riccardo VittoriaRiccardo Vittoria
Riccardo Vittoria
 
Recreating history in virtual reality
Recreating history in virtual realityRecreating history in virtual reality
Recreating history in virtual reality
 
Engaging and sharing your VR experience
Engaging and sharing your VR experienceEngaging and sharing your VR experience
Engaging and sharing your VR experience
 
How to survive the early days of VR as an Indie Studio
How to survive the early days of VR as an Indie StudioHow to survive the early days of VR as an Indie Studio
How to survive the early days of VR as an Indie Studio
 
Mixed reality 101
Mixed reality 101 Mixed reality 101
Mixed reality 101
 
Unlocking Human Potential with Immersive Technology
Unlocking Human Potential with Immersive TechnologyUnlocking Human Potential with Immersive Technology
Unlocking Human Potential with Immersive Technology
 
Building your own video devices
Building your own video devicesBuilding your own video devices
Building your own video devices
 
Maximizing performance of 3 d user generated assets in unity
Maximizing performance of 3 d user generated assets in unityMaximizing performance of 3 d user generated assets in unity
Maximizing performance of 3 d user generated assets in unity
 
Wizdish rovr
Wizdish rovrWizdish rovr
Wizdish rovr
 
Haptics & amp; null space vr
Haptics & amp; null space vrHaptics & amp; null space vr
Haptics & amp; null space vr
 
How we use vr to break the laws of physics
How we use vr to break the laws of physicsHow we use vr to break the laws of physics
How we use vr to break the laws of physics
 
The Virtual Self
The Virtual Self The Virtual Self
The Virtual Self
 
You dont have to be mad to do VR and AR ... but it helps
You dont have to be mad to do VR and AR ... but it helpsYou dont have to be mad to do VR and AR ... but it helps
You dont have to be mad to do VR and AR ... but it helps
 
Omnivirt overview
Omnivirt overviewOmnivirt overview
Omnivirt overview
 
VR Interactions - Jason Jerald
VR Interactions - Jason JeraldVR Interactions - Jason Jerald
VR Interactions - Jason Jerald
 
Japheth Funding your startup - dating the devil
Japheth  Funding your startup - dating the devilJapheth  Funding your startup - dating the devil
Japheth Funding your startup - dating the devil
 
Transported vr the virtual reality platform for real estate
Transported vr the virtual reality platform for real estateTransported vr the virtual reality platform for real estate
Transported vr the virtual reality platform for real estate
 
Measuring Behavior in VR - Rob Merki Cognitive VR
Measuring Behavior in VR - Rob Merki Cognitive VRMeasuring Behavior in VR - Rob Merki Cognitive VR
Measuring Behavior in VR - Rob Merki Cognitive VR
 
Global demand for Mixed Realty (VR/AR) content is about to explode.
Global demand for Mixed Realty (VR/AR) content is about to explode. Global demand for Mixed Realty (VR/AR) content is about to explode.
Global demand for Mixed Realty (VR/AR) content is about to explode.
 
VR, a new technology over 40,000 years old
VR, a new technology over 40,000 years oldVR, a new technology over 40,000 years old
VR, a new technology over 40,000 years old
 

Recently uploaded

Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja Nehwal
 
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...Pooja Nehwal
 
CALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcR
CALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcRCALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcR
CALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcRdollysharma2066
 
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...Call Girls in Nagpur High Profile
 
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...amitlee9823
 
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...motiram463
 
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...Call Girls in Nagpur High Profile
 
NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...
NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...
NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...Amil baba
 
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...amitlee9823
 
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Shikrapur Call Girls Most Awaited Fun 6297143586 High Profiles young Beautie...
Shikrapur Call Girls Most Awaited Fun  6297143586 High Profiles young Beautie...Shikrapur Call Girls Most Awaited Fun  6297143586 High Profiles young Beautie...
Shikrapur Call Girls Most Awaited Fun 6297143586 High Profiles young Beautie...tanu pandey
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证ehyxf
 

Recently uploaded (20)

Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Call Girls Chickpet ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
 
CALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcR
CALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcRCALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcR
CALL GIRLS IN Saket 83778-77756 | Escort Service In DELHI NcR
 
CHEAP Call Girls in Mayapuri (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Mayapuri  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Mayapuri  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Mayapuri (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
 
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
 
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
 
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
 
NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...
NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...
NO1 Verified Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi A...
 
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
 
CHEAP Call Girls in Hauz Quazi (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Hauz Quazi  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Hauz Quazi  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Hauz Quazi (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
 
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Shikrapur Call Girls Most Awaited Fun 6297143586 High Profiles young Beautie...
Shikrapur Call Girls Most Awaited Fun  6297143586 High Profiles young Beautie...Shikrapur Call Girls Most Awaited Fun  6297143586 High Profiles young Beautie...
Shikrapur Call Girls Most Awaited Fun 6297143586 High Profiles young Beautie...
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
 

John Yeh - Beyond Arduino, how to bootstrap your IoT project?

  • 1. Hi everyone My name is John Yeh. Welcome to the webinar on “Bootstrapping your IoT product”.Welcome to the webinar on “Bootstrapping your IoT product”. 1
  • 2. By now we all know that an IoT product is a complex system of devices and services. 2
  • 3. For this talk I’ll be focusing on just the Device and Connectivity layer. 3
  • 4. An IoT device consists of sensors, actuators, power source, connectivity and processor. 4
  • 5. Power and Connectivity are probably the most important factors. Without connectivity your “Internet of Things” is just a “Thing”. But without power, youWithout connectivity your “Internet of Things” is just a “Thing”. But without power, you have a “Dead Thing” How will the device connect to the world? What will power the device? How long will it stay powered on set a batteries, can make or break a product. 5
  • 6. Will the power source be a secondary cell or primary cell? 6
  • 7. The best example of a primary cell powered device is the smoke detector, a single 9V battery typically lasts a year or more.battery typically lasts a year or more. 7
  • 8. Car keyfob and ezpass tags are two more examples of products that’s lasts for years on a single set of primary cells. I wished every device that we have in our lives can last this longsingle set of primary cells. I wished every device that we have in our lives can last this long on a set of batteries. 8
  • 9. Unfortunately most devices in our lives, can’t operate by sipping on just fewUnfortunately most devices in our lives, can’t operate by sipping on just few Coulombs of electrons at a time. Most portable devices guzzles electrons, it takes a lot of electrons to give us eye candy on the screens or communicate to the world. 9
  • 10. For these devices, secondary cells or rechargeable cells provide the energyFor these devices, secondary cells or rechargeable cells provide the energy required. Secondary cells range from lead acid, NiMH, Lithium Ion, to Lithium polymer. These secondary cells, power most portable electronics devices that we interact with in our daily lives. Although manufactures claimed 500-1000 charge cycle, one typically get around 500 cycles. What to do with the devices when the batteries expired is a tough design problem. 10
  • 11. Not taking power consumption seriously into the early stages of the design process,Not taking power consumption seriously into the early stages of the design process, you run the risk of redesign or worst yet, your product sits in a drawer full of dead electronic devices because it is too inconvenient keep the device charged. 11
  • 12. Power consumption for an IoT device is split up between the sensors, actuators,Power consumption for an IoT device is split up between the sensors, actuators, processing unit and communication system. Aggressively going to sleep and check infrequently allow the smoke detector to last a year on a 9V battery, about (14mW per day or 5W per year). Add a Wifi radio, such as the Nest Protect, now we need six AA Lithium cells (74mW per day or 27W per year). 12
  • 13. In comparison, a Nexus 5X that requires daily charging and uses up 10W per day orIn comparison, a Nexus 5X that requires daily charging and uses up 10W per day or 3646W per year (3.7V x 2700mAh x 365 ). It’s not bad, because if you put it in perspective. A typical hair dryer draw around 1900W. A microwave draws 1100W. That is in one hour not a year. 13
  • 14. While running without any sensors, an Arduino Uno draws around 45mA or 1971WWhile running without any sensors, an Arduino Uno draws around 45mA or 1971W per year. I guess that is not going to run on a 9V battery or a set of AA. But actively manage the sleep mode, the Arduino Pro Mini can sleep for an entire year with at 23uA or 0.66W per year of power. If we were to design a smoke detector with an Arudino Pro Mini, that leaves us with most of the 5W from the 9V battery to sense and chirp. 14
  • 15. This brings up an important technique of power conservation. Run fast, talk quicklyThis brings up an important technique of power conservation. Run fast, talk quickly and sleep a lot. In order to understand your power requirement, you can get a rough number by running simulation. But to get a true measurement of how much power your system draws, you’ll need an oscilloscope with a low current probe. 15
  • 16. Typically current measurement of a circuit is done with a clamp on current probe. Unfortunately these probes don’t have enough sensitivity for IoT measurements that downUnfortunately these probes don’t have enough sensitivity for IoT measurements that down in the uA or nA range. 16
  • 17. In order to get an accurate current measurement for the IoT device, you need to insert the current probe inline with the power supply. This is the Keysight current probe, it’s aboutcurrent probe inline with the power supply. This is the Keysight current probe, it’s about $3000. It’s out of the price range for most bootstrapping startups. 17
  • 18. Fortunately, there is a more affordable option. Cmicrotek has a $500 solution. It looks good on paper, I’ll be evaluating it in the next few weeks.good on paper, I’ll be evaluating it in the next few weeks. 18
  • 19. If $500 is too rich for you budget, you can try the $90 uCurrent. Due it’s internal circuit topology, it does not play well with oscilloscopes. You can only use it with a multimeter,topology, it does not play well with oscilloscopes. You can only use it with a multimeter, which means your sampling rate is about 3-10 times a second instead of 100’s of millions times a second with an oscilloscope. You’ll need to stop your code at various stages and take static measurements. Then use the GPIO pins as markers inside of your code to get a time measurement on each section of your code. Combined the two, you can get an estimate on the power consumption. 19
  • 20. Using an Arduino, you are limited on how much tweaking you can do with theUsing an Arduino, you are limited on how much tweaking you can do with the firmware, this is a good time to look into the IDE supplied by the actual chip manufacture of your Arduino. Or you can bite the bullet and find the best embedded controller that has the features to suit your requirement. 20
  • 21. Nearly every major microcontroller manufacture has an eval board that leverage theNearly every major microcontroller manufacture has an eval board that leverage the Arduino shield pinout to ease you into their ecosystem. The technology behind these chips runs the gamut from 8051, PIC, ARM to X86 and anything in between. 21
  • 22. These IC manufactures typically provide an IDE that runs a crippled version ofThese IC manufactures typically provide an IDE that runs a crippled version of compiler from IAR or Keil. These compilers are either full version with time trial or code size limited. If your budget does not allow for a full version of IAR or Keil and your code is larger than the crippled version, IC manufacture typically provide a GNU option. These are a bit more difficult to use and the generated code are a bit less optimized. But hey, it’s free. Toolchain support is also where a larger IC houses differ from their Chinese competitors. It’s expensive to keep a bunch of FAEs to support the users and they have the budget to do so. Embedded programming is a finicky art, breaks and watches in the flow will affect the timing of your code. Again, using a logic analyzer to trigger on the GPIO lines for debugging will help you visualize and optimize your code, with minimal impact to the timing. 22
  • 23. If your IoT product can be wall powered or your design calls for more processingIf your IoT product can be wall powered or your design calls for more processing power, this is when you can start designing a device with an Operating System using the System On Chip, SOC. For industrial applications, there is a whole world out there from embedded Windows computers running on PC104 to small System On Module devices running some form of Linux or RTOS. But if your budget is limited and you don’t plan to produce thousands of units, you can leverage the cost saving provided by the Off the Shelf single board computer such as RaspberryPi, BeagleBone, Intel Edison and etc.. $9 CHIP computer or the $5 RaspberryPi Zero are perfect low cost platforms to based your bootstrapped product. Since, without the support of the chip manufacture, there is no way you can achieve the insane discount that they got. Just remember that you need to be agile and flexible in your design so that when they change their design or disappear, they won’t take you down with them. You can stock up on these computers to last you for a while, but that is also a lot of cash flow to tie up while waiting for your product to sell. 23
  • 24. To be agile and flexible you need to be able to switch quickly between differentTo be agile and flexible you need to be able to switch quickly between different component vendors, sometimes this means re-laying out the PCB and write new firmware to take advantage of the latest deal and integration. Just be careful that it might turn into a logistical nightmare for your developers when it comes the time for software updates. 24
  • 25. There are so many microcontrollers and SOC out there, you can pretty much findThere are so many microcontrollers and SOC out there, you can pretty much find one that has the right blend of features that you need. ST, 1000. But what happen when you have a project that you can’t fine a perfect chip. For example, you want to make your own Audio based IoT project. 25
  • 26. Instead of 7 microphones, you’re signal processing scientist tells you that you needInstead of 7 microphones, you’re signal processing scientist tells you that you need 14 microphones. And these microphones needs to work in the ultrasonic range. 26
  • 27. Because your IoT project will be tracking and counting bats.Because your IoT project will be tracking and counting bats. 27
  • 28. A lot of bats.A lot of bats. This is a quantify bats project that will be tracking and counting bats across the globe. Since there are no perfect chip out there, it’s time to consider rolling your own using the FPGA. 28
  • 29. FPGA, or the Field Programmable Gate Array, allows you to create custom ICFPGA, or the Field Programmable Gate Array, allows you to create custom IC without spending millions of dollars on making the chip. Inside the FPGA, there are millions of logic gates that you can connect and group into block to perform any function. Programming the FPGA is typically done via VHDL or Verilog. 29
  • 30. The advantage of using the FPGA is.The advantage of using the FPGA is. 1. Extremely flexible, you can create almost anything. 2. It’s fast, it can run very fast or you can parallel multiple blocks together to increase throughput. 3. Lots of I/O pins, and they are all configurable. 4. You can put pretty much everything you need inside the chip without routing the signal outside. The down side of having this much fun is. 1. It’s complex, each brand is different, you get the best utilization when you truly understand their topology. 2. Long R&D time. Between simulation and testing, it takes a while to put a design together. 3. Power hungry, having so many transistors on board, with each of them suck up a bit of power can add up to some serious power consumption. Except some special cases, most FPGA design is not suitable for battery powered operation. 4. Cost. You might be paying for a lot of resources that your project may not need. 30
  • 31. Since this talk is about bootstrapping, let’s take an imaginary product to production.Since this talk is about bootstrapping, let’s take an imaginary product to production. Meet project Squirrel. 31
  • 32. I have this dog that loves to run at full tilt and then stops suddenly because sheI have this dog that loves to run at full tilt and then stops suddenly because she smelled something interesting. It’s very difficult to walk her. Since she is walked by different family members, I would like to know the frequency, time, location and environment that she pulls the Squirrel maneuver. I hoped to create a better training regiment with the data collected. 32
  • 33. Right off the bat, due the lack of outdoor connectivity, Wifi, Zigbee and zwave areRight off the bat, due the lack of outdoor connectivity, Wifi, Zigbee and zwave are out of the question. Cellular is also out, because no one in the family will charge the collar, and paying for a cell plan for a dog collar is just plain silly. My family members dislike the friction of high tech gadgets, so daily charging of the collar is not an option. That leaves me with primary cell or some form of energy harvesting solution. Since this is going to be a low cost disposable dog collar, expensive energy harvesting solution is also out. Now it’s a toss up between AAA, AA or CR2032 cell. Since my power budget is limited, that pretty much reduce my connectivity option into BTLE or some form of low power ISM frequency band radio such as LoRa. 33
  • 34. In order to get the geo-position data, I’ll need a GPS, GSM or Wifi. Fortunately,In order to get the geo-position data, I’ll need a GPS, GSM or Wifi. Fortunately, teenagers never leave the house without their phones. I can get all the positional data I need from their smartphones. I just need to create an APP that records the GPS data whenever it is triggered by the bluetooth dog collar. 34
  • 35. I’m basically make a bluetooth trigger for a doggy selfie stick.I’m basically make a bluetooth trigger for a doggy selfie stick. 35
  • 36. These are the functions that I need for project “Squirrel”, an accelerometer , a LED,These are the functions that I need for project “Squirrel”, an accelerometer , a LED, and a acoustic clicker to train the dog. For initial prototype, I used the Light Blue Bean, because it is very easy to use. It’s Arduino based IDE allows me to quickly prototype the firmware and so I can focus on the APP design and analytics side of the project. 36
  • 37. Let’s said that project becomes a hit, all of sudden that I have an order for 1KLet’s said that project becomes a hit, all of sudden that I have an order for 1K pieces. Now what do I do? The quantity is not worth the hassle to produce in China. Since it’s the first run, I want to keep an eye on the production and make any changes as needed. At $30 a piece, the Light Blue Bean is too expensive for me to integrate into my product, I need to look for other solutions. 37
  • 38. Fortunately I have lots of choices from Nordic, ST, NXP, Atmel, Microchip, Silabs, TI,Fortunately I have lots of choices from Nordic, ST, NXP, Atmel, Microchip, Silabs, TI, Cypress and host of other manufactures from China. Since my quantity is low and I might need a lot of technical support, I ruled out the Chinese suppliers. Now it’s a battle of chip features, dev kit support and IDE. 38
  • 39. For argument sake, I picked the Cypress PRoC. Why? It is a Pre-certified modulesFor argument sake, I picked the Cypress PRoC. Why? It is a Pre-certified modules with programmability and configurable hardware. What does that mean? It means that it has a simple low power FPGA onboard for you to make your custom hardware. There is enough horsepower left onboard for me to drive a LCD or Epaper display. Compared to the Light Blue Bean, I saved the cost and power draw of the Atmega 328 and the crystal oscillator. No FCC certification also means faster time to market, it’s a good trade off. 39
  • 40. Besides, it’s only 10mm x 10mm. It’s smaller than a penny. And that includes theBesides, it’s only 10mm x 10mm. It’s smaller than a penny. And that includes the antenna. Priced at $3 for 10K units is not bad also. 40
  • 41. Noticed that it has no pins, so how would you do any firmware development on this module? Eval boards!! This is why you want to stick with a company that can give youmodule? Eval boards!! This is why you want to stick with a company that can give you support. 41
  • 42. But how do you perform timing analysis? Use the spare GPIO pins on your part to create timing marker. Here I’m using a mixed signal oscilloscope to monitor a bunch of GPIO pins,timing marker. Here I’m using a mixed signal oscilloscope to monitor a bunch of GPIO pins, from the width and spacing, I can tell how much time the CPU is spending in each section of the code. 42
  • 43. Once the firmware is roughly done, it’s time to analyze and optimize powerOnce the firmware is roughly done, it’s time to analyze and optimize power consumption. Using a low current probe and a mixed signal oscilloscope, I characterized the power consumption of different parts of the code and the circuit. Based on this result, I decided that I can get by with a single CR2032 cell. 43
  • 44. With the power source locked down, now I can move onto PCB design. Since, I’mWith the power source locked down, now I can move onto PCB design. Since, I’m using a pre-certified bluetooth module, the PCB layout is trivial. In keeping with the bootstrapping theme, I’m going use as many free or nearly free tools. There are quite a few free PCB layout software out there, PCB artist, Eagle and a few others. This is good time to pause and consider how the end product will look and feel. Everything from the collar webbing to the enclosure needs to be designed as one cohesive piece. This is also a good time to graduate from through hole components and move onto surface mount SMT parts, doing so will allow further miniaturization of the design. To check for errors and manufacturability, Advanced PCB offers the FreeDFM that checks directly from inside of PCB artist. FreeDFM will also process Gerber files generated by other PCB design software. 44
  • 45. Depending on your timeline and prototype quantities, take advantage of theDepending on your timeline and prototype quantities, take advantage of the discount code provided by Advance PCB or use OSHPark. You can get you first prototype spin done quite affordably. OSHpark charges $5 per square inch, you get 3 boards for the $5. Advanced circuit has $33 per board deal up to 60 sqaure inches. Advanced also has a barebones deal with no solder mask. Since you’ll be placing tiny parts, without a soldermask solder will bridge all over the board, so it is not a good idea. You’ll need to do a few spins on the PCB design. Because, your first prototype will most likely have mistakes that you don’t want to fix 1000 times by hand. Talk to your potential contracted manufacture (CM) about the manufacturability of your board. Making their life easy means lower cost to you. This is also why it is a good idea to have everything done locally. I often travel up to 100 miles to visit my CM to check out their latest machines and get their advice. 45
  • 46. Depending on your skills, SMT parts is not anymore difficult to hand assemble thanDepending on your skills, SMT parts is not anymore difficult to hand assemble than through hole parts. Just get a good soldering iron, properly sized solder, a flux pen , nice pair of tweezer and a pair of magnifying glasses. My personal favorites are Pace Heatwise, Mageyes and Viola Tweezers. You should have a good loupe to examine the solder joints. Don’t forget to clean the flux off your board. Too often the products come out of China failed due to ionized flux during ocean transit. If you don’t feel confident soldering your own boards, you can always use Advanced Assembly. 46
  • 47. Now I have a working prototype in hand, I can finalize the enclosure design. This isNow I have a working prototype in hand, I can finalize the enclosure design. This is when you need to have access to a CAD guy and a 3D printer. If you don’t know anyone, check 3Dhubs, they keep a recommended list of local designers and printers. If you require more exotic 3d prints than what 3Dhubs can provide, try Shapeway. If you want to tackle the enclosure design yourself, there are a quite a few free CAD software options. You can use Sketchups, OpenSCAD, Autodesk 123D Design. Most 3D printers takes the STL file format that the CAD software generate. Don’t forget to get a nice caliper. 47
  • 48. Your should run your design files by Protomold’s DFM engine, their website is alsoYour should run your design files by Protomold’s DFM engine, their website is also full of resources on design guidelines for injection molding. Just because 3D printer can print the design, doesn’t mean you can afford the fancy injecting mold. The snaps that you typically see on screwless enclosure are expensive to tool. Hide your screws under labels or feet, it’s way cheaper than machining fancy slides in your mold. 48
  • 49. If you only need a few sets of enclosures for your mock up or MVP, you can cast theIf you only need a few sets of enclosures for your mock up or MVP, you can cast the parts out of urethane. Get a high precision 3D printed part first, then create a silicone molds from that perfect part. Smoothon has a ton of tutorials on youtube. Your can pick up the molding material from your local art supply stores. 49
  • 50. If all these are too overwhelming, you can hire freelance designers from Upwork,If all these are too overwhelming, you can hire freelance designers from Upwork, freelancer, GrabCad and fiverr. And now, Meet 50
  • 51. “Squirrel” our imaginary IoT product. World’s first Dog collar that knows when your dog pulls a “Crazy Ivan”. With two O-rings, it’s shockproof and weatherproof. Change thepulls a “Crazy Ivan”. With two O-rings, it’s shockproof and weatherproof. Change the firmware and you can turn it into a child alarm, key locator or a fitness tracker. 51