Skip to content

emolitor/WestberryTech-WB32

Repository files navigation

WestberryTech WB32 — Community Documentation

Comprehensive open-source documentation, drivers, and tools for Westberry Technology WB32F10x and WB32FQ95xx ARM Cortex-M3 microcontrollers.

WB32 chips are pin-compatible STM32F10x alternatives used in keyboards from GMMK, Akko, MonsGeek, Neo, Shortcut Studio, and others. Despite widespread use, public documentation is scarce. This repository consolidates about a year of reverse engineering, hardware testing, and driver development into a single reference.

Documentation

Document Description
Chip Overview WB32 family, architecture, STM32 comparison
Getting Started Toolchain setup, first project, flashing
Flashing OpenOCD and USB DFU flashing guide
Errata Defects discovered
Bootloader ROM DFU bootloader, flashing tools, recovery
ChibiOS Port Driver inventory, setup, known limitations
ChibiOS Bug Fixes Various fixes not all upstreamed yet
WS2812 GPIO DMA Driver Architecture, timing, validation
QMK Integration Submodule config, build commands
CH582F Protocol Wireless module UART protocol reference

Examples

Project Description Requirements
blink Bare metal LED blink arm-none-eabi-gcc
systick-blink SysTick timer blink arm-none-eabi-gcc
dma-multi-transfer DMA ISR chaining test ChibiOS + ChibiOS-Contrib
spi-flash SPI flash test ChibiOS + ChibiOS-Contrib
ws2812-gpio-dma WS2812 RGB LED driver QMK firmware

OpenOCD Flash Driver

OpenOCD flash driver and debug for WB32. Supports sector erase, mass erase, page program, and verify on all WB32F10x and WB32FQ95xx variants.

The driver is maintained in a dedicated OpenOCD fork: emolitor/openocd. See the fork for build instructions, usage, and FMC register reference.

Vendor Documentation

The vendor-docs/ directory contains datasheets, the reference manual, application notes, and a reference schematic.

See vendor-docs/README.md for a complete index.

Related Projects

Project Description
emolitor/openocd OpenOCD fork with WB32 flash driver
emolitor/ChibiOS-Contrib ChibiOS-Contrib fork with WB32 fixes (branch em-wb32-improvements)
WestberryTech/wb32-dfu-updater Official DFU flash tool
WestberryTech GitHub Vendor SDK, tools, examples
qmk/ChibiOS-Contrib Upstream ChibiOS-Contrib (WB32 port)
QMK Firmware Keyboard firmware with WB32 support

Development Hardware

You can source WB32F104 development boards from the Westberry Taobao store. For the WB32FQ95 you need to rework the board to replace the WB32F104 with a WB32FQ95. It's possible to do this with either a hotplate or hot-air rework station.

Device Flash SRAM Debug Probe
WB32F104RC 256 KB 36 KB CMSIS-DAP
WB32FQ95xC 256 KB 36 KB CMSIS-DAP

Repository Structure

WestberryTech-WB32/
├── docs/                    # Technical documentation
│   └── wireless/            # CH582F protocol reference
├── vendor-docs/             # Official Westberry documentation
│   ├── datasheets/          # DS001-DS005 + WB32FQ95xC
│   ├── reference-manual/    # PDF
│   ├── application-notes/   # AN001-AN005
│   └── schematics/          # Reference board schematic
├── vendor-lib/              # WB32F10x Standard Peripheral Library
├── examples/                # Bare metal and ChibiOS examples
└── debug/                   # GDB scripts and J-Link config

License

This project is licensed under the GNU General Public License v2.0.

The vendor peripheral library (vendor-lib/) and vendor documentation (vendor-docs/) are provided by Westberry Technology and are subject to their respective licenses.

Contributing

See CONTRIBUTING.md for guidelines on reporting bugs, submitting patches, and testing requirements.

About

Comprehensive open-source documentation, drivers, and tools for Westberry Technology WB32F10x and WB32FQ95xx ARM Cortex-M3 microcontrollers.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages