owned this note
owned this note
Published
Linked with GitHub
# Disaster Radio Strategic Plan - 2019
## Table of Contents:
* [Introduction](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Intro)
* [Project Status](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Project-Status)
* [Current Funding Proposals](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Current-Funding-Proposals)
* [Sudo Mesh](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Sudo-Mesh)
* [APC](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Association-for-Progressive-Communications)
* [Meeting Minutes](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Meeting-Minutes)
* [2019-09-17](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Meeting-Sep-17-2019)
* [2019-08-14]()
## Intro
[disaster.radio](https://disaster.radio) is a system of small off-grid solar+battery powered nodes that communicate with each other using very low-bandwidth, yet long-range radio signals in a mesh network. Each node also acts as a WiFi access point and local web server, which allows the disaster.radio GUI to be accessed using any wifi-enabled device capable of running a web browser.
Apps such as chat and maps are served up as web apps from a local microSD card, and messages such as text chat or map points of interest are transmitted across the mesh network. In other words, all nodes contain identical copies of relatively large datasets (such as maps) and it is possible to collaborate on these datasets - for example, by commenting and editing them using the very low bandwidth available by transmitting only the differences for each change rather than whole datasets.
## Project Status
### Where we're at (most recent prototype)
#### Hardware
* Microcontroller: ESP8266
* MicroSD card adapter: Ad-hoc soldered on after the fact
* LoRa: Single SX1276 module
* Solar panel: 2W epoxy panel
* Case: 3D printed "box" design
* Battery: Li-ion 18650 cell
* Wifi antenna: Improvised PCB panel antenna
* LoRa antenna: Standard SMA omni-directional 915 MHz antenna
* Solar charge controller: Some cheap chinese module
The hardware had several issues:
* The ESP8266 was struggling to serve up the map fast enough and could potentially miss an incoming message since the pins used to talk to the microSD card were also used to to talk to the LoRa module. Solution: Switch to the new ESP32 (new version of ESP8266) which has multiple pins for talking to both microSD and LoRa at the same time, is faster and has two processing cores.
* The microSD card adapter was not part of the PCB layout so we had to solder it on ourselves.
* We used a pre-made LoRa module which is much more expensive than buying just the chip and support components ourselves and sticking them directly on the PCB (but pricing may have changed now).
* We used a single LoRa module and meshing over a single radio is really terrible for a bunch of reasons so we should really have two.
* We used a Li-ion battery which can catch fire. It might be better to use a LiFePO4 battery which is similar but more expensive and can't catch fire.
* We used an epoxy-embedded solar panel and they can have issues where the epoxy turns opaque from UV over time. It would be better to have a glass panel.
* The 3D printed case had problems with over-heating. The battery should not be charged when it is above 45 C or it will quickly degrade. The solar panel also loses efficiency at high temperature. We need to design a case where the battery is kept in the shade of the solar panel but thermally disengaged, with airflow permitted above and below the battery. Additionally we could use the PCB itself as an extra heat shield since the copper should reflect heat fairly well.
#### Software
On the ESP8266 we have a very simple meshing protocol working, but it hasn't been extensively tested at all, and there is lots of room for optimization. Testing is currently done in a simulator with a visual representation of nodes and messages. With regards to apps we've implemented a _very_ basic chat and a very basic mapping application. They're more like proof of concept apps really but they do really work.
We've begun migrating the firmware from ESP8266 to ESP32 and juul has recently been putting more work into this. The communication between the web apps and the microcontroller has been re-written into a full websocket RPC system. The port to ESP32 is probably about 90% there.
### Plans for next version
#### Hardware
* Microcontroller: ESP32
* MicroSD card adapter: Built onto PCB
* LoRa: Two LoRa chips instead of one
* Solar panel: Glass solar panel
* Case: Mass-producible case optimized for keeping battery cool
* Battery: LiFoPO4 cell with thermal sensor
* Wifi antenna: Built into PCB or separate PCB with cable and reflector
* LoRa antennas: We have design ideas but they need testing
* Solar charge controller: Something better. Needs research.
#### Software
The port to ESP32 needs to be completed.
We plan to modify the mesh protocol to handle two LoRa radios. We will then need to do real world and simulated tests of the meshing protocol which will inform further development. We have written a mesh simulator which will also need to be expanded to support dual-radio nodes.
The web apps need to be taken from prototype stage to production-ready. This is mostly user research, front-end web development and testing but will require some added firmware features as well. Most of the basics are there but need to be fleshed out and polished. One important missing feature is that the microcontroller currently doesn't save received data (chat messages / map POIs) so you don't get chat backlog when connecting, which isn't terrible, but you also don't get any POIs from the map if they were added before you connected, which _is_ terrible.
We need thermal battery management. The simplest version of this is to just stop charging when battery temperatures approach 45 C. If the battery doesn't get enough charge to make it through the night then it would be nice if the node could realize this and plan its down-time for the time of night when the fewest users have historically been present.
## Current Funding Proposals
For reference, here are previous grant applications:
* [ISOC Chapterthon 2018 - CNSIG](https://docs.google.com/document/d/17HuIlbwufolxRVmWB2hwd8g4eDBbbLQgeYiiVwfzo4s/edit) - Submitted Sep 2018 - Awarded $2500
* [Round 2 - DisasterRadio Mozilla WINS Grant](https://docs.google.com/document/d/1Bp0CYUSzWEVt3xMusEQjQRvuCiciBsW6-gqYRw1VgZ4/edit#heading=h.ul1zaa60yt79) - Submitted June 2018
* [Round 1 - DisasterRadio Mozilla Grant Application](https://docs.google.com/document/d/1ffyuvbMw-BGBdn0nAPmAZGoBUruDMDT-DvUiUeGVVUo/edit) - Submitted Nov 2017 - On to Round 2
And previous grants/awards:
* [ISOC Beyond the Net Chapterthon: CNSIG](https://www.internetsociety.org/grants/chapterthon/2018/projects/) - $2500 - Sep 2018 - Funding work on the mesh networking protocol primarily developed by Grant. [Video](https://www.youtube.com/watch?v=rUC-1rN2iaA) | [Code](https://github.com/sudomesh/disaster-radio-simulator) | [Report](https://docs.google.com/document/d/1jCz28y8ybJDRLbRYGPpfhMJ1dZgGGbU8Iei4HLb9AF0)
* Private Donor - $2500 - August 2018 – For 50 disaster.radio boards to be produced and distributed at the [2018 Decentralized Web Summit](https://www.decentralizedweb.net/science-fair/)
* [Institute for the Future](http://www.iftf.org) - $2500 - July 2018 - Unrestricted donation to disaster.radio
* [People’s Life Fund](http://www.nowartax.org/plf/applying-for-a-grant-from-peoples-life-fund/) - $750 out of $2500 - June 2018 – No War Tax - War Tax Resistance grant to Sudo Mesh apportioned to [Disaster.Radio](https://disaster.radio), [People's Open Network](https://peoplesopen.net) and [Laptops For All](https://laptopsforall.org)!
### Sudo Mesh
* **Goal:** Funding John Fitz for rapid hardware development of next prototype board.
* **Details:** See [Plans for Next Version](https://hackmd.io/AlLXwgZuS7yZR2cluDlyGw?both#Plans-for-next-version), below.
* **Amount Requested:** ?
* **Timeline:**
* *Proposal*: Up for consenso ideally 8 Oct 2019
* *Phase I: Rapid Prototype:* 8 Oct 2019 - 22 Oct 2019
* **Documentation:** Open hardware schematics to be posted on the disaster.radio [Github](https://github.com/sudomesh/disaster-radio) and [website](https://disaster.radio).
* **(Potential) Team Partners:** Juul and Grant(?) on software and web app development, Nic on enclosure design(?), Nico on field testing, and Benny on virtual simulations(?).
### Association for Progressive Communications
* **Goal:** Funding Nico Pace for multi-sited field research, compiling use cases and user stories by which to guide disaster.radio development.
* **Amount Requested:** $2,500
* **Timeline:** Already approved by APC as of Sep 2019, but need to figure out where and to whom to allocate funds.
* **Nico's Travel Itinerary:**
* ? - 3 Oct 2019: Columbia
* 4-25 Oct 2019: Mexico
* 28 Oct - 2 Nov 2019: Dodoma, Tanzania - [African CN Summit](https://www.internetsociety.org/events/summit-community-networks-africa/2019/)
* ? 3-13 Nov 2019 - Tanzania - Jane Goodall
* ? 15-17 Nov 2019 - Beirut, Lebannon - [Bread&Net](https://www.breadandnet.org/home.html)
* ? 12-15 Nov 2019 - Hilo, Hawaii - [Indigenous Connectivity Summit](https://www.internetsociety.org/events/indigenous-connectivity-summit/)
* 25-29 Nov 2019 - Berlin, Germany - [Internet Governance Forum](https://www.intgovforum.org/multilingual/content/igf-2019)
* ? - New Delhi, India - cnxapac.org
* **Documentation:** Ongoing updates posted publicly at the [disaster.radio wiki](https://github.com/sudomesh/disaster-radio/wiki) and [chat channel](https://peoplesopen.net/chat/channel/disaster.radio). Final report in blog/vlog/podcast form at https://disaster.radio/updates
* **(Potential) Team Partners:** Juul and Fitz on tech support, Jenny supporting on turning field research into ethnographic analysis/case studies, and Mai supporting on writeups for public audiences, press, and future funders(?).
## Meeting Minutes
### Meeting Sep 17 2019
#### Attendees
* Fitz
* Marc
* Jenny
* Mai
* Grant
* Scott
#### Specs
* 100 or so by November to get to stability
* Power source
* Solar solution?
* Off-the-shelf charger for the battery, detachable from board
* Pluggable as well
* Aim for 50
* Questions for Nico
* How many to take around? 10~20: 4 units would be ok. 3+1 if one has solar.
#### Next steps
* juul: i have time for software and nic has time for the case design. need help with hardware design
* For small batches can just use off-the-shelf modules for the solar charger and battery setup, and the esp32 board - wouldn't be cheaper
* grant: ttgo board already set up for esp32s - would need to hook up a second lora module to it
* small batch of 10-50, see how much it ends up costing
* grant: there's a fork of our repo, someone's already written a port to the esp32
* Marc to write up "where we're at"
* Drafted here: https://peoplesopen.net/pad/p/disaster-radio-status
* Prototype using off-the-shelf boards
* Documentation so we can fundraise more
#### Goals
* Timeline: End of November for Nico to beta-test in India
##### Use Cases
* Disaster scenarios
* Off-grid uses
##### Circuit Board Design
* Getting to stability
* Improvements?
* Fixes?
##
### First Call 8/14/2019
#### Participants
* Jenny
* Marc
* Nico
* Mai
#### Discussion
* $2,500 from APC for Disaster Radio
* We need to use it before the end of the year
* They need a proposal from us about how it will be used
* Purpose of funds
* For longtail of tech development
* APC likes investing in tech dev, not fundraising
* Plan on how it will be used
* Describe where we are with the project, where it will be used, where it will take us
* Another opportunity to apply for $ from Mozilla: mozilla.com/moss
* Using SSB over Disaster Radio
* Ideas on how to use funding
* Pay people to work on circuitboard layout, enclosure, software
* Develop use cases for beta-testing deployments
* Ex. Nico is going to Tanzania/India, he could go there and beta-test it in the forest there
* Develop bare minimum proof of concept
#### Funding Opportunities
* https://github.com/jnny/fundingopensource/blob/master/resources.md
* https://github.com/fossfunding
---
## Funding Proposals
### Sudo Mesh Project Proposals
#### TITLE: Hardware Development for Disaster Radio [v5]
#### COLLABORATORS
Who is working on this project?
* Marc Juul, Fitz and possibly Emborg
#### SCOPE
*What problem is this solving? What is the tangible solution being implemented?*
disaster.radio is a system of small off-grid solar+battery powered nodes that communicate with each-other using very low bandwidth long range omni-directional radio signals in a mesh network. Each node also acts as a WiFi access point and local web server which allows the disaster.radio GUI to be accessed using any wifi-enabled device capable of running a web browser.
The first step is to create a prototype of the hardware based on what we believe will give us a minimum viable product (MVP). For instance, we need to redesign the printed circuit board (PCB) so that it can be equipped with two radio antennas instead of one. It must also be compatible with new battery specs that would enable it to be rechargeable by a solar panel and not overheat itself. The following is a list of hardware features we are designing into this prototype:
* Microcontroller: ESP32
* MicroSD card adapter: Built onto PCB
* LoRa: Two LoRa chips instead of one
* Solar panel: Glass solar panel
* Battery: LiFoPO4 cell with thermal sensor
* Wifi antenna: Built into PCB or separate PCB with cable and reflector
* Solar charge controller: Something better. Needs research.
The meshing protocol used for the previous disaster.radio prototype will need to be updated to account for the additional LoRa antenna in this new version (this part is beyond the scope of this proposal).
#### TIMELINE
*How long will it take? (Start date, end date, and any other milestones.)*
* October 1 - November 30, 2019
* Milestones
* Nov 6 - Research complete
* Nov 7 - Order components
* Nov 14 - New PCB design complete
* Nov 15 - Review PCB design and order PCBs
* Nov 18 - Receive PCBs (Bay Area Circuits 1 day turn-around)
* Nov 20 - Components soldered to PCBs
* Nov 30 - Working prototype of ported software running on new boards
Note that this does not take into account utilizing both LoRa radios. The software will need more work for that.
#### BUDGET
*What are the material and labor costs? Line item budget should include material and labor costs as well as any additional sources of income/funding. Require invoicing and timekeeping for hours worked. Use a template.*
* Marc Juul - $35 / hour x 20 hours
* Some combination of Marc Juul, Fitz and possibly Emborg - $35 / hour x 20 hours
* Material costs will be covered by disaster.radio funds
#### RISKS
*Are there any potential blockers on progress? (E.g. is research required?)*
* Initial per-module price of this new design may be higher than we'd like until we order higher quantities
* We may not have time to implement our own solar charging solution so will have to buy pre-made modules
* The LoRa modules we want to use can only be ordered from china. Hopefully we can get them shipped fast enough. We could use other modules but we haven't found any that are as long range and high power
#### OUTCOMES / REPORTING REQUIREMENTS
*What are the deliverables due at project end date?*
* Finalized PCB design for first prototype
* Software running on first prototype (single radio only)
* Process and specs documented at disaster.radio github: https://github.com/sudomesh/disaster-radio
#### ACCOUNTABILITY BUDDY / PEER ADVISOR
*Who will check in with the collaborators and help them stay on track?*
* Mai
* Jenny