Inspiration

We were inspired by a game we liked called Fallout, where portable terminals are self contained Pip-Boys (Personal Information Processor). We wanted to make something similar geared toward fully offline survival. This means no cloud, no servers, no timeouts - just a repository of knowledge to help you (hopefully) make it through the apocalypse.

Atlas is our prototype wearable mini-computer that stores essential survival knowledge and gives you recommendations based on voice queries entirely offline.

What It Does

Atlas is a voice-enabled offline assistant powered by a Raspberry Pi 4B. It stores curated knowledge locally and allows the user to retrieve information through speech or physical controls.

Core functionality includes:

  • On-device speech-to-text processing
  • Local markdown knowledge database
  • Fast offline search
  • Navigation via physical buttons + a rotary encoder

How We Built It

Atlas is built around:

  • Raspberry Pi 4B
  • 4-inch display module
  • External USB microphone
  • Rotary encoder
  • Four tactile input buttons
  • 10,000 mAh power bank

We adapted modeled a custom enclosure around the acrylic plates and standoffs of the Raspberry Pi (mostly because we wanted it to look cooler)

The enclosure includes:

  • Microphone + USB-C charging access
  • Dedicated mounts and housing for the buttons and rotary encoder
  • Modular power compartment

Our goal was to make it strong and modular while trying to keep it as simple as possible for repairability

Software System

We wanted to limit ourselves to run absolutely everything locally, these include:

  • Vosk for offline speech-to-text
  • Markdown-based structured knowledge storage with json metadata
  • Tokenized searching and file parsing
  • Custom TUI interface (because we wanted it to look like the one from fallout)
  • GPIO integration for controls

Running everything locally is really hard and we wanted to keep the code as efficient as possible to minimize computation. We also wanted the speech to text model to be as fast as possible for a quick response time

Challenges We Ran Into

Mechanical Challenges

  • Our enclosure didn't fit: We miscalculated the internal volume of the shell we were building around which made the enclosure hard to fit around the pi (but we made it work).

  • We couldn't wear it: We wanted to wear atlas on our wrist just like in Fallout but our originally designed velcro slots were too thin and snapped.

  • Rotary encoder couldn't spin: We accidentally made our 3d-printed knob fit too loosely on the rotary encoded, were able to fix it with electrical tape engineering™

  • 3-D printed the wrong file: We accidentally 3D printed an older version of our main enclosure which did not have holes for powering the pi or mic. (fixed with a drill)

Software Challenges

  • Finding a middle ground between processing the user speech and search speed
  • Running everything locally with no access to external APIs
  • Creating the TUI while managing the aesthetic we wanted with efficiency
  • Getting the buttons to work (semi) reliably using GPIO pins

Accomplishments We Are Proud Of

  • Completing the enclosure in a single prototype print (lots of problems but we made it work)
  • Relatively clean hardware software integration
  • Getting the UI to something that actually worked and (we think) looked nice

What We Learned

Through building atlas, we learned:

  • Tolerances are important
  • The tradeoffs required in offline deployment
  • Modular design is important
  • When things inevitably break - we adapt.

What’s Next

  • Improving speech recognition accuracy by using better models
  • Integrating some sort of locally available LLM (with RAG perhaps??)
  • Adding sensors for temperature, humidity, and GPS, heart rate
  • Implementing personal note storage ( through voice transcription)
  • Improving power efficiency/making an external solar panel enclosure than can charge it
  • Making it all more rugged, so it actually survives outdoors

Long term, atlas could turn into a modular offline computer for when the internet no longer exists.

https://www.youtube.com/watch?v=NuVOZU76Rwo

Built With

Share this project:

Updates