RISC-V
RISC-V
  • 44
  • 78 426
#35- Tutorial for Programmable I/O pin of RISC-V CH32X035
🎥 Welcome to our latest video! Today, we're diving into the powerful PIOC(Programmable I/O Controller) pins on the RISC-V MCU CH32X035 ! 🌟 These pins are a game-changer, offering the flexibility to be independently programmed and bit-banged to support a wide range of standard peripherals.
🛠️ What can you do with PIOC pins?
• 📊 Read sensor data
• 🔄 Continuously output values
• 🎨 Control WS2812B LEDs
• ⚡ Handle UART, SPI, ADC, and more!
💡 With PIOC pins, you can optimize your MCU's clock cycles, reducing the load on the main QingKe core and boosting overall efficiency. However, here's the catch: these pins can only be programmed using assembly language. But don't worry-with a little bit of assembly know-how, you'll unlock the full potential of your CH32X035 MCU! 🚀
Ready to take your projects to the next level? Let's get started! 🔧✨
In this video, we showed you the assembly configuration and how to use the assembly files provided in the datasheet.
1. Firstly you need to include the REGISTER values from the provided ASSEMBLY file in the EVT.
2. Then you can program your ASSEMBLY instructions.
3. ASSEMBLE the files into a BIN file.
4. Then use our BIN-2-HEX program to create the BIN file as a HEX array.
5. Initiate a HEX array and copy/paste the values.
6. Use our SDK to import PIOC data and use the initiated array.
PS: Important
The PIOC pins are also located on the programming pins and therefore every time you flash the MCU, you would need to reset the MCU using the WCH Link Utility Program.
If you have any questions please post them in the comment section below, or reach out to us, and we will happily reply ASAP.
Video Links
=====================================================
Source Code - openwch/ch32x035: 32-bit RISC-V MCU CH32X035 built-in USB PD PHY (github.com)
WCH Link Utility - WCH-LinkUtility.ZIP
English User manual of PIOC:
PIOC UserManual.pdf
PIOC-EN.pdf
CHRISC8B-EN.pdf
github.com/openwch/ch32x035/tree/main/EVT/EXAM/PIOC
Переглядів: 474

Відео

#34- Let's DIY a Game Mouse with 8KHz Polling Rate!
Переглядів 5892 місяці тому
#MouseModding #8KMouse #TechUpgrade #GamingGear #DIYTech Hey there, tech enthusiasts! 👋 In this video, we're modding a generic 2.4GHz mouse and swapping the PCB with a WCH alternative. We have ever wondered if you could upgrade your favorite gaming mouse to the latest tech. Today, we're swapping out the PCB (Printed Circuit Board) of a standard mouse with a WCH 8K mouse to boost performance and...
#33- 🎮True 8K Gaming Mouse Solution from WCH🖱
Переглядів 3283 місяці тому
#riscv #bluetooth #ch32 #mouse #keyboard #gameplay This video demonstrates an 8K polling rate mouse from WCH; you can implement a wired/wireless 8K mouse solution using our two custom solutions. ✨ Multiple options are available for the wireless-only solution, including single-chip solutions like the CH592/CH581 and the CH9160. These allow for an 8K wireless experience, with no need for driver d...
#32- WCH LinkE: Setup and Trouble shooting guide
Переглядів 6883 місяці тому
#ch32 #riscv #link Welcome to our troubleshooting guide for the WCH LinkE! 🛠 If you've been struggling with setting up or fixing errors related to the WCH Link, you're in the right place. In this video, we'll cover everything from the basics of the WCH LinkE setup to handling common issues with ease. Join us as we delve into the essentials of the WCH LinkE, including a thorough walk through of ...
#31- How to set up CMake alongside VS code for WCH RISC-V?
Переглядів 5724 місяці тому
#riscv #CH32 #mcu #vscode In this video, we are going to be looking at how to set up CMake, alongside Visual Studio Code, when working with WCH MCUs, and how we can integrate the RISCV-GCC Toolchain alongside OpenOCD for debugging and flashing. The prerequisites include CMake, Ninja, and Visual Studio Code. We recommend the following extensions in Visual Studio Code be included as well. Serial ...
#30- Hair Dryer Teardown and Analysis with RISC-V CH32V203
Переглядів 8826 місяців тому
#riscv #mcu #ch32 In this video we breakdown a hair dryer and give a teardown of the parts and components and how WCH's MCU, in particular, the CH32V203 can be used in industrial and large-scale motor control functions as well as the inner workings and how to properly utilize the Advanced TIMER from WCH. From this video, the MCU makes use of the following WCH self-developed RISC-V IPs. An advan...
#29- How to RESET CH32V003 if PD1 is Occupied?
Переглядів 6708 місяців тому
#mcu #riscv #rv #10cent This video illustrates how to reconfigure and also RESET the CH32V003 MCU when the PD1 (SWDIO) pin has already been programmed. Because the SWDIO Pin is already occupied we cannot call for normal Flash and PRogram protocol anymore. Instead, we use the WCH Link Utility and opt for Flashing and resetting the whole MCU instead. Download the WCH MCU Link utility and make the...
#28- How to run Arduino on Linux using RISC-V MCUs?
Переглядів 2,1 тис.8 місяців тому
#arduino #CH32 #mcu #riscv #linux In this video we introduce how to run Arduino on Linux using WCH MCUs, the video shows how to set up Arduino for WCH in Ubuntu 23.04. Firstly we downloaded the latest stable of Arduino, which is version 2.2, then we ran it from the bash terminal, and upon loading, we went to Preferences and added the external board manager link for WCH. This can be collected fr...
#27-How to erase and flash the CH641 on wireless dev board?
Переглядів 5279 місяців тому
#riscv #mcu #wirelesscharging Dive into the fascinating wireless charging and USB Power Delivery world with the CH641! In this video, we'll guide you through the essential steps of programming and flashing the MCU of your CH641 device. We used the WCH Link, a small Type C interface, and a receptor connector. This video also shows the programming cycle; after each successful program, you will ne...
#26-CH641: USB PD and QI Wireless Charging! 4~12.6V Voltage
Переглядів 41210 місяців тому
#riscv #mcu #pdusb #wirelesscharging Introducing CH641, your all-in-one solution for power and convenience! This USB PD-capable device packs a punch, to charge your devices swiftly. But that's not all - CH641 goes beyond the conventional with its Qi Wireless charging support, ensuring a tangle-free and effortless charging experience. Say goodbye to cable clutter and hello to a powerful, versati...
#25-The 1st ESC project based on RISC-V MCU
Переглядів 1,1 тис.11 місяців тому
#riscv #ch32 #mcu #esc If you're into drones, RC cars, or other motorized devices, understanding Electronic Speed Controllers, or ESCs, is essential. In this video, we'll cover ESCs from basics to advanced topics. This was implemented using WCH's CH32V203 and currently can support 3 protocols DShot 300 DShot 600 Conventional PWM Souce code and Schematic: github.com/openwch/RISC-V_ESC
#24-Design a PDF Data Logger with BLE SOC CH592
Переглядів 1,3 тис.11 місяців тому
#mcu #bluetooth #pdf #riscv Using the CH592 in-built USB Host/Device peripherals we create a data logger to record temperature and humidity, for over 90 days. Once recorded, the customer can simply plug the data logger into a PC and in return get a PDF file containing the recorded information. Because CH592 has inbuilt USB support, no drivers or any extra software is required, just plug and col...
#23-CH32V307 Arduino Guide
Переглядів 3,4 тис.11 місяців тому
#ch32 #arduino #riscv Many friends asked me for Arduino support for CH32V307, Soooo here you go! github.com/openwch/arduino_core_ch32
#22-Let's play SnakeGame using 1-GPIO PIOC
Переглядів 563Рік тому
#ch32 #mcu #pioc #snakegame #pdusb Only one GPIO PIOC of CH32X025 completes SnakeGame's 1024 (32*32 ) WS2812 RGB Leds. In addition, the PD peripheral of X035 is used to complete the sink function, and acquire the 5V/10A from the cell phone charger to power the screen. Source code and hardward design can be checked here, github.com/openwch/ch32x035/tree/main/App/01_Snake
#21-One GPIO of PIOC Drives 1200 WS2812 RGB LEDs
Переглядів 968Рік тому
#ws2812 #rgb #mcu #ch32 #riscv This video will show you how to use PIOC(programmable IO controller) to drive 1200 WS2812 RGB LEDs. As demonstrated in the video, unlike using SPI/PWM to drive WS2812, PIOC onl;y need a single bit to encode 0/1, while SPI needs to use a byte (8 bits) to encode 0/1. Therefore, when driving more than 1200 WS2812 RGB leds, the RISC-V CH32X035 integrating PIOC only ne...
#20-A Low Dropout Ideal Diode CH213 with current limiting function
Переглядів 555Рік тому
#20-A Low Dropout Ideal Diode CH213 with current limiting function
#19-[QuickStart]How to use Offline Programmer for MP
Переглядів 409Рік тому
#19-[QuickStart]How to use Offline Programmer for MP
#18-[QuickStart] CH343 USB-UART Converter (3rd Generation)
Переглядів 1,3 тис.Рік тому
#18-[QuickStart] CH343 USB-UART Converter (3rd Generation)
#17- The Whole Family of USB-To-Serial Bridge Chips | WCH
Переглядів 493Рік тому
#17- The Whole Family of USB-To-Serial Bridge Chips | WCH
#16- Shanghai Munich Electronics Exhibition 2023 | WCH
Переглядів 179Рік тому
#16- Shanghai Munich Electronics Exhibition 2023 | WCH
#15- Exploring Ethernet Cards with CH182/CH390/CH397
Переглядів 318Рік тому
#15- Exploring Ethernet Cards with CH182/CH390/CH397
#14- [QuickStart] CH32 Arduino new Chip: CH32X035 test for USB PD
Переглядів 3,2 тис.Рік тому
#14- [QuickStart] CH32 Arduino new Chip: CH32X035 test for USB PD
#13- [QuickStart] GPIO and UART of CH32V003 using Arduino IDE
Переглядів 11 тис.Рік тому
#13- [QuickStart] GPIO and UART of CH32V003 using Arduino IDE
#12- The 10 cents RISC-V MCU already supports Arduino!
Переглядів 2,6 тис.Рік тому
#12- The 10 cents RISC-V MCU already supports Arduino!
#11- 32-bit RISC-V MCU with built-in USB PD PHY | CH32X035
Переглядів 1,5 тис.Рік тому
#11- 32-bit RISC-V MCU with built-in USB PD PHY | CH32X035
#10- How to develop a Bluetooth-LE project using RISC-V CH32V208 | PART3
Переглядів 697Рік тому
#10- How to develop a Bluetooth-LE project using RISC-V CH32V208 | PART3
#9- Auto-Programming solution for STM32/ESP32/ESP8266/CH32 | PLUS
Переглядів 1,6 тис.Рік тому
#9- Auto-Programming solution for STM32/ESP32/ESP8266/CH32 | PLUS
#8- How to develop a Bluetooth-LE project using RISC-V CH32V208 | PART 2
Переглядів 650Рік тому
#8- How to develop a Bluetooth-LE project using RISC-V CH32V208 | PART 2
#7- Awesome Auto-Programming solution for STM32/ESP32/ESP8266/CH32
Переглядів 3,2 тис.Рік тому
#7- Awesome Auto-Programming solution for STM32/ESP32/ESP8266/CH32
#6- Awesome Power Supply - USB PD Output Voltage Selector
Переглядів 871Рік тому
#6- Awesome Power Supply - USB PD Output Voltage Selector

КОМЕНТАРІ

  • @md.mostafakhan4529
    @md.mostafakhan4529 2 дні тому

    Hi, thank you for the video. Have you noticed any issues when trying to use PC3 as GPIO? For me if I use PC3/PIN_A13,A13 (all refers to the same GPIO Pin) in digital write or read or analog read function, the result I get is to and from PA1. But if I use the pin number 20 for digital read and write then it works fine and sends or receives signals to PC3. But analog read always reads 0 if pin umber 20 is used. I am working with Arduino.

  • @nfcradio4622
    @nfcradio4622 6 днів тому

    How to add NotePad++ Editor to Moun River with intelisence.

  • @nfcradio4622
    @nfcradio4622 6 днів тому

    How to Change Tab Size From Default 4 to 8, I change it from Windows-> Preferences->General ->Editors->Text Editor and set Display Tab width = 8 but it does not Work. IDE is Moun River

  • @pvisit
    @pvisit 14 днів тому

    Starting the debugger I get : Missing mandatory configuration. Fill-in the 'Config options:' field in the Debugger tab.

  • @nfcradio4622
    @nfcradio4622 14 днів тому

    will it support Ch32V003 ?

  • @thanatosor
    @thanatosor 16 днів тому

    How was noise immunization & performance in average

  • @thanatosor
    @thanatosor 18 днів тому

    10,408 bytes to let CH32v003 blink with Arduino 😂 It seem to be 2x better now for only 5kb. Meanwhile people are bashing me for using 308 bytes to blink a PIC16 🤷‍♂️🫠

  • @nitinkushwaha9074
    @nitinkushwaha9074 20 днів тому

    Plz full code video tutorial

  • @lbsfilm
    @lbsfilm 24 дні тому

    Any chance you can show how this works for the datalogger video from #24 ?

  • @nfcradio4622
    @nfcradio4622 28 днів тому

    Hi, How to Generate 1ms tick uding sys timer or Timer using Interrupt. Is there any Arduino library is there for precise time interval generation ?

  • @nfcradio4622
    @nfcradio4622 28 днів тому

    No Arduino library for Timer, External Interrupt

  • @nitinkushwaha9074
    @nitinkushwaha9074 28 днів тому

    How to use ws2811 led pixel with ch32x

  • @nfcradio4622
    @nfcradio4622 28 днів тому

    Looking For Periodic Timer (Interrupt base) Arduino Library for CH32V003. All peripheral Example for CH32V003 are needed for Arduino. Or how to Implement EVT Board Code in Arduino?

  • @Syweryn
    @Syweryn Місяць тому

    @rvmaking would it be possible to pair a two of CH9160? Like one CH9160 used as a USB dongle, and other one paired up with CH32V307? Could it be connected to USB port of MCU, to then create a wireless connection with PC?

  • @mariobv947
    @mariobv947 Місяць тому

    Because PIOC is located on the SWD pins, shouldn't be a good idea to put a small delay before the pins initialization just to ensure not to brick the MCU??

  • @Retinatronics
    @Retinatronics Місяць тому

    Thank you very much for doing our request.

  • @allallall2321
    @allallall2321 Місяць тому

    ❤😊

  • @danlegend3104
    @danlegend3104 Місяць тому

    Do you have a link to buy the 8k usbhid chip?

    • @rvmaking
      @rvmaking Місяць тому

      www.aliexpress.com/item/3256807037750869.html

  • @MariusHeier1
    @MariusHeier1 2 місяці тому

    Can you flash the ch9160 to be gamepad?

  • @davidwillmore
    @davidwillmore 2 місяці тому

    Great video, sir. Do you have a code repo and a pcb schematic/layout available?

  • @НикитаПочеп-ш3ж
    @НикитаПочеп-ш3ж 2 місяці тому

    Hello. After flashing CH32F207VC6 through openocd from MounRiver Studio under Linux i try to do Query chip info in WCH-Link Utility under Windows, and result is failed. But before flashing through openocd, WCH-Link Utility works fine. What happened? Thanks.

  • @muhammadfahad2750
    @muhammadfahad2750 3 місяці тому

    Can you provide link for the sample project being used here?

    • @rvmaking
      @rvmaking 2 місяці тому

      github.com/dreamcmi/WCH-CMake, This is link for you, please check it out

  • @Retinatronics
    @Retinatronics 3 місяці тому

    Appreciate if you can post a video on how to setup PIOC module. Thank you.

    • @rvmaking
      @rvmaking 3 місяці тому

      ok, will make this video

  • @luvocean1
    @luvocean1 3 місяці тому

    Very useful tutorial...just got me a CH32V307 board, will be trying some code soon.

  • @murattekin6111
    @murattekin6111 3 місяці тому

    thank you for this video because its really rear to see this support channel to add a new video about its own microcontroller. i have uploaded much more videos even tough i have less knowledge about this controller.

    • @macafern
      @macafern 3 місяці тому

      is it rear? I found it rare

  • @fiftyplus644
    @fiftyplus644 3 місяці тому

    You say Arduino IDE but show what looks like VScode IDE. After adding the supplied URL to 'Additional Bd Manage URLs -- Then WCH to Board Manager brings up nothing. Poor poor poor ! I won't be using ANY of this.

  • @AdirutC
    @AdirutC 4 місяці тому

    Hi I would like to use CH32V003F4P6 board to connect with LCD 16x2 display to show text messages, can I use Arduino IDE to implement it?

  • @laurentitolledo1838
    @laurentitolledo1838 4 місяці тому

    flashing CH32V002 via arduino is not possible in Linux, USB not found error, WHC-LinkE appears as ttyACM0 flashing CH32V002 via arduino is only possible in w$, WCH-LinkE appears as COM(x)

  • @ernstpolania5334
    @ernstpolania5334 4 місяці тому

    Risc-V MCU is great.

  • @alexanderilminsky8426
    @alexanderilminsky8426 4 місяці тому

    good job.

  • @Nayel-Khouatra
    @Nayel-Khouatra 4 місяці тому

    Nice

  • @DiyintheGhetto
    @DiyintheGhetto 4 місяці тому

    Hello, is there any future plans on adding oled support or maybe Ethernet support like the winznet modules?

  • @jagg_Z
    @jagg_Z 5 місяців тому

    How to achieve 6mbps Max baudrate?

  • @konstantinsc
    @konstantinsc 5 місяців тому

    at 0:29: WCH-LinkE photo is wrong, it is WCH-Link (without "E") , it cannot program CH32V00..

  • @randallyoung6715
    @randallyoung6715 5 місяців тому

    Wonderful, thanks!

  • @negvorsa
    @negvorsa 6 місяців тому

    Just using bitbang and I call it end of day ! 3 bytes per pixel less code size simple to use.

  • @happyhippo4664
    @happyhippo4664 6 місяців тому

    Are all boards in the CH32V307 supported in the Arduino IDE? I only see a selection for CH32V307VCT6.

  • @happyhippo4664
    @happyhippo4664 6 місяців тому

    I haven't gone through all your videos yet, since I just subscribed. Did get the CH32V003F4P6-EVT working - because of your help. I'm wondering if it is possible to do PWM on some of these pins, like we do in the Arduino and other boards. I don't seem to see it called out as a function on the CH32 boards.

  • @happyhippo4664
    @happyhippo4664 6 місяців тому

    I have a stupid curiosity. I just received a CH32V003F4P6-EVT. When I run the GPIO toggle, nothing happened. But if I hooked up an external LED to PC_3, it did blink as programmed. I noticed in your program, that the LEDs on the board blinked. How did that happen?

    • @happyhippo4664
      @happyhippo4664 6 місяців тому

      Never mind. I did some trace tracking on the board and realized that there are LED pins. I see you simply jumpered PC_3 to one of those pins. :) I thought they might be built-in LEDs, so I spent a lot of time looking through the documentation to see how to access them. I should have simply looked at the board more closely.

  • @sasha.djordjevic3071
    @sasha.djordjevic3071 6 місяців тому

    First of all, thank you for your effort. Any suggestions about a problem: PD6 (RX pin) of the CH32V003F4P6 does not receive data over UART communication. PD5 (TX pin) works fine, sending data is not an issue. Tested with WCH LinkE + WCH-LinkE-R0-1v3 board and with ESP32 C3 too, CH32 was able to send but unsuccessful in receiving data. edit: Arduino Ide 2.3.2

  • @ezr-electrorobozver1661
    @ezr-electrorobozver1661 6 місяців тому

    Great opportunity to make Qi-capable device with lower BOM. Where can I buy some of this MCUs and possibly a dev board? Nothing is available from Ali shop and 3rd party sellers.

  • @MaheshBabu-vs8nx
    @MaheshBabu-vs8nx 6 місяців тому

    Here I noticed that this simple led blinking program using nearly 65% of program memory space and more than 10% of RAM.. what's the reason? Is it bcos of Arduino?

  • @lifeai1889
    @lifeai1889 6 місяців тому

    Hi, can i use ch32x035 USB pd to make a pd charger that can supply 20v or can it only act as client side

    • @futuregadget_v2.1
      @futuregadget_v2.1 6 місяців тому

      Look at the datasheet on page 244, it says: "Built-in USB type-C interface, master/slave detection support, DRP, Sink/Consumer and Source/Provider support;"

  • @ЭдгарЗубаеров-о1л
    @ЭдгарЗубаеров-о1л 6 місяців тому

    Hello, can you help me with one problem? I want to make an automatic window blind with servo and photoresistor, but i couldn’t figure it out, thanks CH32V003J4M6 Using only chip, without board

  • @davidwillmore
    @davidwillmore 6 місяців тому

    I use minichlink for this. The "-u" option will "unbrick" a chip. It needs to control power and be connected to pd1. I have never had it not work and I have tried to. I disabled PD7/nRST and PD1/SWDIO set them to GPIO immediately on startup. It still reaet it.

  • @jj74qformerlyjailbreak3
    @jj74qformerlyjailbreak3 7 місяців тому

    Im glad i found this channel. It helped alot in terms of understanding design. Thanks for your demo.

  • @Clark-Mills
    @Clark-Mills 7 місяців тому

    Nice work, nice project, thanks!

  • @MariusHeier1
    @MariusHeier1 7 місяців тому

    Fun project!

  • @chiragpanchal4735
    @chiragpanchal4735 7 місяців тому

    please guide for check spi communication in ch32v003???

  • @thekikaz
    @thekikaz 7 місяців тому

    hey, how do you make a analogRead? with analogRead(PA2) or other Analogpins i got nothing in return? digitalread is working? any ideas? thx

    • @briansmith262
      @briansmith262 6 місяців тому

      Hi there, just got this working, the ADC is disabled by default, you just need to edit the .arduino15/packages/WCH/hardware/ch32v/1.0.4/variants/CH32V00x/CH32V003F4/variant_CH32V003F4.h file and remove the '//' from the line that says #define ADC_MODULE_ENABLED