Final Project

Loco Pik

A small alien companion living on your desk.

Loco Pik is a group of soft, curious, and emotional alien-like creatures. They do not mainly communicate through human language, but through movement, light, sound, and simple emotional reactions.

World View

Loco Pik is a group of small alien-like companions from a distant planet. They quietly land on Earth and begin to live on human desks. They are not cold machines or traditional functional robots. Instead, they are soft, curious, and emotional little creatures that accompany people in daily life.

Loco Pik does not mainly communicate through human language. It senses the surrounding environment and expresses itself through small body movements, light, sound, and simple emotional reactions. When it sees something interesting, it may become curious. When it reaches the edge of the table, it becomes nervous and moves backward. When there is no interaction for a long time, it may slowly enter a sleepy state.

In this fictional world, Loco Pik does not have a fixed body shell. Its outer shell can change according to different environments, materials, and emotional states. Some shells may look like stone, wood, ceramic, moss, or other natural textures. This setting explains why the robot can have replaceable shells and why AI-generated forms and 3D printing can be used to create different bodies for the same internal system.

Research

The core idea of Loco Pik is language-free emotional companionship. Instead of designing it as a voice assistant that only answers questions, I want it to feel like a small living creature on the desk. Its emotional interaction is built from several physical outputs: leg movement, ambient light, and short sound feedback. These outputs allow the robot to show different states such as happy, curious, nervous, sleepy, and idle.

The robot will use the Seeed Studio XIAO ESP32S3 Sense as the main controller. This board provides Wi-Fi, BLE, an onboard camera, and an onboard digital microphone. The camera can be used for simple visual sensing, such as detecting objects on the desk. The microphone is kept as a sound input for future voice interaction. For the first working prototype, the goal is not to run a complete large language model inside the robot. Instead, the focus is to build a stable physical system that can sense the environment, move safely, and express emotion through simple behaviors.

The outer shell will be fabricated mainly through 3D printing. By combining AI-generated form exploration with 3D modeling and 3D printing, the robot can have a soft, organic, and non-mechanical appearance. The current front design uses two sensing holes: one for the camera and one for the microphone sound input. A bottom LED will be used as an ambient emotional light, so the front face can remain simple and mysterious.

Loco Pik research image
Early concept image showing the soft alien-like form and emotional companion direction of Loco Pik.

First Sketch

This is my first concept sketch, along with AI-generated conceptual product renderings based on it. These early images helped me explore the personality, body proportion, surface texture, and interaction direction of Loco Pik. At this stage, the design still included many possible technologies, such as AI dialogue, NFC interaction, emotional sound, replaceable shells, and body movement.

First sketch of Loco Pik
My first concept sketch of Loco Pik, showing the early body proportion and interaction direction.
AI generated Loco Pik concept image
AI-generated concept rendering based on the first sketch. It helped me explore the soft alien-like appearance of Loco Pik.

Midterm Update

From concept to a
buildable robot system.

At the midterm stage, I refined the project scope. The world setting and emotional companion concept are kept, but the first prototype now focuses on movement, sensing, edge detection, sound output, and a custom PCB.

What I Keep From the Original Concept

The world view of Loco Pik is still the foundation of the project. Loco Pik is still a group of small alien companions from a distant planet. They are not designed as cold machines, but as warm and curious desktop creatures. The organic body, the replaceable shell, the alien identity, and the language-free emotional interaction are all kept.

The project also keeps the idea of using AI-generated visual exploration and 3D printing to create natural shells. The shell can be inspired by wood, stone, ceramic, moss, or other natural materials. This makes the robot less mechanical and more like a small creature with its own personality.

What I Reduced or Moved to Later Versions

Some early functions were interesting, but they would make the first prototype too complex. At the midterm stage, I decided to reduce them or move them to future versions.

Original Idea Midterm Decision Reason
Full AI dialogue inside the robot Moved to future extension ESP32-S3 cannot run a full large language model locally. The first version will focus on sensing and emotional behavior.
Front screen facial expression Removed from first prototype The current front face uses one camera hole and one microphone sound hole. Emotional expression will be shown through movement, bottom light, and sound.
Two LED eyes Changed to one bottom ambient LED The front face should remain simple. The bottom LED can create a softer emotional atmosphere.
Vibration motors Removed from first prototype Four servo legs already provide enough physical expression for the first version.
Magnetic social interaction between robots Moved to later version This requires multiple robots and extra sensing design, so it is not part of the first build.
NFC feeding and emotion cards Optional extension NFC interaction is still interesting, but the first priority is movement, sensing, sound, and power stability.

What I Added or Clarified

During the midterm development, I clarified the hardware system and separated the project into smaller functional parts. Instead of treating the robot as one complex system, I divided it into sensing, movement, sound, light, power, and structure. This helped me decide which parts should be kept in the first prototype and which parts should be moved to future versions.

I first made a hand-drawn wiring plan to understand how the XIAO ESP32S3 Sense, PCA9685 servo driver, servos, ToF sensor, camera, speaker amplifier, LED, NFC module, and battery could be connected together. This sketch helped me check the relationship between different modules before making the PCB. In the later simplified version, I removed the TCRT5000 sensor and kept only one ToF distance sensor for obstacle and edge-distance testing.

Hand-drawn wiring plan of the Loco Pik hardware system
Early hand-drawn wiring plan of the Loco Pik hardware system. This sketch helped me clarify the relationship between the XIAO ESP32S3 Sense, servo driver, servos, ToF sensor, camera, speaker amplifier, LED, NFC module, and power system before designing the custom PCB.
Part Hardware Choice Purpose
Main controller Seeed Studio XIAO ESP32S3 Sense Camera, onboard microphone, Wi-Fi / BLE, and robot control.
Camera Original camera or compatible OV5640 camera Used for simple visual sensing. A 24Pin 0.5mm FFC/FPC extension cable may be tested.
Microphone Onboard PDM microphone The second front hole will be used as a microphone sound hole. No external microphone is planned for the first version.
Leg movement 4 × MG90S micro servos Four legs create emotional movement and simple wandering behavior.
Servo control PCA9685 servo driver Controls four servos through I2C and reduces GPIO usage on the XIAO.
Sound output MAX98357A I2S amplifier + small speaker Plays emotional sound effects instead of full human speech.
Distance sensing VL53L0X / VL53L1X ToF sensor Detects table edge or obstacles by measuring distance.
Light feedback WS2812B bottom LED Creates emotional ambient light from the bottom of the robot.
Power system 2S LiPo battery + 5V / 6V 5A UBEC Provides stable current for four servos, speaker, and LED.

Connection With Previous Weeks

The current version of Loco Pik is not an isolated final project idea. It is gradually developed from the skills and experiments I completed in previous Fab Academy weeks. Each weekly assignment helped me test one part of the final system, including electronics design, electronics production, output devices, camera-based AI recognition, and digital fabrication.

Through these weekly experiments, I started to understand how the final robot should be divided into smaller technical systems: structure, movement, sensing, output, power, and interaction. The midterm stage helped me connect these separate tests into one clearer final project plan.

Previous Week Experiment Connection to Final Project
Week 06 — Electronics Design Designed and tested a custom PCB layout. This experience helped me design the first version of the final robot PCB, including the XIAO socket, servo connectors, LED output, power input, and signal routing.
Week 08 — Electronics Production Milled, soldered, and checked a single-sided PCB. The same CNC PCB fabrication process will be used for the custom interface board of Loco Pik.
Week 10 — Output Devices Tested output devices such as a servo motor and LED. The servo test became the basis for the four-leg movement system. The LED test also influenced the bottom ambient light design.
Week 11 — Networking and AI Recognition Tested camera-based recognition using an AI model. This experiment supports the visual sensing direction of the final robot, such as recognizing an apple or detecting objects on the desk.
3D Design and 3D Printing Modeled and fabricated physical parts through 3D printing. These skills will be used to fabricate the round outer shell, internal supports, camera holder, sensor holder, and four short legs.

System Diagram and Hardware Architecture

This system diagram shows how the main controller, sensing modules, output devices, movement system, and power system are connected in the first prototype of Loco Pik. The updated hardware system is organized around the XIAO ESP32S3 Sense. The camera and microphone are used as the front sensing organs. The PCA9685 servo driver controls four MG90S servos through the I2C bus. The ToF sensor, optional PN532 NFC module, and PCA9685 can share the same I2C bus. The MAX98357A amplifier uses I2S for sound output, while the WS2812B LED provides bottom ambient light.

The power system is separated from the XIAO logic power. The servos and audio amplifier will be powered by an external 5V or 6V UBEC, while the XIAO only sends control signals. All GND lines must be connected together.

XIAO Pin Connected Module Function
D4 / GPIO5 PCA9685, ToF, optional PN532 I2C SDA
D5 / GPIO6 PCA9685, ToF, optional PN532 I2C SCL
D0 / GPIO1 MAX98357A I2S BCLK
D1 / GPIO2 MAX98357A I2S LRC
D3 / GPIO4 MAX98357A I2S DIN
D8 / GPIO7 WS2812B Bottom ambient LED
System diagram of Loco Pik
System diagram of Loco Pik, showing the relationship between the XIAO ESP32S3 Sense, camera, microphone, PCA9685 servo driver, four servos, ToF distance sensor, MAX98357A speaker amplifier, bottom LED, and power system.

First Version of the Final PCB

Based on the electronics design experience from Week 06, I designed the first version of the PCB for the final project. This PCB is not the complete final control system yet, but it is an important step toward integrating the robot's hardware into a cleaner structure.

The first PCB focuses on organizing the basic connections for the XIAO board, servo connectors, LED output, power input, and extra pin headers. It helps reduce messy jumper wires and makes the robot easier to assemble inside the small 3D printed body.

First version PCB layout
The PCB layout of the first version of my final project board.
First version PCB 3D preview
3D preview of the first version PCB, used to check the component placement and connector direction.
First version PCB schematic
Schematic of the first version PCB for organizing the XIAO board, connectors, LED output, and power input.
Milled first version PCB
The first version of the final project PCB after CNC milling.

After milling the board, I soldered the pin headers and checked the basic connection layout. This version is mainly used to verify the physical arrangement of the connectors and the feasibility of the single-sided PCB. From this test, I can further adjust the board size, connector direction, and power routing for the next version.

Soldered first version PCB
The first version PCB after soldering the pin headers and connectors.
Camera module for XIAO ESP32S3 Sense
The camera module for XIAO ESP32S3 Sense. I will test whether a short 24Pin 0.5mm FFC/FPC cable can be used to extend it to the front shell.

Mechanical Structure

The robot will use a round 3D printed body. The front shell has two holes. One hole is used for the camera, and the other one is used as a microphone sound hole. This creates a simple alien-like face while keeping the sensing functions visible.

The current version has four servo-driven legs. The four MG90S servos will be mounted around the lower body to create simple walking, turning, and emotional movement. The legs are not designed for fast walking, but for small desktop movements and expressive body gestures.

The camera should be placed close to the shell opening. If the lens is too far from the hole, the shell may block the camera view. Therefore, I will either place the XIAO ESP32S3 Sense close to the front shell or test a short 24Pin 0.5mm FFC/FPC camera extension cable. If the camera extension becomes unstable, I will return to the safer structure where the whole XIAO ESP32S3 Sense board is mounted near the front face.

The bottom of the robot will contain the battery, UBEC, speaker, ToF distance sensor, and bottom ambient LED. In this version, I kept only one ToF distance sensor for obstacle and edge-distance testing.

Line drawing of the current version of Loco Pik
Line drawing of the current version of Loco Pik, showing the front view, side view, bottom view, and internal layout.
Section view of Loco Pik internal structure
Section view of the internal structure, showing how the XIAO ESP32S3 Sense, camera, microphone, custom PCB, battery, speaker, ToF distance sensor, bottom LED, and four servo legs are arranged inside the round shell.

Updated Behavior Plan

The robot will not rely on a large AI model to control every movement. Instead, it will use a behavior-based system. The camera and ToF distance sensor provide input, and the program decides the emotional state and movement response.

Input State Output Behavior
Camera detects an object or apple Curious / happy Move closer, play a cute sound, and turn on the bottom light.
ToF distance sensor detects a table edge or close obstacle Nervous Stop, move backward, turn away, and play a nervous sound.
No interaction for a long time Sleepy Slow movement, low light, and quiet sound.
Optional NFC card detected Specific interaction mode Trigger feeding, comfort, sleep, or play mode.
sense the environment → decide a simple emotional state → move the legs → play sound → show bottom light

Tasks to Be Completed

Task Status Next Step
Finalize the system diagram In progress Update the diagram after the final PCB and sensor choices are confirmed.
Test XIAO ESP32S3 Sense camera and microphone In progress Check camera position and microphone opening in the shell.
Test four MG90S servos with PCA9685 To do Build simple walking, turning, and emotional movement patterns.
Test ToF distance sensor To do Use it for obstacle and edge-distance detection.
Test MAX98357A speaker output To do Play short emotional sound effects.
Test bottom ambient LED To do Connect light colors to different emotional states.
Design and mill the next PCB version To do Improve power routing, connector direction, and servo power stability.
Model and 3D print the shell To do Prepare the outer shell, internal frame, sensor holder, and leg parts.
Integrate all systems To do Assemble electronics, movement, power, and shell into one working prototype.

About AI Dialogue

For the AI dialogue part, I confirmed that I will use xiaozhi-esp32 as the main technical reference for future development. xiaozhi-esp32 is an open-source ESP32-based AI chatbot project built around MCP. It uses ESP32 hardware as a voice interaction terminal and connects the device to large model capabilities through network communication.

According to the project documentation, xiaozhi-esp32 supports Wi-Fi, offline voice wake-up, WebSocket or MQTT + UDP communication, OPUS audio codec, and a streaming ASR + LLM + TTS voice interaction architecture. It also supports ESP32-C3, ESP32-S3, and ESP32-P4 platforms, and can control device-side modules such as speakers, LEDs, servos, and GPIO through MCP.

This is useful for Loco Pik because the robot also needs to connect AI dialogue with physical behaviors. In the first prototype, I will still focus on local sensing, movement, emotional sound, and bottom light feedback. After the basic robot system becomes stable, xiaozhi-esp32 can be used as the next step to add voice conversation, wake-up interaction, and AI-controlled emotional behaviors.

Updated Materials List / Midterm BOM

This is the midterm version of the bill of materials. At this stage, all components are planned to be sourced from Taobao. The prices are estimated midterm values and will be updated in the final documentation after actual purchasing, fabrication, and system integration.

Category Component Quantity Source Estimated Cost Purpose
Main controller XIAO ESP32S3 Sense 1 Taobao ¥95–130 Main control, camera, microphone, Wi-Fi / BLE.
Camera Original camera / compatible OV5640 camera 1 Taobao ¥35–60 Visual sensing and object recognition.
Camera cable 24Pin 0.5mm FFC/FPC cable 1 Taobao ¥5–15 Optional camera extension test.
Movement MG90S metal gear servo 4 Taobao ¥40–60 Four legs and emotional movement.
Servo driver PCA9685 16-channel PWM servo driver 1 Taobao ¥12–20 I2C servo control.
Sound output TR-WS-2014B 1 Taobao ¥8–15 Drives the speaker.
Speaker 4Ω / 8Ω small speaker 1 Taobao ¥5–15 Plays emotional sound effects.
Distance sensor VL53L0X / VL53L1X ToF sensor 1 Taobao ¥10–35 Obstacle and edge-distance detection.
Light WS2812B LED module / small LED ring 1–4 Taobao ¥3–20 Bottom emotional ambient light.
Power 2S LiPo battery 1 Taobao ¥35–70 Main battery for the robot.
Power 5V / 6V 5A UBEC 1 Taobao ¥15–35 Stable power for servos, speaker, and light.
Power switch Mini slide switch / power switch 1 Taobao ¥2–8 Main power control.
Protection Schottky diode / basic power protection component 1 Taobao ¥1–5 Basic protection for the power system.
Connectors Pin headers, Dupont wires, screw terminals Several Taobao ¥10–25 Prototype wiring and module connection.
PCB Copper-clad board / custom interface PCB material 1 Taobao ¥5–15 Custom power and interface PCB for system integration.
Structure 3D printing filament / resin 1 set Taobao ¥10–30 Main body, replaceable shell, internal mounts, and legs.
Total Midterm estimated total - Taobao About ¥291–558 This is a midterm estimate. The final cost will be updated after the actual prototype is purchased, fabricated, and assembled.