This Project: A Covid Confessional
Think of this project as a "Covid Confessional." It allows you to "confess" to those around you about just how Covid-safe your recent social encounters have been. Why and how?.
In Jan 2021, the Covid virus continues to spread. This may be in part due to social encounters we allow to happen. Here's an example. Suppose someone was in a "covid-unsafe" environment on day X: maybe not wearing a mask, in close contact with others also not wearing a mask and not social distancing. Then suppose a day or two later on day Y, this same person goes out in public doing their routine. Did they unknowingly catch the virus on day X and are they now spreading it on day Y and beyond?
We wonder when going out in public, if the virus's spread could be slowed if we could somehow know about the recent social interactions of those we encounter. Maybe with some electronic gadget?
In the diagram, everyone is carrying around a small orange device. Most everyone has been behaving in a "covid-safe" manner, so their device broadcasts an "ok" message (green) to those around them. But one person who has not been so "covid-safe" has their device broadcasting a "not ok" message (red).
If you found yourself around someone who was recently "Covid-unsafe," you might have an opportunity to slow the spread by now limiting your immediate future interactions.
This project is about building and carrying around a small electronic device that allows you to quietly and anonymously broadcast your recent social interactions to others you encounter. It allows you to also receive the same from them.
The ESP32 as a social interactions 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 broadcasts from others using this device.
Yes, we know. This sounds just like App/phone-based contact tracing. But those don't seem to be helping much, do they? People are having trouble trusting the Apps with their health information.
This project focuses more on one's past social interactions, not their health status. It's fully anonymous too. No WiFi, GPS, Internet or central database are used at all. Everyone's ID is something like 9e1b07d9d372bb68.
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 make and give a device to 2 others you know.
- If your device logs an encounter with someone with concerning recent behavior, please isolsfor 2 days and see if any symptoms develop.
- ESP32 board (Amazon, eBay)
- External phone-charger battery pack. We used this battery (but many others will do--you may already have one). Search for the "Dynex DX-2604 Portable 2000 mAh Battery Power" on eBay or Amazon, which will also work. You do not need more than a 5000mAh battery.
- USB micro cable. (This usually comes with the battery.)
- Cardboard and tape.
Everything should cost less than $20.
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 by Setting Your Covid "grade"
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. As a guide, you'll even be shown your "Covid grade."
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.
- Now, look carefully at your encountered log. Suppose you were in contact with someone who engaged in "not so helpful" behavior (see the last one in the image). How many encounters does your log show?
- The device only counts encounters space by 10 minutes. So if you have 3 or 4 encounters with them, maybe you were around this person for 15 or more minutes (which is the CDC limit).
- You may consider now isolating yourself for a couple of 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 two more, 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.
Step 6: In Closing
- Technical: The ESP32 can hold about 5,000 encounters. It'll ignore any encounter that occurs again within 10 minutes. Encounters must be downloaded before removing power. Your last configured social interaction information is saved even without power. A 5000mA battery pack can power the ESP32 for about 40 hours. Once the ESP32 is flashed, the USB cable is no longer necessary. All configuration and log retrievals are done via Bluetooth. The Chrome browser must be used as it has the best WebBluetooth support.
- Taking precautions like isolating for a couple of days, that may involve increased mask use or even isolating is a lot to ask someone to do, but is not unfounded. As organizations struggle to open, they are offering their constituents similar advice. A university near us tells its students for example "If you were around groups of people not wearing face coverings or physical distancing, please self-quarantine for 14 days and consider getting tested." It is just this kind of professional advice that this project could personally remind us to follow.
- This project is an adaptation of "Contact Tracing," which is a proven way of slowing pandemics. It is an intervention technique to break the chain of infection. You've likely heard about it in the recent news.
- This project focuses not on health, but on social interactions and behavior. It makes the assumption that if a person encountered someone with unsafe Covid-behavior, then the chance they've been infected has been increased.
- We anticipate that this project can find use in helping to keep small, well-defined groups safe. This includes schools or workplaces, where groups can come together and all agree to participate in making others aware of their social interactions. Should such a group all decide to use this token, they'll be able to "self-police" their own covid-behavior, with the hope of stopping or slowing the spread within their group.
Participated in the
Battery Powered Contest