Large Language Model (LLM) AI Remote Terminal

THE HARDWARE

Lilygo T-keyboard “T-Deck” 320×240 touchscreen. (BlackBerry-style keyboard and trackball. *Sad face, no side scroll wheel on this model)

Raspberry Pi 5 “Kali Linux Black box”
Caveat: A Pi 5 running a LLM is more about the proof of concept than a top spec model. Being a Pi 5, I am limited on models of LLM and the llama3.2 runs comfortably on the stack. Any modern phone ai model will be 100x++ “better” but I wanted to build a ground up model with what I had so this is – For science!
THE CONCEPT
A standalone full peripheral terminal interface for communicating with my Pi 5’s custom LLM (Large Language Model) / locally hosted AI ‘ATLAS’.
The Pi 5 runs the whole stack locally:
- llama3.2 under Ollama for language.
- Whisper for speech-to-text.
- Piper for text-to-speech.
- A local SearXNG instance for web search.
- A Flask server that renders each screen as a JSON tree.
- A network scanner runs a subnet sweep and port scan, rendered live.
- (Studio Wetware Exclusive) ‘Buck-E’, turns a melody into a symbolic notation code, a encoding rather than sheet music or a MIDI file, and can decode that code back into audio through the deck’s speaker.

The T-Deck is a ESP-32 chipset at heart. It doesn’t know what a LLM, or token is, nor does it have the built in processing power to run a dedicated LLM.
What the T-Deck does provide is every peripheral needed for the headless Pi 5’s perfect remote terminal:
- Touchscreen
- Keyboard
- Trackball
- Microphone
- Speaker
- WiFi connection
The Pi 5 sends the T-Deck a .json tree directing a layout: text, rules, rows, columns, boxes, bars, and the T-Decks firmware walks that tree and draws it with LVGL.
WHAT CAN ATLAS DO?
NMAP
Kali’s NMap, network scanning and identification software.
/nmap


BUCK-E
/Buck-E
Codec = Musical notes ➡️ Cipher Syntax ➡️ Music notes. Search for a song, translate the music into 5 Buck-E syntax’s, decode to hear the notes play.


EXPLORE
/explore
Runs every topic I’ve saved through SearXNG’s news engines in parallel and returns a numbered digest of new feeds. (RSS in practice)
LOOK
/look
Analyzes a webpages makeup past the information displayed:
What it is, what it’s for and where it links out.
/look studiowetware.com/Gitbeach/




WEATHER
/weather
Provides local weather.
STATUS
/status
Gives a live model update

VOICE
/v
Voice communications
1. Starts an audio recording from the T-Deck’s microphone and sends the audio clip to the Pi 5.
2. Whisper transcribes the audio file into a .txt file.
3. The transcript goes through ATLAS as a .txt input.
4. ATLAS process’s the entry and returns its response in text.
5. The text output gets sent to Piper.
6. Piper Dictates ATLAS’ output into .WAV using a voice synthesizer.
6.5. The flask server renders the .txt file into the .json and sends the .json to the T-Deck.
7. The T-deck plays the .wav on its speaker while the text streams to screen.
Voice communication prompts can be chained together:
/v /weather
Dictates the current weather back without any audio recording entry (“/weather” is the .txt file forwarded into ATLAS at step 3).
Code Stacks
LILYGO T-Deck (ESP32-S3, ST7789, ES7210 mic, GT911 touch) · PlatformIO · LVGL
Raspberry Pi 5 running Kali Linux · Flask · Ollama / llama3.2 · whisper.cpp · Piper ·
SearXNG · Docker
