Google's Gemma Translator Runs Offline Voice Translation on an $80 Computer

Google's Creative Lab open-sources a fully offline, Raspberry Pi-powered voice translator built with Gemma 4, Moonshine ASR, and 3D-printed hardware

·
·
Read4 min
TypeNews
SubtopicSmall Models
  • What: Google Creative Lab open-sourced Gemma Translator, a fully offline, DIY voice translation device.
  • Hardware: Raspberry Pi 5 (8GB RAM), portable battery, touchscreen, speaker, mini keyboard -- all held in a custom 3D-printed case.
  • AI stack: Gemma 4 E2B via LiteRT-LM for translation, Moonshine for speech recognition, Kokoro for text-to-speech -- all on-device.
  • Performance: Gemma 4 E2B runs at ~6 tokens/sec on the Pi 5, under 1.5GB RAM; Moonshine is up to 5x faster than Whisper Tiny.
  • Deployment: One-command Pi setup via deploy-pi.sh; also runs on laptops and Android devices.
  • License: Apache 2.0, free to clone and build -- STL files for the case are included in the repo.

Google's Creative Lab just published an open-source project called Gemma Translator: a handheld, fully offline voice translation device you can build yourself. It combines a Raspberry Pi 5, off-the-shelf components, and a stack of on-device AI models to translate speech between languages with no internet connection, no API keys, and no cloud costs.

The project is free to clone on GitHub. The hardware list is intentionally approachable: a Raspberry Pi 5 with 8GB RAM, a portable battery pack, a small touchscreen display, a mini speaker, and a micro keyboard with a rotary knob for language selection. A custom 3D-printed shell holds everything together, and STL files are included in the repo.

Gemma Translator handheld device in action

Three models, zero cloud calls

The entire pipeline runs locally. Speech recognition, translation, and text-to-speech each map to a distinct AI component:

  • Translation: LiteRT-LM, Google's open-source edge inference framework, runs the gemma4-e2b model. This is Gemma 4's smallest variant, a 2-billion effective parameter model using mixed 2-bit/4-bit/8-bit quantization to stay under 1.5GB of RAM.
  • Speech recognition (ASR): Moonshine, an open-source ASR model from Useful Sensors, handles transcription. Built for edge hardware, it benchmarks at up to 5x faster than Whisper Tiny with no increase in word error rate.
  • Text-to-speech: Kokoro, a small TTS model bundled with Moonshine, converts Gemma's translated output back into spoken audio.

LiteRT-LM supports hardware acceleration via GPU and NPU, and handles multi-modal inputs including vision and audio. In this project it runs entirely on the Pi's CPU, using the XNNPACK delegate for acceleration.

Gemma 4 E2B is a 2.3-billion-parameter model built for edge deployment. The "E" stands for "effective" parameters: the model uses Per-Layer Embeddings (PLE) to maximize parameter efficiency, which is how it benchmarks above Gemma 3 27B despite being 12x smaller. On a Raspberry Pi 5, it generates tokens at 5.8 to 6.5 tokens per second, which is adequate for conversational translation.

Moonshine from Useful Sensors is designed for real-time speech recognition on resource-constrained hardware, from Raspberry Pis to mobile devices. Benchmarked against OpenAI's Whisper tiny.en, Moonshine Tiny cuts compute requirements by 5x for a 10-second speech segment with no increase in word error rate.

A UI built for two people facing each other

The frontend is a React app with a retro monochrome terminal aesthetic, sized for 480x320 displays. The interface has two lanes, one per speaker, and handles push-to-talk, language selection, and mic feedback as keyboard events, mapping cleanly to the physical knob and buttons on the device.

Two keyboard modes are available in settings:

  • Landscape mode (default): One active lane at a time. Spacebar switches between Person 1 and Person 2. Z records, arrow keys rotate languages. Suited for a single operator managing both sides.
  • Vertical mode: Each person has dedicated keys. Z records Person 1, X records Person 2. Arrow keys handle Person 1's language, - and + handle Person 2's. Better when two people each control their own side.

The mode preference persists in localStorage, so the device remembers your setup across restarts.

Onshape CAD model of the 3D-printed Gemma Translator housing

Getting it running

The repo includes a one-command deployment script for Raspberry Pi that handles setup end-to-end:

bash
# 1. Make scripts executable
chmod +x setup.sh download_model.sh start.sh deploy-pi.sh
# 2. Install Python deps and create venv
./setup.sh
# 3. Pull gemma4-e2b from Hugging Face into LiteRT-LM
./download_model.sh
# 4. Launch LiteRT-LM server, Python API, and React frontend
./start.sh

For a permanent kiosk deployment, ./deploy-pi.sh registers a systemd service, configures LXDE autostart, and launches Chromium in kiosk mode pointed at localhost:3000. The app also runs on a laptop or Android device if you want to skip the physical build entirely.

Where this actually gets useful

Offline speech translation has concrete applications wherever network connectivity is unreliable: field research, humanitarian work, medical settings in remote areas, accessibility tools that can't depend on a data connection, and privacy-sensitive voice interfaces on mobile devices. A self-contained device handles all of these without a recurring API bill. Running a cloud-based chatbot for 10,000 daily users typically costs $200–500 per month in inference fees; a device like this eliminates that after a one-time hardware spend.

The broader point is that the components required to build something like this, a capable small LLM, a fast edge ASR model, a TTS engine, all running on an $80 single-board computer, are now genuinely accessible. Gemma Translator makes that concrete in a form that's easy to fork, extend, and deploy. The team also suggests loading the project into Google's AI coding assistant and describing new features you want added as a fast path to customization.

Trending
  • No trending articles

Comments

avatar

Next Reads