Bare metal C SDK for the Baochip 1x

RISC-V
Projects

Open source SDKs, hardware verified drivers and complete project guides. Written against real silicon, corrected against real silicon, released under permissive licences.

Baochip 1x development board showing the BAO0294F-ES SoC, USB C connector and broken out PB, PC and PA pin headers
Baochip 1x · BAO0294F-ES
layers The C layer the MicroPython port is built on
verified Official DEF CON 34 badge resources page
memory Silicon by Andrew “bunnie” Huang
Flagship Project

The bare metal C SDK for Baochip 1x.

Baochip 1x is the RISC-V silicon, designed by hardware hacking legend Andrew “bunnie” Huang and was behind the DEF CON 34 badge. dabao-sdk is the complete hardware abstraction layer for it, written in C. It is the foundation the MicroPython port is built on, and it puts nothing between your code and the registers.

19
Drivers
26
Examples
100%
On Silicon
Apache
2.0
The C language logo alongside the Baochip 1x development board
Verification

Verified against silicon, not against a datasheet

  • Every driver brought up and confirmed on real Baochip 1x hardware
  • Roughly 60 documentation errors found and corrected during bring up
  • 9 upstream SDK bugs identified and fixed along the way
  • Dabao behaviour reviewed with an upstream Linux kernel maintainer

Nothing in Dabao is a guess carried forward from a register map. If it is in the SDK, it ran on the chip first.

Die shot of the Baochip BA01X2S4F-ES showing the on die markings and logic blocks
Coverage

Nineteen drivers, twenty six examples

Every peripheral you need to build something real on the badge silicon, each with a working example you can flash and read.

GPIO UART SPI QSPI I2C PWM ADC Timer RTC IRQ WDT Reset RRAM W25Q BIO BIO DMA AES SHA TRNG
Roadmap

Where the Dabao C SDK goes next

Dabao is the bottom layer. Everything above it on Baochip 1x reaches the hardware through these drivers, so work on the SDK moves the whole stack at once.

  • The MicroPython port is built directly on the Dabao C SDK
  • A CircuitPython port is being built on the same foundation
  • Peripheral parity kept across the C, MicroPython and CircuitPython layers
  • Expanded example set covering the full badge peripheral map
  • Continued upstream contribution to the Baochip toolchain
Open Source Initiative mark
More Projects

Build something on RISC-V

Guides and open source work across the platforms we cover.

Baochip 1x development board BAOCHIP 1X

Dabao C SDK

Complete bare metal hardware abstraction layer for the Baochip 1x RISC-V SoC, and the C layer the MicroPython port is built on. Nineteen drivers, twenty six examples, Apache-2.0, all of it verified on silicon.

lightbulb CH32V003

Getting Started: Move to RISC-V

Your first RISC-V project. GPIO configuration, clock setup and basic register manipulation while blinking an LED on the CH32V003. A solid entry point for Arduino developers.

Have a project idea?

Share your RISC-V project with the community or request a guide on a specific topic.