
Building a custom cyberdeck often involves balancing processing capability, peripheral interface, and power portability. The Microcifra 26 Cyberdeck leverages the LattePanda IOTA paired with a targeted UPS Hat setup to solve these challenges in a single, integrated platform.

The LattePanda IOTA (DFRobot) serves as an effective foundation for x86 cyberdecks due to its dual-compute architecture:
x86 Processing Performance: Powered by an Intel Processor N150 (4C/4T), up to 16GB LPDDR5 RAM, and on-board eMMC storage (with expandable SSD support). This allows running full desktop Linux distributions (such as Ubuntu LTS), command-line tools (cool-retro-term, fswebcam), local AI inference engine runtimes (llama.cpp), and retro-gaming emulators.
Integrated Microcontroller Co-Processor: Features an onboard Raspberry Pi RP2040. The RP2040 runs independently via MicroPython to handle hardware inputs and realtime peripherals without placing overhead on the main Linux system:
Servo Control: Drives pan/tilt camera mechanics for surveillance scripts.
Sensors & Input: Reads potentiometers, toggle switches, and specialized joysticks via GPIO/ADC.
Feedback Displays: Commands rear 8x8 MAX7219 LED matrices and audio buzzers directly via MicroPython scripts (main.py).

Parts List

| Category | Component | Description / Details |
|---|---|---|
| Core Computing | LattePanda IOTA | Intel N150 SBC with integrated RP2040 coprocessor |
| Power System | UPS Hat Module + 3x 18650 Batteries | Provides continuous battery power and regulated output |
| Display & Input | 7" eDP Display Screen | Ribbon cable connection directly to LattePanda eDP header |
| USB Mini Keyboard | Primary text entry device | |
| KY-023 Joystick (Optional) | Connected to RP2040 ADC pins for retro gaming | |
| Peripherals | USB Camera with Microphone | Mounted on servo arm for pan/tilt operation |
| SG90 Servo Motor | Drives camera sweep pan (0° to 180°) | |
| 3W Speaker + 3W Micro Amplifier | System audio output | |
| Buzzer | Simple audible feedback/alerts | |
| UI & Controls | 8x8 MAX7219 LED Matrix | Rear display for public broadcast messages |
| 100k Potentiometer | Manual servo control / input selection | |
| Toggle Switch | Surveillance mode toggle | |
| Push Button Switch | Power on/off cycle | |
| Storage | 128GB SSD / eMMC | Primary boot drive (Ubuntu LTS) |
Circuit & Wiring Setup

All low-level sensors, actuators, and switches connect to the onboard RP2040 header pins.
Pinout Connections
LattePanda RP2040 Header:
GP0 -> Servo Signal (Orange)
GP1 -> Toggle Switch Signal
GP2 -> MAX7219 CLK
GP3 -> MAX7219 DIN
GP4 -> MAX7219 CS
GP10 -> Buzzer Signal
GP11 -> Potentiometer Wiper (Center Pin)
GP26 -> Optional Joystick X-Axis
GP27 -> Optional Joystick Y-Axis
GP7 -> Optional Joystick Switch
SW/GND -> Main Power Button
5V/GND -> Common VCC/GND rail for sensors and components

3D Enclosure Design
Software: Modeled in Autodesk Fusion 360.
Slicing & Printing: Split into modular housing pieces to fit on compact print beds like the Bambu Lab A1 mini.

Internal Structural Mounts: Includes dedicated bays for the 7-inch panel, LattePanda mainboard, UPS battery tray, 3W speaker box, and rear MAX7219 matrix window.
Camera Turret: Top/side-mounted swivel assembly driven by the SG90 servo motor.

Software Architecture & Features
Dual-Layer Setup
Linux Layer (Intel N150): Runs Ubuntu LTS for main host software, local LLMs (llama.cpp), automation routines, and camera capturing (fswebcam).
RP2040 Coprocessor Layer: Runs MicroPython (main.py) to manage realtime I/O independently of the OS.

Surveillance Mode Workflow
Flip the toggle switch on GP1 to activate.
The RP2040 steps the servo to 0, 90, and 180 degrees.
The host script captures pictures via fswebcam at each angle.
Images are converted into green-tinted low-fi CCTV pictures and saved to /pics.
Ambient sound clips are logged to /wav.

Rear Matrix Broadcast
Displays animated bar patterns during idle states.
Displays scrolling text messages sent from host.py on command.
Triggers short buzzer beeps to alert observers in public spaces.
Source code
https://github.com/ronibandini/Microcifra26









