This repository contains the PHY62XX SDK 3.1.3 sources and PB-03/PB-03F examples. It includes 43 Keil µVision projects for BLE roles, Mesh, OTA, peripherals, and Ai-Thinker application demos, plus one ARM GNU Toolchain example.
- Windows with Keil MDK-ARM and a compatible legacy ARM Compiler 5 installation for the
.uvprojxprojects. The projects record ARM Compiler 5.06 update 4, 6, or 7 depending on the example. - A matching PB-03/PB-03F module, programmer, and board-specific flashing procedure for hardware verification.
- Optional: WSL/Linux, Python 3, GCC, Make, and
arm-none-eabi-gccfor the included validation scripts.
The repository includes prebuilt vendor libraries. It does not include Keil MDK, toolchain licenses, programmer drivers, or all source required to rebuild those libraries.
git clone https://github.com/Ai-Thinker-Open/PB-03_OPEN-SOURCE.git
cd PB-03_OPEN-SOURCE- Enter
Ai_PB-03F_OPEN-SOURCEand choose an example. - For the Ai-Thinker BLE UART/AT/ADC demo, open
Ai-Demo/BASE/bleUart_AT_ADC/bleUart_AT.uvprojxin Keil µVision. - Keep its existing target, scatter file, macros, and vendor-library selection, then build it.
- Program the generated image using the procedure appropriate to your module and board.
See Code entry for the exact runtime path and Architecture before changing shared components.
| Path | Purpose |
|---|---|
Ai_PB-03F_OPEN-SOURCE/Ai-Demo/ |
Ai-Thinker PB-03F application demos |
Ai_PB-03F_OPEN-SOURCE/example/ |
BLE, Mesh, OTA, and peripheral examples |
Ai_PB-03F_OPEN-SOURCE/components/ |
Drivers, BLE interfaces, OSAL, profiles, Mesh integration, and source libraries |
Ai_PB-03F_OPEN-SOURCE/lib/ |
Prebuilt controller/host libraries and exported interfaces |
Ai_PB-03F_OPEN-SOURCE/misc/ |
Link symbols and supporting resources |
Ai_PB-03F_OPEN-SOURCE/release_note.md |
Historical PHY62XX SDK release notes |
tools/ |
Non-destructive repository, host-library, and firmware-build checks |
Check all 43 Keil project references, the documented entry symbols, and bilingual documentation:
python tools/validate_repository.py
On WSL/Linux, build and run all 11 TinyCrypt tests:
bash tools/validate_tinycrypt.shWith the ARM GNU Toolchain installed, build the simpleBlePeripheral firmware in an isolated temporary copy:
bash tools/build_gcc_example.shThe firmware script does not alter checked-in build artifacts. The latest recorded run linked an ARM ELF successfully with no errors and 59 compiler warnings. These checks do not replace board testing; see Validation and reproducibility.
GitHub Actions runs the repository-structure and TinyCrypt checks for pull requests and pushes to master. The full ARM firmware build remains an explicit local check because the runner image does not guarantee the required cross-toolchain.
- If Keil reports a missing compiler, select/install the ARM Compiler 5 version recorded by the chosen
.uvprojx; do not silently migrate a legacy project to ARM Compiler 6. - If a project cannot find a source or scatter file, run
python tools/validate_repository.pyand distinguish hard failures from the reported legacy include-only warnings. - If the GNU example fails, confirm that
arm-none-eabi-gcc, Binutils, and Make are available in the same WSL/Linux shell. - For a change, identify the exact project and module, run the repository checks, perform a clean firmware build when the toolchain is available, and report the commit, command, warnings/errors, output hashes, and hardware result in the pull request.
- Do not include credentials, toolchain licenses, or generated build directories in a contribution.
There is no single repository-level license. TinyCrypt has its own license under components/libraries/tinycrypt-0.2.8, while many SDK and vendor files contain Phyplus confidential/proprietary notices and restrictions. Review the notice in each component and confirm your rights before copying, modifying, or redistributing it. Public repository access alone does not grant an open-source license.