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 Programming Tutorial
- Basic Introduction about CH32V003
- CH32V003 Pinout, Packages and Altium Sch / PCB Library
- How to Setup Development Environment
- How to use GPIO as Output
- How to use GPIO as Input (Polling, Interrupt)
- How to use UART (Polling, Interrupt)
- How to generate PWM
- How to read 64-bit Unique ID
- How to generate Period Timer Interrupt
- How to use I2C
- How to use SPI (Master)
- How to use ADC
- How to use DMA
- How to use WDT
- How to use internal Flash for saving data
- 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 🙂

Real world Examples
- How to interface Sensirion’s SHTC3 Temperature Humidity Sensor on I2C
- How to interface OLED Display (GPIO SPI Bit-Banging)
- How to Interface OLED Display (SPI)
- How to Interface OLED Display (I2C)
- 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.