Template: Pico-BLE Guide

From Waveshare Wiki
Revision as of 03:09, 26 February 2022 by Waveshare-eng11 (talk | contribs)
Jump to: navigation, search

Software Setup

If you are the first time o use the Pico, you need to first learn how to get started at the Pico before you run other examples. 

The Pico supports C and the Micropython which requires different firmware.
In most of the examples archives (Demo codes), we provide a Micropython firmware (uf2 file), we recommend you to use the provided firmware to test the board. Because the codes may run abnormally with different firmware.
If the board is tested to be workable, you can also download the newest firmware from Raspberry Pi and do further programming.


For the Pico-BLE module, we provide an serial example. Hereby we take C codes to explain the function.

Low-level hardware interface


The Bluetooth module initialization function mainly judges whether the Bluetooth module is successfully connected to the mobile phone, whether the notify function is enabled, querying the baud rate of the Bluetooth module, judges whether it is in low power mode, name, address, and modifying the name of the module

void BLE_Init()

Execute and process BLE commands

uint8_t Cmd_Process(uint8_t *data)
    data: the address of the command pointer to send

Transparent transmission receiving function, what data the mobile phone sends to the module, the module receives and returns the same data through this function

void UART_RX()     Query receive
void UART_RX_IRQ() Interrupt receive

Parameter modification


#define UART_ID uart0       Pico serial port selection
#define BAUD_RATE 115200    Serial port baud rate selection
#define DATA_BITS 8         Serial port data bits
#define STOP_BITS 1         Serial port data stop bits
#define PARITY UART_PARITY_NONE  Whether the serial port performs parity check
#define UART_TX_PIN 0       Pico serial port TX pin selection
#define UART_RX_PIN 1       Pico serial port RX pin selection
#define BLE_MODE_PIN 15     Bluetooth module status detection pin

Module command


For specific use, please refer to the user manual.