Suppose when going out in public during the Covid pandemic, you had some idea on the past social behavior of those around you. Was everyone "Covid-safe" recently, or were some not? This project is about building and carrying around a small electronic device that allows you to quietly and anonymously broadcast your past social behavior to others, and receive the same from them. If you found yourself around some being "Covid-unsafe," you might have an opportunity to slow the spread, starting with you.
What is this project?
This is "social encounter broadcaster" for these times of Covid. It is a variation on "contact tracing," which is known to slow a pandemic. This project however focuses more on one's encounter history instead of health issues. It works like this.
Suppose we go out in public and could know about how "Covid-safe" those around us have been? As an example, what if someone in a grocery store with us had on a loose fitting mask was at a large party two nights ago? Could I use this information to alter my own decisions moving forward? Or what if that same person has been home for the past few days and always wears a mask? In the unfortunate first case, maybe I should limit my own future encounters for a couple of days. In the second case, likely all is OK.
This project is about building a small battery powered device that quietly allows us to broadcast our past and recent social encounters, to those we may encounter in the future. As far as Covid goes, the social interactions are issues surrounding mask wearing and social distancing.
The ESP32 Broadcaster
This project uses an ESP32 and its Bluetooth low energy (BLE) capabilities to broadcast a summary of your recent social encounters to others you encounter (that are also carrying this device). Before going out, tell the ESP32 about your recent social encounters. Then power it up with the battery, throw it into your bag, and go about your business.
It'll broadcast your recent social encounters out to others carrying this device, and likewise log any incoming from others using this device.
We call it "Covid222" for these reasons:
- Covid has a reproduction number of 2, meaning one person can on average infect 2 others.
- To combat the spread we hope you can give make and give this device to 2 others you know.
- If your device logs an encounter with someone with concerning recent behavior, please stay home for 2 days and see if any symptoms develop.
1) ESP32 board, 2) USB micro cable, 3) external phone-charger battery pack, 4) Cardboard and tape. Should all cost less than $20. We used this battery (but many others will do--you may already have one). You do not need more than a 5000mAh battery. This one will work too.
Step 1: Flash Firmware Onto ESP32
Prepare to flash the ESP32
Flash the ESP32 board
- Run the flashing software.
- Select the serial port your ESP32 is attached to. This varies from computer to computer.
- Click the "Browse..." button next to the "Flash App 0x10000" button (red arrow), and select the file called npct.bin (this is the binary image you downloaded).
- Now click the "Flash" button. When the "Connecting........_____....." message starts up, press and hold the "Boot" button on the ESP32 until you see "Writing .... (10%)..." such messages (see the red arrow in the photo for finding the boot button).
- That's it. The ESP32 is ready for use. These steps do not need to be done again, and you can delete the binary image and the flashing program.
Step 2: Make a Case
- The ESP32 is pretty small and durable, but it should be put into some kind of case for protection.
- Since it sends and receives Bluetooth, avoid metallic cases (like the all popular Altoids case).
- The pictures show a perfectly suitable cardboard case.
- Here's a 3D printed case for the ESP32 (see picture).
Step 3: Prepare to Go Out
Before you go out...
Plug the ESP32 into the portable battery
Load this Bluetooth configuration tool into Chrome (it only works with Chrome and Web-Bluetooth). Tell it about your recent social behavior.
Update the device, then throw it in your bag or pocket, and go about your business.
Step 4: When You Return
- If the blue LED on your ESP32 is on (or flashing), then you've received information about someone else's social behavior.
- Leaving your device powered on, load the Bluetooth configuration tool into Chrome again and click the "Download device log" button.
- You can see a sample log in the image.
- If you encountered someone with "not so helpful" behavior (see the last one in the image), please isolate yourself for 2 days and see if any Covid-symptoms appear.
Step 5: Make Two More and Give Them to Two Others
- The r0 number of Covid is 2, meaning every infectious person can infect 2 others.
- Let's combat the virus by throwing our own "2" at it: make this device for two others you know, and show them how to use it.
- Also, tell them to make it for two others they know.
- If you know any teachers, this may be a great class project on allowing students to learn about contact tracing and help combat the virus's spread.
- We have a teacher lesson guide here (see PDF download below).
- We have a github page about this project, with a lot more details.
- We wrote a paper about it too.
This is an entry in the
Battery Powered Contest