CH32V003 Programming: Everything You Need to Know to Get Started

WCH Electronics has released an Ultra Low Cost MCU which is just 0.1$ in volumes, CH32V003.

If you are an embedded Engineer, I would suggest you learn about the MCU, the hardware and basic programming, it will be very helpful for your projects.

Low end products could very well be done with CH32V003 or you can also off load some part of the work to this MCU in a complex project like MCU providing extra IOs or diving OLED or Character Display and you send data over I2C or UART, just an example.

CH32V003 MCU

CH32V003 Programming Tutorial

  1. Basic Introduction about CH32V003
  2. CH32V003 Pinout, Packages and Altium Sch / PCB Library
  3. How to Setup Development Environment
  4. How to use GPIO as Output
  5. How to use GPIO as Input (Polling, Interrupt)
  6. How to use UART (Polling, Interrupt)
  7. How to generate PWM
  8. How to read 64-bit Unique ID
  9. How to generate Period Timer Interrupt
  10. How to use I2C
  11. How to use SPI (Master)
  12. How to use ADC
  13. How to use DMA
  14. How to use WDT
  15. How to use internal Flash for saving data
  16. How to Flash Program using Serial Port (if you don’t want to use WCH-LinkE Programmer)

More useful Development Board for CH32V003

I have developed a CH32V003 Dev Kit to Simplify developer life further 🙂

CH32V003 Programming: Everything You Need to Know to Get Started 1

Real world Examples

  1. How to interface Sensirion’s SHTC3 Temperature Humidity Sensor on I2C
  2. How to interface OLED Display (GPIO SPI Bit-Banging)
  3. How to Interface OLED Display (SPI)
  4. How to Interface OLED Display (I2C)
  5. How to interface Character LCD

Interesting Projects which are built using CH32V003

I am currently working as an embedded systems design consultant and helping companies build custom embedded products, develop test automation solution for their PCB.

If you need help in designing a product based on CH32V003, please contact me.

If you have any feedback about the blog, you can share in the comments below or you can also contact me directly.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.