로컬 AI를 임베디드 장치 개발에 도입하는 또 다른 방법을 소개해 주신 JBlanked께 감사드립니다. 그의 전체 영상에서는 ZimaBoard 2를 로컬 Ollama 서버로 전환하고 Cardputer-ADV, PicoCalc, Flipper Zero를 비롯한 휴대용 장치를 공유 AI 환경에 연결합니다.
모든 소형 장치에서 대규모 언어 모델을 직접 실행하려 하기보다, 이 실험에서는 작업을 분리합니다. ZimaBoard 2가 로컬 AI 서비스를 담당하고 휴대용 장치들은 경량 개발 인터페이스 역할을 합니다. 그런 다음 JBlanked는 오픈 소스 Picoware Agent를 사용해 애플리케이션을 만들고, 장치 정보를 확인하며, 로컬 AI 연결을 통해 하드웨어를 관리합니다.
협업 공개: 이 문서는 JBlanked가 시연한 설정과 Picoware 및 FlipperHTTP의 공개 문서를 바탕으로 작성되었습니다. 소프트웨어 버전, AI 모델 제공 여부, 하드웨어 호환성 및 로컬 추론 성능은 시간이 지나면서 달라질 수 있습니다.
결과: 소형 홈 서버 하나로 리소스가 제한된 여러 메이커 장치에 AI 계층을 제공할 수 있습니다. 휴대용 하드웨어는 자체 펌웨어와 인터페이스를 계속 실행하고, 연산량이 많은 언어 모델 작업은 로컬 서버의 Ollama에서 처리할 수 있습니다.
한눈에 보는 로컬 AI 설정
이 프로젝트는 소형 x86 서버와 여러 임베디드 플랫폼을 결합합니다. 모든 장치에 동일한 소프트웨어 스택을 적용하는 대신, JBlanked는 각 장치가 지원하는 기능에 따라 서로 다른 연결 계층을 사용합니다.
| 구성 요소 | 설정에서의 역할 | 주요 고려 사항 |
|---|---|---|
| ZimaBoard 2 | ZimaOS를 실행하고 AI 환경을 호스팅하는 중앙 로컬 서버 역할을 합니다. | 모델 성능은 보드의 CPU뿐만 아니라 전체 하드웨어 구성에 따라 달라집니다. |
| ZimaOS | Ollama를 배포하는 데 사용되는 서버 환경과 앱 스토어를 제공합니다. | 민감한 프로젝트에 서버를 사용하기 전에 애플리케이션 구성과 네트워크 액세스를 검토해야 합니다. |
| Ollama | 언어 모델을 로컬에서 실행하고 연결된 장치의 요청에 응답합니다. | 모델마다 메모리, 스토리지 및 가속기 요구 사항이 다릅니다. |
| NVIDIA GeForce RTX 3060 | 시연된 ZimaOS 환경에서 12GB VRAM을 갖춘 사용 가능한 GPU로 표시됩니다. | 영상에 표시된 GPU는 시연된 구성의 일부이므로 추론 결과를 평가할 때 고려해야 합니다. |
| Cardputer-ADV | Picoware를 실행하고 Agent 인터페이스를 사용하여 로컬 AI 서버와 통신합니다. | 핸드헬드는 인터페이스로 남고, 언어 모델 자체는 서버에서 실행됩니다. |
| PicoCalc | 동일한 로컬 AI 워크플로의 또 다른 클라이언트로 Picoware를 사용합니다. | 사용 가능한 기능은 현재 Picoware 빌드와 장치 구성에 따라 달라집니다. |
| Flipper Zero | 로컬 AI 서비스와 통신하기 위해 네트워크 요청 경로를 사용합니다. | 네트워크 통신을 위해 Wi-Fi를 지원하는 호환 브리지 또는 개발 보드가 필요합니다. |
ZimaBoard 2를 AI 서버로 사용하는 이유
이 프로젝트의 흥미로운 점은 단순히 ZimaBoard 2에서 AI 애플리케이션을 실행할 수 있다는 사실이 아닙니다. 소형 임베디드 프로젝트의 아키텍처를 보드가 어떻게 바꾸는지가 핵심입니다.
Cardputer, PicoCalc, Flipper Zero와 같은 장치는 휴대성과 특수 임베디드 하드웨어를 중심으로 설계되었습니다. 인터페이스, 스크립트, 펌웨어 실험, 네트워크 도구 및 휴대용 애플리케이션에 유용하지만, 온보드 리소스는 일반적인 AI 워크스테이션보다 훨씬 제한적입니다.
ZimaBoard 2 미니 홈 서버는 유선 네트워킹, 스토리지 연결 및 PCIe 확장을 지원하는 별도의 x86 호스트를 제공합니다. 따라서 더 무거운 서버 작업을 다른 곳으로 옮기고 핸드헬드 장치는 작게 유지할 수 있습니다.
JBlanked의 워크플로에서는 ZimaBoard 2가 ZimaOS를 실행하고 Ollama가 로컬 언어 모델 서비스를 제공합니다. 이 서비스를 로컬 네트워크에서 사용할 수 있게 되면, 호환되는 장치가 각 핸드헬드에 모델을 직접 호스팅할 만큼 충분한 연산 성능과 메모리를 갖추지 않아도 해당 서비스와 통신할 수 있습니다.
또한 이 영상은 시연된 서버 구성에 관한 중요한 세부 사항을 보여 줍니다. Ollama가 실행되는 동안 ZimaOS 시스템 대시보드에는 12GB VRAM을 탑재한 NVIDIA GeForce RTX 3060이 표시됩니다. 따라서 데모에서 확인되는 성능은 CPU만 사용하는 ZimaBoard 2 테스트가 아니라 GPU가 장착된 로컬 서버라는 맥락에서 이해해야 합니다.

ZimaOS 환경에서 실행 중인 Ollama입니다. 뒤에 표시된 시스템 대시보드에는 NVIDIA GeForce RTX 3060과 12GB VRAM이 보고되어 있어, 시연된 로컬 AI 서버에서 GPU 가속을 사용할 수 있음을 보여 줍니다.
로컬 AI 연결 작동 방식
기본 설계는 세 가지 계층으로 이해할 수 있습니다.
- 서버 계층: ZimaBoard 2가 ZimaOS를 실행하고 Ollama를 호스팅합니다.
- 에이전트 또는 네트워킹 계층: Picoware 또는 Flipper 네트워킹 스택이 임베디드 기기와 로컬 서버 간에 요청을 전송합니다.
- 기기 계층: Cardputer-ADV, PicoCalc 또는 Flipper Zero가 물리적 인터페이스를 제공하고 기기별 작업을 실행합니다.
이러한 분리는 언어 모델을 모든 하드웨어에서 직접 실행할 필요가 없다는 점에서 유용합니다. 각 기기의 펌웨어는 지원하는 기능을 노출하고, 서버는 요청을 해석하거나 개발 작업을 지원하는 데 사용되는 모델 기능을 제공합니다.
Cardputer-ADV와 PicoCalc에서 Picoware Agent 사용
JBlanked의 Picoware 프로젝트는 Cardputer-ADV, PicoCalc, Flipper Zero 및 기타 ESP32 또는 Raspberry Pi Pico 기반 기기를 지원하는 오픈 소스 펌웨어 환경입니다.
이 실험에서 중요한 구성 요소는 Picoware Agent입니다. Agent는 단순한 범용 채팅 창이 아니라, 다양한 작동 컨텍스트를 제공하는 LLM 기반 인터페이스입니다.
문서에 따르면 일반 채팅, Picoware 애플리케이션을 만들거나 편집하도록 설계된 App Creator, 그리고 정보와 명령을 처리할 수 있는 기기 관리 기능을 제공합니다. 이러한 기능을 로컬 서버의 Ollama 인스턴스에 연결하면 소형 기기에서 모델을 실행하지 않고도 휴대용 기기에서 AI 지원 개발 워크플로를 사용할 수 있습니다.
Flipper Zero가 로컬 AI 서버에 요청 전송
Flipper Zero는 다른 상호작용 방식을 사용합니다. 영상에서 JBlanked는 Flipper에 부착된 Wi-Fi 지원 개발 보드를 통해 로컬 모델에 보낼 구조화된 요청 페이로드를 기기에서 준비하는 모습을 보여 줍니다.
화면에 표시된 페이로드에는 다음 모델 필드가 포함되어 있습니다. qwen3.5:9b. 이는 역할 분담을 명확하게 보여줍니다. Flipper는 요청을 준비하고 전송하며, 선택한 언어 모델은 더 강력한 로컬 서버에서 실행됩니다.

Flipper Zero가 로컬 AI 서비스에 보낼 요청 페이로드를 준비하고 있습니다. 화면에는 모델 필드가 다음과 같이 설정되어 있습니다. qwen3.5:9b, Wi-Fi를 지원하는 개발 보드가 기기 위에 부착되어 있습니다.
이 구분은 중요합니다. Flipper는 전체 언어 모델을 로컬에서 실행하지 않습니다. Flipper의 역할은 휴대용 인터페이스와 네트워킹 경로를 제공하는 것이며, Ollama와 선택한 모델은 서버에서 실행됩니다.
로컬 AI Agent는 실제로 무엇을 할 수 있을까?
핸드헬드 기기를 LLM에 연결했을 때 모델이 질문에 답하는 것 이상의 작업을 수행할 수 있다면 더욱 흥미로워집니다. JBlanked는 임베디드 개발 워크플로의 일부로 AI 서버를 시연합니다.
Picoware 앱 만들기
Picoware에는 AI Agent를 위한 App Creator 컨텍스트가 포함되어 있습니다. 이를 통해 개발자는 자연어로 애플리케이션이나 변경 사항을 설명하고, 모델의 도움을 받아 해당 Picoware 애플리케이션을 생성하거나 편집할 수 있습니다.
시연에서는 App Creator에 실행할 때 “hello from youtube”라는 인사말을 표시하는 간단한 애플리케이션을 만들어 달라고 요청합니다. Agent는 요청한 동작과 인터페이스 작동 방식을 구조화된 설명으로 반환합니다.

PicoCalc에서 실행 중인 Picoware의 App Creator. Agent가 “hello from youtube”를 표시하는 애플리케이션 요청을 처리하는 동안 Flipper Zero와 Cardputer-ADV가 기기 옆에 놓여 있습니다.
이 기능은 아이디어와 프로토타입 사이의 거리를 줄여 줍니다. 특히 작은 화면에서 많은 양의 소스 코드를 직접 입력하고 편집하는 일이 번거로운 기기에서 더욱 유용합니다.
AI가 생성한 코드는 여전히 검토가 필요합니다. 그럴듯해 보이는 출력에도 잘못된 API, 불완전한 오류 처리, 안전하지 않은 가정 또는 대상 하드웨어와 맞지 않는 동작이 포함될 수 있습니다.
펌웨어 및 개발 정보 확인
Agent 워크플로는 개발 보조 도구로도 사용할 수 있습니다. 이 시스템은 핸드헬드를 일반적인 채팅 클라이언트로만 다루는 대신, 로컬 모델의 응답과 기기 및 펌웨어가 제공하는 정보를 결합할 수 있습니다.
이 방식은 작은 디스플레이에서 특히 유용합니다. 로그, 문서 또는 명령 출력 내용을 직접 탐색하는 것보다 Agent에게 특정 요청을 해석하도록 하는 편이 더 빠를 수 있기 때문입니다.
기기 관리
Picoware의 Agent 프레임워크에는 기기 관리 기능도 포함되어 있습니다. 모델은 사용자에게 직접 실행하도록 텍스트만 반환하는 대신, 펌웨어가 제공하는 도구를 통해 작업을 수행할 수 있습니다.
영상의 한 예시에서는 “주변에 네트워크가 몇 개 있나요?”라고 묻습니다. Device Manager는 주변에서 사용할 수 있는 Wi-Fi 네트워크가 6개라고 응답하며, Agent가 일반적인 모델 지식에만 의존하지 않고 기기 수준의 정보를 활용해 실용적인 요청에 답할 수 있음을 보여 줍니다.

PicoCalc의 Picoware Device Manager가 “주변에 네트워크가 몇 개 있나요?”라는 질문에 답하고 있습니다. 인터페이스에는 주변 Wi-Fi 네트워크 6개가 표시되며, 이는 에이전트가 로컬 AI와 기기에서 얻은 정보를 결합할 수 있음을 보여 줍니다.
이 지점에서 AI 에이전트는 일반 챗봇과 달라집니다. 언어 모델은 해석 및 지시 계층을 제공하고, 펌웨어는 실제로 이용할 수 있는 기기 작업과 정보 소스를 결정합니다.
소형 기기에 공유 로컬 AI 서버가 유용한 이유
이 아키텍처는 임베디드 AI 프로젝트의 기본적인 불일치를 해결합니다. 휴대성이 가장 뛰어난 기기일수록 언어 모델에 사용할 수 있는 연산 능력은 가장 부족한 경우가 많기 때문입니다.
공유 서버를 사용하면 이러한 절충점이 달라집니다. 개발자는 주머니에 들어가는 크기의 기기에 물리적 인터페이스를 유지하면서도 네트워크를 통해 더 강력한 로컬 머신에 접근할 수 있습니다.
| 핸드헬드에서 직접 AI 실행하기 | AI 서버로 ZimaBoard 2 사용하기 |
|---|---|
| 연산은 임베디드 프로세서로 제한됩니다. | AI 처리는 전용 x86 서버와 서버에서 사용 가능한 가속 하드웨어로 이동합니다. |
| 모델 크기는 기기 메모리에 크게 제한됩니다. | 서버는 자체 시스템 메모리, GPU VRAM 및 모델 파일 저장 공간을 사용할 수 있습니다. |
| 각 기기에는 자체 AI 구현이 필요합니다. | 여러 클라이언트가 하나의 로컬 추론 서비스를 공유할 수 있습니다. |
| 모델을 업데이트하려면 모든 기기를 변경해야 할 수 있습니다. | 모델은 서버 측에서 중앙 관리할 수 있습니다. |
| 핸드헬드는 인터페이스와 추론 작업을 모두 처리해야 합니다. | 핸드헬드는 인터페이스, 펌웨어, 네트워킹 및 기기별 기능에 집중할 수 있습니다. |
하나의 AI 백엔드, 여러 메이커 기기
JBlanked의 실험에서 특히 유용한 점 중 하나는 ZimaBoard 2가 단일 프런트엔드에 종속되지 않는다는 것입니다. PicoCalc와 Cardputer-ADV는 Picoware를 통해 참여할 수 있고, Flipper Zero는 자체 네트워킹 워크플로를 통해 동일한 로컬 AI 환경과 통신할 수 있습니다.
따라서 서버는 더 큰 메이커 랩에서 재사용할 수 있는 구성 요소가 됩니다. 새로운 마이크로컨트롤러나 휴대용 컴퓨터마다 AI 환경을 다시 구축하는 대신, 개발자는 추론 서비스를 중앙에 유지하고 각 기기에 적합한 클라이언트 통합 구축에 집중할 수 있습니다.
이 개념은 실험도 간소화할 수 있습니다. 핸드헬드를 교체하지 않고도 서버에서 모델을 변경할 수 있으며, 핸드헬드의 펌웨어는 AI 런타임과 독립적으로 발전할 수 있습니다.
이 실험이 입증하는 것과 입증하지 않는 것
JBlanked의 빌드는 로컬 AI가 임베디드 개발에 어떻게 활용될 수 있는지 보여 주는 유용한 사례이지만, 아키텍처와 성능 또는 보장에 관한 보장을 구분하는 것이 중요합니다.
| 실험이 보여 주는 것 | 보장하지 않는 것 |
|---|---|
| ZimaBoard 2는 임베디드 장치 클라이언트를 위한 로컬 Ollama 호스트로 작동할 수 있습니다. | 시연된 환경에 표시된 GPU 없이도 동일한 성능을 얻을 수 있는 것은 아닙니다. |
| ZimaOS 데모 환경은 12GB VRAM을 탑재한 NVIDIA GeForce RTX 3060을 인식합니다. | 모든 모델이 12GB VRAM에 들어가거나 동일한 속도로 실행되는 것은 아닙니다. |
| PicoCalc와 Cardputer-ADV는 로컬 AI 워크플로의 일부로 Picoware를 사용할 수 있습니다. | 모든 Picoware 기능이나 모델이 지원되는 모든 장치에서 동일하게 작동하는 것은 아닙니다. |
| Flipper Zero는 네트워크 기능을 갖춘 설정을 통해 로컬 AI 서버로 구조화된 요청을 보낼 수 있습니다. | Flipper Zero 자체에서 언어 모델이 실행되는 것은 아닙니다. |
| AI 에이전트는 앱 생성 및 장치 관리 워크플로를 지원할 수 있습니다. | AI가 생성한 코드, 해석 또는 명령이 자동으로 올바르거나 안전한 것은 아닙니다. |
| 하나의 로컬 서버에서 여러 소형 장치 인터페이스를 지원할 수 있습니다. | 로컬 네트워크가 인증, 격리 또는 완전한 개인정보 보호를 자동으로 제공하는 것은 아닙니다. |
로컬이라고 해서 구성이 전혀 필요 없는 것은 아닙니다
Ollama를 로컬에서 실행하면 모든 추론 요청을 호스팅된 챗봇 서비스로 보낼 필요가 없어지지만, 전체 시스템에는 여전히 일반적인 서버 및 네트워크 계획이 필요합니다.
초기 모델과 애플리케이션 패키지를 설치해야 하고, 핸드헬드 장치는 서버에 네트워크로 연결되어야 하며, 외부에 노출되는 서비스는 의도한 네트워크 경계를 고려해 구성해야 합니다. 또한 개발자는 장치 관리 기능을 활성화하기 전에 AI Agent가 호출할 수 있는 도구가 정확히 무엇인지 확인해야 합니다.
가속기 구성도 중요합니다. JBlanked의 ZimaOS 대시보드에 표시된 RTX 3060에는 12GB VRAM이 있으므로, 모델을 선택할 때 사용 가능한 GPU 메모리, 런타임 지원, 의도한 워크로드의 성능 요구 사항을 여전히 고려해야 합니다.
코드 생성 용도라면 백업이나 버전 관리가 특히 중요합니다. AI 지원 편집으로 사용할 수 없는 애플리케이션이나 펌웨어 구성이 생성되면 개발자는 돌아갈 수 있는 정상 작동 상태를 알고 있어야 합니다.
이와 같은 설정을 고려해 볼 만한 사람은 누구인가요?
이 아키텍처는 임베디드 장치를 이미 다루고 있지만, 모든 프로젝트를 클라우드 API 통합으로 전환하지 않고 로컬 LLM을 실험하고 싶은 개발자와 메이커에게 특히 흥미롭습니다.
다음과 같은 경우에 유용할 수 있습니다:
- Picoware 애플리케이션을 개발하는 Cardputer 및 PicoCalc 개발자.
- 네트워크에 연결된 도구를 실험하는 Flipper Zero 사용자.
- 테스트 하드웨어 가까이에서 AI 지원을 받고 싶은 임베디드 개발자.
- 로컬 서버에서 활용할 수 있는 또 다른 실용적인 워크로드를 찾는 홈랩 사용자.
- 여러 저전력 기기가 하나의 AI 백엔드를 공유하도록 하려는 메이커.
가끔 채팅이나 코드 생성만 필요하고 서버를 직접 관리하고 싶지 않은 사용자에게는 클라우드 AI 서비스가 여전히 더 간단할 수 있습니다. 모델 크기와 추론 속도가 가장 중요하다면 더 큰 워크스테이션이나 더 강력한 GPU가 장착된 시스템이 더 적합할 수도 있습니다.
AI 서비스를 동일한 홈랩 안에 두고 여러 독립 프로젝트에서 이용할 수 있도록 하는 것이 목표라면 ZimaBoard 2 방식은 더욱 매력적입니다.
메이커 랩을 위한 로컬 AI 허브 구축
JBlanked의 프로젝트는 로컬 AI의 유용한 방향을 보여 줍니다. 모든 소형 기기에서 언어 모델을 실행할 수 있는지 묻는 대신, 이러한 기기가 작업에 더 적합한 곳에서 실행 중인 공유 모델을 사용할 수 있는지 물어보는 것입니다.
ZimaOS가 ZimaBoard 2에서 Ollama를 호스팅하고, Picoware가 PicoCalc 및 Cardputer-ADV 같은 기기에 AI 지원 인터페이스를 제공하며, 네트워크를 활용하는 워크플로를 통해 Flipper Zero까지 동일한 환경에 연결하면, 이 시스템은 임베디드 실험을 위한 유연한 로컬 AI 허브가 됩니다.
네 가지 시연은 서버를 완전한 시스템으로 평가해야 하는 이유도 보여 줍니다. 휴대용 기기는 인터페이스와 하드웨어별 기능을 제공하고, Ollama는 모델 서빙 계층을 담당하며, ZimaOS에서 인식되는 GPU는 로컬 AI 워크로드에 추가 연산 리소스를 제공합니다.
동일한 플랫폼에서 로컬 모델이 무엇을 할 수 있는지 다른 관점에서 살펴보려면, 소형 서버 하드웨어, 모델 크기, 스토리지, AI 워크로드 간의 관계를 알아보는 ZimaBoard 2 로컬 AI 어시스턴트 테스트를 확인해 보세요.
설정과 기기 작동 방식을 직접 확인하려면 JBlanked의 전체 영상을 시청하거나, Agent와 지원 기기가 어떻게 연결되는지 알아보려면 GitHub의 Picoware 프로젝트를 확인해 보세요.
소형 서버, 로컬 AI, 독특한 하드웨어를 활용해 다른 빌더들이 무엇을 만들고 있는지 보고 싶으신가요? ZimaSpace Discord 커뮤니티에 참여하여 더 많은 빌드를 살펴보고, 구성을 비교하고, 직접 실험한 내용을 공유해 보세요.
지마 캠페인 허브
더 읽어보기

반려동물의 사진, 기록 및 안전 정보를 위한 개인용 디지털 허브 구축 방법
반려동물의 사진, 동영상, 의료 기록, 신분증 및 안전 정보를 위한 개인용 디지털 허브를 구축하세요. 모든 자료를 한곳에서 정리하고, 장기 보관과 실시간 반려동물 안전 도구를...

Bighenet이 ZimaBoard 2로 비공개 개인 클라우드를 구축하는 방법
Bighenet은 ZimaBoard 2와 ZimaOS를 통해 타사 클라우드 서비스에 대한 의존도를 줄이는 방법을 살펴봅니다. 이 안내에서는 재사용 가능한 포장, ZimaOS 대시보드, 로컬 파일 관리, 원격...

Zero Noichi가 10명의 에이전트로 AI 늑대인간 게임을 만든 방법
10개 에이전트로 진행되는 AI 늑대인간 게임의 프롬프트, 상태 머신, 음성 계층, 모델 라우팅 및 서버 아키텍처를 심층적으로 살펴봅니다.

