# BiBoard V0 快速上手指南

## &#x20;1. 简介

BiBoard是一款Petoi制作的一款基于ESP32的机器人控制器，主要面向社区开发者和极客发烧友。相比基础的NyBoard，配备了高性能的处理器，更大的内存和存储空间，蓝牙和WiFi连接，还配置了音频电路以满足更多的开发需求。

## &#x20;2. BiBoard功能模块简介

BiBoard功能模块分区图如下所示：

![](/files/b6FThnRN8qBkI3ReYj8o)

<table><thead><tr><th width="136">区域</th><th width="72">编号</th><th width="152">模块</th><th>功能简介</th></tr></thead><tbody><tr><td>电源区</td><td>1</td><td>电池接口</td><td>接入 Bittle 的电池或外接 8.4V 供电</td></tr><tr><td></td><td>2</td><td>电源指示灯</td><td>左蓝色为 5V/3.3V 供电，右橙色为舵机 8.4V 供电</td></tr><tr><td></td><td>3</td><td>供电电路</td><td>提供 5V 以及 3.3V 供电</td></tr><tr><td>板载模块区</td><td>4</td><td>USB 下载电路</td><td>用于下载程序和软复位控制器</td></tr><tr><td></td><td>5</td><td>陀螺仪</td><td>MPU6050 6 轴陀螺仪, 地址 0x68, 中断连接 1026</td></tr><tr><td></td><td>6</td><td>EEPROM</td><td>64Kbit I2C EEPROM, 地址 0x51</td></tr><tr><td></td><td>7</td><td>DAC 功放</td><td>单声道功放, 连接 1025</td></tr><tr><td></td><td>8</td><td>红外模块</td><td>红外接收器, 连接 1023</td></tr><tr><td>扩展接口</td><td>9</td><td>PWM 舵机接口</td><td>12 路 ESP32 直出的 PWM 引脚</td></tr><tr><td></td><td>10</td><td>3路扩展接口</td><td>4 路模拟输入, 2 个串口, 1 个 I2C, 5V 电源</td></tr><tr><td>按键</td><td>11</td><td><p>Boot模式键及</p><p>Reset复位键</p></td><td>经常使用的是复位键，重启程序。按键边有丝印。</td></tr></tbody></table>

电路的功能框图如下图所示：

![](/files/-MW8hcSaVVDauVFIEJr4)

## &#x20;3. 功能模块详细介绍 :

### 3.1 电源设计

![](/files/-MW8ibnf34GDEHfm_Kqb)

主板的供电方式有2种：通过USB接口供电和电池插座供电。

当使用USB供电时，主板上的舵机和外置5V电源接口没有供电。主板芯片和其他外设工作正常。

当使用电池插座供电时，最大的建议电压为7.4V（最大为8.4V）。此时舵机将获得供电，同时5V开关电源（TPS565201）输出5V电压，可以为树莓派供电。线性稳压器得到5V电压后输出3.3V为主板上的传感器和ESP32主芯片供电。

### 3.2 板载模块

#### 3.2.1 USB及下载电路

因为ESP32不带USB电路，我们使用了官方推荐的CP2102 USB转串口桥接芯片，最大下载波特率为921600bps。桥接芯片连接了ESP32的第一串口。

USB使用了最新的TypeC接口，在CC1和CC2脚位上加入了识别电阻。原理图如下图所示：

![](/files/-MW8_CgESLmdpwvj-0v0)![](/files/-MW8_CgF-PCgXbOUW5Ob)

我们参考了ESP32官方推荐的下载电路以及NodeMCU的下载电路，均不能完美工作。根据ESP32的下载时序我们设计了电路，增加了第三个三极管并修改了EN脚对地电容的阻值，问题解决。

三极管电路接受标准的Modem信号RTS和DTR后产生组合时序控制ESP32进入下载状态并复位。具体原理图如下，若有更好的改进意见也请反馈给我们！

![](/files/-MW8_CgGiFSuW0eFkrMu)

#### 3.2.2 陀螺仪 IMU

陀螺仪使用的是经典的MPU6050，I2C地址为0x68，数字运动处理器（DMP）的中断脚连接的是IO26。

借助Jrowberg的I2Cdev和MPU6050DMP库，不熟悉姿态融合算法的新手也可以轻松获得动作状态。ESP32如果直接使用MPU6050库需要做一些修改，主要是AVR的8位数据类型以及PGMSpace的问题。增加ESP32的宏定义即可解决，我们也提供修改好的库，直接替换掉原来的文件即可（记得备份）。替换过之后AVR也可以使用。

#### 3.2.3 EEPROM

BiBoard上有64Kbit的EEPROM，这样可以直接使用UNO的EEPROM操作程序存储陀螺仪校准的数值，操作也比较方便。

请注意ESP32中有一个名为EEPROM的示例程序，这个程序并不是操作EEPROM的，而是使用ESP32模块的Flash模拟EEPROM操作。

#### 3.2.4 DAC与音频输出

为了让Bittle的声音更加好听，Biboard使用了DAC输出，并连接了一个单声道D类功放（PAM8302A）。您可以使用以下3种方法驱动音频模块，记得连接扬声器并调节合适的音量大小。

1. 使用系统自带的Tone()函数，即标准的无源蜂鸣器的方法。
2. 使用ESP库函数，dacWrite(). 用法类似analogWrite()，但是精度会比通过PWM调节的analogWrite()精度更高。
3. 使用MP3解码库，使用XTronical开发的ESP32音频库，在Biboard库文件中我们已经为您封装好，需要注意的是ESP32的MP3播放需要文件系统（SPIFFS或者FAT）的支持，以及Flash分区和上传数据的操作。

&#x20;    URL：<https://www.xtronical.com/basics/audio/dacs-on-esp32/>

#### 3.2.5 红外模块

Biboard的红外模块和Nyboard型号相同，使用的库也相同（IRremote）。因为Biboard的Flash容量非常大，所以不再需要注释掉IRremote.h中非NEC\_DECODE的解码配置，所以可以适配更多的遥控器了。

## 4. 舵机接口

BiBoard一共设置了12个PWM舵机接口。每个PWM接口对应的IO号被标注在正面的焊盘旁边。

由于ESP32模块体积较大，所以变更了排针的方向。请接线后再装入Bittle。

## 5. 扩展接口

BiBoard一共有3个扩展接口，对应的丝印号为P15、P16和P17。

### 5.1 模拟输入接口（P15）

该接口用于模拟输入扩展，可以作为脚底压敏传感器接口。

![](/files/HiSSsA8458WNasAqYWOa)

### 5.2 总线接口（P16）&#x20;

该接口用于板载ESP32的总线扩展。

![](/files/-MW8kRWmF9e0M8yjyXmP)

### 5.3 树莓派接口 （P17）

此接口与树莓派通信，但是无法直接将树莓派安装到BiBoard上，请使用飞线或中间转接板连接。

![](/files/-MW8kYHpPUDwNBsTHDE8)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.petoi.com/chinese/biboard/kuai-su-shang-shou-zhi-nan.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
