NeuroFab Z1 Neuromorphic Cluster Management System
A production-ready embedded cluster framework for spiking neural networks built around the NeuroFab Z1 platform.
Raspberry Pi Foundation - RP2350
x 1
SOLOMON SYSTECH - SSD1306 OLED Display
x 1
AP Memory Technology - APS6406L QSPI PSRAM
x 1
[PROJECT OVERVIEW]
The creator built a distributed spiking neural network (SNN) cluster named NeuroFab Z1, composed of RP2350B-based controller and compute nodes.
The controller node integrates W5500 Ethernet, an SSD1306 status OLED, and 8 MB of PSRAM to manage the cluster and expose a RESTful HTTP API.
Each compute node runs firmware that executes LIF (Leaky Integrate-and-Fire) neurons with STDP learning, using PSRAM as the backing store.
Nodes communicate over a 16-bit parallel “matrix bus” with collision detection, multi-frame transfer, and a dedicated command/data protocol.
The structure is meaningful because it shows a fully worked-out path from hardware topology to firmware, API, and CLI-level tooling for a neuromorphic cluster.
[KEY FEATURES (as implemented by the creator)]
- Production-ready RP2350B controller firmware with W5500-based HTTP server and OLED status display
- RP2350B compute node firmware implementing LIF neurons, STDP learning, and PSRAM-backed neuron tables
- 16-bit matrix bus for inter-node spike routing with collision avoidance and multi-frame payload support
- Unix-style Python CLI suite (nls, nping, ncat, ncp, nstat, nconfig, nsnn, etc.) for managing and observing the cluster
[TECHNICAL COMPOSITION]
Languages / Software Used
- Embedded C for controller and node firmware UF2 images
- Python 3 for CLI tooling and HTTP API interaction
- Standard HTTP/REST over Ethernet for management and monitoring
Hardware / Boards / Modules
- RP2350B-based boards (controller and compute nodes) with GPIO-strapped node IDs
- W5500 Ethernet controller for the controller node
- APS6404L 8 MB QSPI PSRAM on controller and compute nodes
- SSD1306 128x64 I2C OLED display (controller status)
- Parallel 16-bit matrix bus between nodes (GPIO0–15) plus dedicated node ID and LED pins
External Libraries & SDKs
- Raspberry Pi RP2 / Pico-class SDK toolchain (implied by UF2 flashing and RP2350 workflow)
- Python packages: requests, numpy (as listed in the README for tools)
Structure Overview (text diagram)
Controller Node
→ W5500 Ethernet (HTTP REST API, 21 endpoints)
→ SSD1306 OLED status display
→ Matrix bus master (16-bit GPIO)
→ PSRAM-backed cluster metadata and routing state
Compute Nodes (multiple)
→ RP2350B MCU
→ PSRAM storing neuron tables
→ SNN engine (LIF + STDP)
→ Matrix bus slave interface
Host / Operator
→ Python CLI tools using HTTP API
→ Shell-style commands for listing, pinging, deploying, and monitoring nodes
Technical Observations
- The project cleanly splits concerns: controller networking, SNN execution, and inter-node bus are distinct firmware responsibilities.
- The HTTP API is relatively large for an embedded controller (21 endpoints), which is unusual but powerful in this class of hardware.
- PSRAM is used as a capacity multiplier for neuron tables, combined with an LRU cache on-chip, showing careful memory hierarchy design.
- The use of Unix-like CLI tool names and behavior increases operator familiarity and keeps the cluster feel “server-like” despite MCU constraints.
[INDUSTRIAL & PRACTICAL RELEVANCE]
This type of cluster is relevant to low-power, edge-deployed neuromorphic systems where GPUs or large SoCs are impractical.
It maps well to embedded robotics, sensor fusion, and event-based processing where SNNs can exploit temporal sparsity.
The distributed design is also a strong teaching and prototyping platform for hardware engineers looking to scale beyond a single MCU.
Because the controller exposes a REST API, integration into existing monitoring stacks, lab infrastructure, or test harnesses is straightforward.
The structure mirrors industrial SCADA-style patterns while targeting neuromorphic workloads instead of classical control loops.
[NOVELTY IN THIS PROJECT]
The project’s novelty lies in its combination of:
- A fully defined neuromorphic cluster architecture on commodity RP2350B hardware
- PSRAM-backed neuron storage with LRU caching across multiple nodes
- A surprisingly rich HTTP control plane plus Unix-style CLI interface for an MCU-based SNN system
- A production-ready flavor, with explicit QA verification, release binaries, and a clear network configuration model
[ORIGINAL CREATOR PROFILE]
Name / Handle: AH ATX (GitHub: ahtx)
Background: Appears to be a developer with experience in embedded C, Python tooling, and general application development.
Interests: Neuromorphic computing, embedded systems, search tools, and AI-related projects (based on other public repositories).
Notable previous works: AHDiskSearch (desktop search with content awareness) and various language experiments (C#, JavaScript, Python).
[LINKS]
- Project / Repository: https://github.com/ahtx/neurofab-z1-cluster
- RP2350 MCU overview: https://www.raspberrypi.com/products/rp2350/
- W5500-EVB-Pico2 board: https://docs.wiznet.io/Product/Chip/Ethernet/W5500/w5500-evb-pico2
- APS6404L PSRAM (vendor info): https://www.apmemory.com/
- SSD1306 display info: https://www.datasheethub.com/ssd1306-128x64-mono-0-96-inch-i2c-oled-display/
[PROJECT OVERVIEW]
NeuroFab Z1은 RP2350B 기반 컨트롤러·컴퓨트 노드들로 구성된 분산 뉴로모픽 클러스터로,
MCU 환경에서 스파이킹 뉴런(SNN)을 다중 노드로 실행하도록 설계된 고급 임베디드 시스템이다.
뉴로모픽 컴퓨팅은 뇌의 뉴런 작동 원리를 전자 방식으로 모방한 계산 방식이다.
특징은 다음과 같다:
스파이크 기반 처리(SNN): 신호가 지속적으로 흐르지 않고, 사건이 일어날 때만 발화
초저전력: GPU 대비 매우 낮은 전력 소비
시간 정보 활용: 이벤트·로봇·센서·신호처리에 최적
엣지 환경에 적합: MCU에서도 충분히 동작 가능
즉,
“신경망을 MCU에서 돌리는 방식”이 아니라
“신경세포의 시간적 발화 패턴을 모방한 새로운 컴퓨팅 패러다임”이다.
컨트롤러는 W5500 이더넷, SSD1306 OLED, 8 MB PSRAM을 사용하여 클러스터를 관리하고 RESTful HTTP API를 노출한다.
각 컴퓨트 노드는 LIF 뉴런과 STDP 학습을 수행하는 펌웨어를 실행하며, 뉴런 테이블은 외부 PSRAM에 저장된다.
노드 간 통신은 16비트 병렬 “매트릭스 버스”를 통해 이루어지며, 충돌 감지와 다중 프레임 프로토콜을 포함한다.
이 구조는 하드웨어 토폴로지부터 펌웨어, API, CLI까지 역할이 명확히 나뉘어 있어 임베디드 분산 시스템 설계에 좋은 참고가 된다.
[KEY FEATURES (as implemented by the creator)]
- RP2350B 컨트롤러 펌웨어: W5500 기반 HTTP 서버, OLED 상태 표시, 매트릭스 버스 마스터
- RP2350B 컴퓨트 노드 펌웨어: LIF 뉴런, STDP 학습, PSRAM 기반 뉴런 테이블, LRU 캐시
- 16비트 매트릭스 버스: 명령/데이터 프로토콜, 충돌 회피, 대용량 데이터 다중 프레임 전송
- 유닉스 스타일 Python CLI 도구군: nls, nping, ncat, ncp, nstat, nconfig, nsnn 등
[TECHNICAL COMPOSITION]
Languages / Software Used
- 임베디드 C (컨트롤러·노드용 UF2 펌웨어)
- Python 3 (HTTP API 및 클러스터 관리 CLI)
- 이더넷 기반 HTTP/REST 통신
Hardware / Boards / Modules
- RP2350B 보드(컨트롤러·컴퓨트 노드)
- W5500 이더넷 컨트롤러(컨트롤러 노드)
- APS6404L 8 MB QSPI PSRAM (컨트롤러·노드 공통)
- SSD1306 128x64 I2C OLED (컨트롤러 상태 표시)
- 16비트 병렬 매트릭스 버스 (GPIO0–15) 및 노드 ID/LED용 GPIO
External Libraries & SDKs
- RP2 / Pico 계열 SDK (UF2 플로우, RP2350 기반 보드 사용으로 추정)
- Python: requests, numpy (README에 명시)
Structure Overview (text diagram)
컨트롤러 노드
→ W5500 이더넷 (HTTP REST API, 21개 엔드포인트)
→ SSD1306 OLED 상태 표시
→ 매트릭스 버스 마스터
→ PSRAM 기반 클러스터 메타데이터·라우팅 관리
컴퓨트 노드(여러 개)
→ RP2350B MCU
→ PSRAM에 뉴런 테이블 저장
→ LIF 뉴런 + STDP 학습 엔진
→ 매트릭스 버스 슬레이브
호스트 / 운영자
→ Python CLI 도구
→ 노드 목록 조회, 핑, 배포, 상태 모니터링, 스파이크 주입 등 수행
Technical Observations
- 컨트롤러/컴퓨트/버스가 역할별로 잘 분리되어 있어, 유지보수와 성능 튜닝 포인트가 명확하다.
- MCU 기반 시스템 치고 HTTP API 엔드포인트 개수가 많은 편이라, 상위 시스템 연동이 매우 유연하다.
- PSRAM + LRU 캐시 구조로, MCU 환경에서 뉴런 수를 공격적으로 늘리기 위한 메모리 계층 설계를 보여준다.
- CLI 명령 이름과 UX를 유닉스 서버 느낌으로 맞춰 둔 덕분에 “MCU지만 서버처럼” 다루기 쉽다.
[INDUSTRIAL & PRACTICAL RELEVANCE]
GPU나 대형 SoC를 쓰기 어려운 엣지 환경에서 뉴로모픽 처리를 하고 싶은 경우 유용한 구조다.
로봇, 이벤트 기반 센서, 시간 정보가 중요한 신호 처리 등 SNN이 적합한 영역에서 응용 가능성이 크다.
REST API를 통해 기존 모니터링/오케스트레이션 시스템에 붙이기 쉽기 때문에 연구용뿐 아니라 PoC 장비로도 쓸 수 있다.
SCADA 스타일의 감시·제어 패턴을 뉴로모픽 워크로드에 적용한 사례로도 해석할 수 있다.
[NOVELTY IN THIS PROJECT]
- RP2350B + PSRAM + 매트릭스 버스로 구성된 완결형 뉴로모픽 클러스터 아키텍처
- PSRAM 기반 뉴런 저장소 + LRU 캐시라는 메모리 계층 설계를 MCU 레벨에서 구현한 점
- MCU를 컨트롤 플레인(HTTP)과 데이터 플레인(SNN 실행)으로 분리한 구조
- QA 리포트, PRODUCTION_READY 이미지를 포함한 “제품 지향” 스타일의 공개 프로젝트라는 점
[DEMO SUMMARY (based on creator's materials)]
- 사용자는 컨트롤러·노드 보드를 RP2350B 기반 보드로 준비하고, 제공된 PRODUCTION_READY UF2 이미지를 플래싱한다.
- 컨트롤러 기본 IP(예: 192.168.1.222)로 ping 및 /api/status HTTP 요청을 보내 동작을 확인한다.
- Python CLI에서 환경변수로 컨트롤러 IP를 설정한 뒤, nls, nping, nsnn 등을 통해 노드 검색·배포·상태 조회를 수행한다.
- OLED에는 클러스터 상태가 표시되고, 노드들은 매트릭스 버스를 통해 스파이크를 주고받으며 SNN을 실행한다.
[ORIGINAL CREATOR PROFILE]
- Name / Handle: AH ATX (GitHub: ahtx)
- Background: 임베디드 C, Python 도구, 데스크톱 검색/AI 관련 프로젝트를 함께 다루는 개발자.
- Interests: 뉴로모픽 컴퓨팅, 검색 시스템, AI/툴체인, 다양한 언어(C, C#, JS, Python) 활용.
- Notable previous works: AHDiskSearch, 여러 언어 실험용 레포지토리.
[LINKS]
- 프로젝트 / 레포: https://github.com/ahtx/neurofab-z1-cluster
- RP2350 MCU: https://www.raspberrypi.com/products/rp2350/
- W5500-EVB-Pico2: https://docs.wiznet.io/Product/Chip/Ethernet/W5500/w5500-evb-pico2
- APS6404L PSRAM: https://www.apmemory.com/
- SSD1306 디스플레이: https://www.datasheethub.com/ssd1306-128x64-mono-0-96-inch-i2c-oled-display/


