MechSoul Bluetooth Control Tutorial: Wirelessly Operate Your DIY Robot with Raspberry Pi Pico

Build a Bluetooth-controlled DIY robot with Raspberry Pi Pico using SerialBLE and HIRO libraries.
This MechSoul tutorial guides you through wirelessly controlling a DIY robot via Bluetooth using a Raspberry Pi Pico, Arduino IDE, the SerialBLE library, and Takamori Robot's HIRO library. It covers the core tech stack, hardware preparation, and step-by-step setup, all while championing the open-source, Right to Repair, and DIY maker ethos.
What Is MechSoul?
In the DIY robotics community, an exciting new concept is gaining traction—MechSoul. In a nutshell: MechSoul is to robots what CyberDeck is to computers.
CyberDeck is a cultural phenomenon in the DIY computing community, inspired by the portable hacking terminals described in William Gibson's 1984 cyberpunk novel Neuromancer. In the real world, CyberDeck enthusiasts use Raspberry Pis, salvaged laptop parts, 3D-printed enclosures, and other materials to build fully personalized portable computers. These devices often sport distinctive designs with a strong cyberpunk aesthetic, while remaining fully functional computers. The CyberDeck movement isn't about outperforming commercial products—it's about having complete control over your technology and expressing your individuality. MechSoul extends this spirit into the realm of robotics.
It's not a factory-made robot off an assembly line—it's a robot you build, customize, and personalize with your own hands. At its core, MechSoul embodies the idea of "ownership":
- Freedom to own your code — you write and control the software logic
- Freedom to own your hardware — you choose and assemble the components
- The right to build and repair — you can disassemble, modify, and fix it
More importantly, MechSoul carries a sense of creative pride—it's a crystallization of skill, creativity, and self-expression. This aligns closely with the "Right to Repair" movement and the open-source hardware ethos prevalent in the DIY hardware community. The Right to Repair movement is a global consumer advocacy effort that has gained significant momentum in recent years, pushing back against manufacturers who use software locks, proprietary parts, and withheld repair manuals to prevent users from repairing their own products. Apple, Tesla, and John Deere have all been major targets of this movement. Since 2021, multiple U.S. states and the European Union have begun advancing related legislation. In the hardware community, the Right to Repair is closely linked to the open-source hardware movement (such as OSHWA certification), collectively advocating for users' complete rights to modify, repair, and repurpose the products they purchase. MechSoul takes these ideals and materializes them into an actionable robotics project.

Tutorial Goal: Wireless Robot Control via Bluetooth
This is Part 2 of the MechSoul tutorial series, focusing on an extremely practical feature—remotely controlling your robot via Bluetooth.
For any robotics project, breaking free from cables is a key milestone. Wired control is stable, but it severely limits the robot's range of motion and potential use cases. With Bluetooth wireless control, you can operate your robot in real time from a phone, computer, or other device within a certain distance, transforming the project from a "desktop experiment" into a "truly usable creation."
This tutorial is built on the Arduino IDE development environment. Arduino IDE is one of the most popular entry-level embedded development environments worldwide, with a user base exceeding 30 million. Its success lies in an extremely simplified development workflow: the Board Manager system allows users to add support for different chip platforms with a single click, while the Library Manager provides one-stop installation of over 7,000 open-source libraries. Although Arduino originally only supported its own AVR-series development boards, third-party board support packages now cover mainstream platforms including ESP32, STM32, and Raspberry Pi Pico. The Arduino IDE 2.x version released in 2023 was rebuilt on the VS Code core, adding modern IDE features like code auto-completion and live debugging while retaining a beginner-friendly, clean interface. The technology stack selection in this tutorial makes full use of existing mature open-source libraries, avoiding unnecessary reinvention.
Core Technology Stack Explained
Hardware Core: Raspberry Pi Pico
This tutorial uses the Raspberry Pi Pico as the main controller board. This microcontroller board from the Raspberry Pi Foundation has become a popular choice for DIY electronics and robotics projects, thanks to its low price, the powerful RP2040 chip, and an active community.
The RP2040 is the first microcontroller chip independently designed by the Raspberry Pi Foundation, featuring a dual-core ARM Cortex-M0+ architecture with a maximum clock speed of 133MHz and 264KB of built-in SRAM. Its most distinctive design feature is the Programmable I/O (PIO) subsystem—8 independent state machines that can emulate virtually any digital interface protocol, from WS2812 LED driving to VGA signal output, all without consuming CPU resources. The chip is priced at approximately $0.70 (bulk pricing), allowing Pico development boards based on it to be priced as low as $4—far below competing products with similar performance. The Pico W variant additionally integrates an Infineon CYW43439 wireless chip, supporting Wi-Fi 4 and Bluetooth 5.2 (including BLE), which is the hardware foundation that makes Bluetooth control possible in this tutorial.
Bluetooth Communication: SerialBLE Library
Wireless communication is achieved through the SerialBLE library provided by the Raspberry Pi Pico Board Manager.
BLE (Bluetooth Low Energy) is the dominant communication protocol for IoT and wearable devices. It's the low-power sub-protocol introduced in the Bluetooth 4.0 specification, sharing the 2.4GHz band with Classic Bluetooth but using a completely different protocol stack. BLE is designed for intermittent small-data-volume transmission, with peak power consumption roughly one-tenth that of Classic Bluetooth—a single coin cell battery can sustain months of operation. Its communication model is based on the GATT (Generic Attribute Profile) architecture, organizing data through a hierarchical structure of Services and Characteristics. In robot control scenarios, BLE has a typical effective communication range of 10–30 meters with data throughput of approximately 1Mbps—more than sufficient for sending control commands, though not suitable for high-bandwidth scenarios like video streaming.
The beauty of the SerialBLE library is that it wraps Bluetooth communication into a serial-port-like (Serial) interface—developers can send and receive data just as they would with a wired serial connection, significantly lowering the barrier to wireless development.
Robot Motion Control: HIRO Library's Serial_Control Example
Actual robot motion control is handled by the HIRO library from Takamori Robot. The tutorial directly uses the library's Serial_Control example as its foundation.
The overall design philosophy is very clear:
Combine the SerialBLE library with the HIRO library's Serial_Control example — the former converts Bluetooth data into a serial data stream, and the latter parses serial commands to drive the robot to perform corresponding actions.
This "serial bridge" architecture is a classic approach in embedded development—through a unified serial abstraction layer, regardless of whether the underlying transport is a USB cable or Bluetooth, the upper-level control logic requires almost no modification. The core idea behind this design pattern stems from the Unix philosophy of "everything is a file." Under this architecture, upper-level applications only need to program against a unified serial read/write interface, while the underlying physical transport medium (USB, Bluetooth, Wi-Fi, ZigBee, etc.) is abstracted into interchangeable modules. This decoupling brings tremendous flexibility: you can use stable USB serial debugging during development and switch to wireless transmission during deployment, with virtually zero modifications to the core control code. The Arduino ecosystem takes this pattern to the extreme—the Stream base class unifies Serial, SoftwareSerial, BLESerial, and other implementations, allowing developers to switch communication methods simply by swapping object instances.
In other words, if you've already gotten wired serial control working, migrating to Bluetooth control comes at very low cost.
Three Highlights of the MechSoul Tutorial
From a learning perspective, this MechSoul series excels in several areas:
Open source and reproducible. The tutorial author provides complete code and reference materials on GitHub, allowing readers to follow along with the code hands-on. This aligns with the open-source hardware community's core values of "reproducible and verifiable." In the open-source hardware space, "reproducibility" means anyone should be able to fully replicate the entire project from scratch using only publicly available documentation, code, and a Bill of Materials (BOM). This principle mirrors the reproducibility requirements in academic research and forms the cornerstone of community trust.
Modular instructional design. The complex task of robot control is broken down into a "communication layer" and a "control layer," each addressed by a mature library. This makes it much easier for beginners to understand the system's overall architecture without getting bogged down in low-level protocol details. This layered thinking is also the standard methodology in professional embedded system design—in industrial-grade projects, communication protocol stacks, sensor drivers, motion control algorithms, and application logic are typically strictly separated into independent software layers, interacting through well-defined interfaces to facilitate team collaboration and long-term maintenance.
Philosophy-driven practice. MechSoul is more than just a technical tutorial—it conveys a DIY spirit: own, build, and repair your own robot. In an era where commercial robots are becoming increasingly prevalent yet increasingly closed, this ethos of encouraging hands-on creation is especially valuable. From Boston Dynamics' Spot to UBTECH's Walker, consumer and industrial robots are rapidly becoming black boxes—users can operate them but cannot understand or modify their inner workings. MechSoul represents a diametrically opposite path: building deep mastery of technology by understanding every line of code and every component from the ground up.
Getting Started: Preparation and Steps
If you want to follow along with this tutorial, here's what you should prepare:
- Prepare the hardware: A Raspberry Pi Pico (the Pico W or equivalent model with Bluetooth support is recommended) along with a compatible robot body. Note that the original Pico does not include a wireless module—only the Pico W and the subsequent Pico 2 W have built-in Bluetooth capability. When shopping, you should also prepare a Micro USB data cable (for flashing firmware), an appropriate power solution (such as a lithium battery with a boost converter module), and basic electronics tools (breadboard, jumper wires, multimeter, etc.).
- Set up the development environment: Install the Arduino IDE, and add Raspberry Pi Pico support and the SerialBLE library through the Board Manager. Specifically, add the Raspberry Pi Pico Board Manager URL in Arduino IDE under "File → Preferences," then search for and install it under "Tools → Board → Board Manager." For the first flash, you'll need to hold down the BOOTSEL button on the Pico while connecting it to your computer to enter USB mass storage mode.
- Import the HIRO library: Install Takamori Robot's HIRO library and locate the
Serial_Controlexample. - Follow the GitHub repository: Work through the code and documentation in the tutorial repository step by step to complete the Bluetooth control configuration.
Once finished, you'll have a DIY robot that you can wirelessly control via Bluetooth—an exercise in both technical skill-building and a true embodiment of the DIY spirit.
For robotics enthusiasts, Arduino developers, and anyone interested in open-source hardware, MechSoul offers a clear and engaging entry path. It reminds us that robots don't have to be inaccessible high-tech products—they can be creations to which you personally give a "Soul."
Related articles

Getting Started with Claude Code: Why It's the Most Powerful AI Coding Assistant
Deep dive into Claude Code's core advantages vs Cursor, Trae, and Copilot. Learn how its full-project context understanding and auto-debugging make it the top AI coding assistant.

OpenCode Tutorial: A Complete Guide from Installation and Configuration to Hands-On Practice
Complete guide to OpenCode AI coding tool: two installation methods, model configuration, Agent types, custom commands, MCP extensions, Agent SQL, with practical examples.

Getting Started with Claude Code: Complete Guide to Terminal AI Coding Tool Installation and Selection
Complete guide to Claude Code terminal AI coding tool: installation, setup, Terminal vs Device Agent comparison, and the practical Claude Code + DeepSeek combo.