Raspberry Pi
Providing on-demand mobile charging services for the homeless community


A largely underserved population in the state of Califronia, especially in major cities like San Francisco and Los Angeles, are the unhoused. In LA alone, there are currently over 60,000 homeless individuals. Homelessness is an extraordinarily difficult position to be in, and with the condition of the economy, the numbers keep rising. It is a notoriously cyclical condition that has few paths to stable housing. In the state of California, the government provides homeless people cell phones with unlimited talk and text. However, even with these cell phones, it isn't always easy for individuals to find a place to charge them. Coffee shops and restaurants are often the only places nearby with outlets, yet homeless people typically get kicked out. Without phone usage, homeless people can’t access critical resources such as social work, public transit schedules, and health services. Homeless people are significantly more prone to addiction and substance abuse due to systemic reasons, and not having access to a charged phone exacerbates the repercussions of the issue. Chargr mitigates these issues by providing a secure, easy to use, charging cart on wheels for homeless individuals to charge their phones on demand so they can keep using them throughout the day.

What it does

Chargr is an autonomous robot that roams around neighborhoods of big cities with higher rates of homelessness, allowing homeless people to request it to come to their location using the mobile app and securely store their phones in the cart for charging. The mobile element of the robot is critical so as not to infringe on city happenings or encourage intervention from public officials, who do not want large congregations of unhoused individuals. By providing a mobile service, Chargr finds an innovative way to provide the homeless with the charging services they need without infringing upon public policy. The app uses Sonr for secure authentication to protect the identities of the users, as data privacy is crucial for the homeless because of the consequences that they face from the government already. Furthermore, Sonr does not require email verification for authentication, making it quicker to set up especially when the user might not even have an email address. Within the app is an integrated feature for homeless community members to access their healthcare records from FHIR via InterSystems’ centralized data platform to make healthcare more accessible, especially for these homeless individuals who may not have access to their medical records or know where to find them.

How we built it

We used a Raspberry Pi to control 4 DC motors for the robot to drive around using a standard drive train. We designed two levels of phone compartments as part of the main chassis using CAD on Fusion 360, and 3D printed the phone compartments and their doors using our 3D printer. We used an ultrasonic range sensor to capture the distance between the front of the robot and the nearest object, so that the robot won’t run into objects in front of it. We used an A-Priori map representation of the room to simulate an urban environment. To secure the phones, we used Servos to serve as our locking mechanism so that patrons can be confident that their phones will remain untouched. The app was made using Flutter, using the Sonr SDK for authentication and identity verification, MQTT for back and forth communication with the Raspberry Pi, and InterSystems FHIR for patient data fetching.

Challenges we ran into

  • Friction on the carpet being significantly higher than the table, restricting the robot’s movement
  • SSH not working on CalHacks wifi
  • RFID tags were challenging to integrate with Raspberry Pi

Accomplishments that we're proud of

  • 3D printing custom parts!
  • Connecting hardware with Web3 in a unique way using Sonr
  • Developing algorithms for autonomous control in a brief timespan
  • A cool grid position selection system and live location updates built into the app
  • Completing a moving robot in 24 hours that drives around to a particular requested location

What we learned

  • How to use Flutter securely with Sonr
  • How to use TailScale to easily SSH into a Raspberry Pi
  • How to use MQTT to communicate between Flutter and a Raspberry Pi

What's next for Chargr

  • LTE functionality so that the robot doesn’t need to rely on WiFi
  • Solar powered battery to charge the phones and power the robot itself
  • Auto-locking wheels while stationary to avoid tampering
  • Secure locking of phone compartments using unique RFID tags that users can take when they leave their phone to charge