Around the world in 80 Microamps: ESP32 and LoRa for low-power IoT – Christopher Biggs

- Promise of IOT- Control everything
- Sensors everywhere
- Reduce cognitive load
 
- Problem- Computers everywhere = wires everywhere
- Can’t be done every time
- But em if you got em
- eg Power over ethernet, Ethernet over power, Ethernet over coax
- Wifi is great for connections. But what about power?
 
- Batteries are bad- Lead acid – obsolete just about everywhere
- Single-use dry cells – leak
- Nickel Metal-hydride – Some stuff
- Lithium – Everything else
- Sample battery- Chap-stick battery = 2 Amp/hours
- 3.7 volts
- Labels on batteries often lie – you need to always verify
- Energy capacity is quoted for 20h discharge, not linear relationship
 
- But they are geting better due to phones, scooters, drones pushing
 
- Off the shelf solutions for packs- Smart ones may turn themselves off if draw very low
- Cell plus simple system works
- Cell with “Battery Managmnet system” is a bit more complex
- Solar panels are useless, needs to be a4, a4, a5 size at least
- Linux systems too much draw for non-wired sensors, need to be used as hubs
 
- Computers can spend most of time asleep- Config one or more wake-interupts
- Arduino deep sleep – Sleep consumption as low as 6 micro amps. ( 38 years with Chapstick battery)
- Watch out for stock voltage regulators (eats 10 mA)
 
- ESP 8266 Sleep modes- Several levels off sleep modes
- Wake up every 5 minutes = 1 week battery life
 
- ESP 32- Sleepier modes
- Complex sleep patterns.
- Ultra-low coprocessor- 4 register, 10 instructions, 16-bit, special slow memory
- Can be configed to wake up at intervals
- Can go back to sleep or wake the main cores
 
- ULP in practice- Write code, load into the ULP processor
- Enough code to decide to go back to sleep or wake up main processes
 
 
- Aim for efficiency- Sleep as much as possible
- Use interrupts not polling where possible
 
- Nasty Surprises- Simple resistors ladders leak power
- Linear regulators leak power
- Poor antennas cost watts
- Beware: USB programming bridges that are always on
- Almost all the off-the-shelf IoT boards are no good for permanent installation
 
- Solutions- Turn of everything you are not using
- radio turn off when not in use, receiver turn it on now and then. Do store-and-forward
- slow down the cpu, turn off bluetooth
- Reduce brightness of lights
- BE careful about cutting out safety features
 
- Case Study – Smart water meter in multi-tenant building- Existing meter has a physical rotating dial, can count rotations
- In cellar with no power
- Create own- ESP-32
- Wifi for setup or maint
- LoRA for comms every 15 minutes
- ULP monitors 4 sensors
- ULP wakes CPU after number of elasped minutes and/or pulse
- Transmits to Linux-based hub covers building
- 150mA WiFi
- 100mA over LoRA
- 50mA when idle with radio on
- 40mA when idle with radio off
- 80uA in deep sleep
- Average under 1mA , lifetime = 1-5 years
 
 
- Recap- Wires are hard
- Measure and understand usage
- The basics off deep-sleep
- ESP32 Ultra-low-Power co-processor
- Design your own battery-friendly systems (see Arts Miniconf presentation)
- Project and monitor your battery lifetime
- Website
 
Deep Learning, Not Deep Creepy – Jack Moffitt

- What is machine learning- Make decisions based on statistics
 
- How is deep learning different?- Many layers of neurons each learning more sophisticated representations of features in the data
- Transfer learning – reuse N-network for similar task where less training data
- Generative Adversarial networks
 
- The dark side of deep learning- Works better with more data. Incentive for companies to get a huge amount of data
- Computationally very expensive – Creates incentive to move things to large clouds
- Inaccessible to smaller players
- Hard to debug, black boxes.
- Amplify biases in training data, somemays to fix but not generally fixable
- Data may be low quality
 
- Machine learning @mozilla- Deepspeech and common voice
- Deepspeech – state-of-art speech detection- Existing solutions owned by big companies. Costs $ and in cloud
- Opening up models and train data will allow innovation
- Based on baidu’s deep speech paper
- pre-trained models for english
- runs real-time on mobile
- word error rate of 6.48% on librivox
- streaming support
 
- Common voice- Crowd source voice data for new applications
- 20 languages launched
- 1800 hours collected so far
 
- Deepproof – spelling and grammar checker- Existing one is basically a keylogger ( Grammarly )
- Needs to be small enough to run on device
- Learn by example, rather than few rules- Less language-specific tuning
- More scaleable
 
- Local interface to avoid sending private text to several
- 12 million 300-character chunks from wikipedia
- Inject plausible mistakes
- Real-life data
- Maybe improve with federated learning without disclosing text
 
- Lpcnet- lots of test-to-speech are end-to-end
- a separate network converts spectrograms to audio
- GRiffin-Lim sounds bad
- WaveNet / WaveRNN needs 10s GFLOPS
- needs something for efficient for on-device
- Currently 1.5-6 GFLOPS
- real-time on mobile
- Works okay
- Other applications- Speech compression
- noise compression
 
 
 
- Questions:- Does the audio slow-down work on non-speech? Not really
- How do you deal with region variations of speech and grammar – Common voice is collecting
 
