Back to projects
hardware Featured

CH32V003 Journey

An Arabic-first bare-metal RISC-V curriculum for the WCH CH32V003J4M6 — 22 progressive lessons that take you from your first Blinky to building production-grade firmware, all at the register level.

RISC-VCH32V003Bare-MetalArabicEducationNuxt 4Open Source

Overview

A structured, 22-lesson Arabic journey that takes a developer from their first Blinky to building production-grade firmware on a 30-cent RISC-V chip — written entirely at the register level, with CH32V003 Reference Manual v1.9 cross-references on every page.

Why this exists

Most bare-metal learning material is English-only and assumes an STM32/ARM background. The CH32V003 is dirt-cheap (sub-$0.50), RISC-V, and underrepresented in Arabic learning resources. This curriculum closes that gap.

What's inside

  • Foundation — Curriculum overview, bitwise magic, registers intro, GPIO output
  • Core I/O — GPIO input + EXTI, clock system, SysTick, NVIC/PFIC, Timers + PWM
  • Comms — UART (deep), SPI master, I2C + SSD1306 OLED
  • Analog — ADC, DMA
  • Pro — Low-power modes, Watchdog (IWDG/WWDG), Flash programming + EEPROM emulation, Linker + Startup, Debugging
  • Capstone — Final project: 5×5 LED matrix with UART control

Technical Stack

  • Nuxt 4 + @nuxt/content v3 for the lesson content pipeline
  • Nuxt UI Pro + Tailwind 4
  • @nuxtjs/i18n — Arabic (RTL, default) + English (LTR), full bilingual UI
  • Dark/light cyberpunk design system with neon accents
  • Shiki syntax highlighting that swaps themes with color mode
  • Dynamic sitemap.xml, OG-image meta, robots.txt
  • Dual-licensed: MIT for the code, CC BY-NC-SA 4.0 for lesson content

Design Philosophy

Dark-first HUD aesthetic — pitch-black surfaces, neon-cyan edges, monospace typography, terminal-grade precision. Animated boot-sequence terminal on the landing page mirrors what flashing firmware actually feels like.

Related work

  • ch32v003j4m6-libraries — register-level drivers for the same chip (sister project)
  • ch32v003-unbrick — CLI tool to recover bricked CH32V003 chips via WCH-LinkE
shakir.sd

Stay hungry. Stay foolish.

© 2026 Shakir Abdulrahim. All rights reserved.