Skip to content

Commit 570ed27

Browse files
authored
Board definition for CH32X033F8P6 TSSOP20 #171
At the current stage it works for me. Have fun! Info below is also in the readme of the board definition directory. +------v------+ MISO/A6 D6~ 1-+PA6 PA5+-20 D5 SCK/A5 MOSI/A8/TX4 D7 2-+PA7=PB0 PA4+-19 D4~ CS/A4 A9/RX4 D8 3-+PB1 PC19+-18 D17 SWCLK /RST D9 4-+PB7 PA3+-17 D3~ RX2/A3* USBDM D10 5-+PC16=PC11 PA2+-16 D2~ TX2/A2 USBDP D11 6-+PC17=PC10 PA1+-15 D1~ A1 GND 7-+VSS PA0+-14 D0~ A0 SWDIO D16 8-+PC18 PC3+-13 D15~ A13 VCC 9-+VDD PA10+-12 D14 SCL/TX1 D12 10-+PA9 PA11+-11 D13 SDA/RX1 +-------------+ *A3, VREF and hardware I2C don't work on CH32X033F8P6 0-series (lot number with the penultimate bit 5 being 0). Tested features digitalWrite()/digitalRead() - can use Arduino pin numbers or PAx notation. analogWrite() - 12-bit resolution, pins marked with ~ in pinout above. analogRead() - very stable 12-bit resolution, but issues with A3/A0/PADC_VREF Serial.print() - Tested 115200 bps on Serial2 (PA2/PA3) and Serial1 (PA10/PA11), as set in variant_CH32X033F8P6.h EEPROM library - may need improvement (updated to support 122 bytes). Pin PB7 (Arduino pin 9) can be configured as hardware reset /RST using WCH Link Utility. (See issue Hardware reset pin doesn't work on CH32X033 or CH32X035 #123) Known issues/limitations Pins PA7/PB0, PC16/PC11 and PC17/PC10 cannot be used for output. Any signal on A0 seems to show on other ADC pins when disconnected. A3, PADC_VREF and I2C don't work on CH32X033F8P6 0-series (lot number with the penultimate bit 5 being 0). To counter missing I2C the Software_I2C library by Seeed Studio is a good alternative, although it needs some changes to improve compatibility in I2C scanning. openwch/arduino_core_ch32#171
1 parent af8630b commit 570ed27

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

boards.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,23 @@ CH32X035_EVT.menu.pnum.CH32X035G8U.build.IQ_math_RV32=
251251
CH32X035_EVT.menu.pnum.CH32X035G8U.build.ch_extra_lib=-lprintf
252252

253253

254+
#CH32X033F8P EVT Board
255+
CH32X035_EVT.menu.pnum.CH32X033F8P=CH32X033F8P EVT
256+
CH32X035_EVT.menu.pnum.CH32X033F8P.node=NODE_X033F8P
257+
CH32X035_EVT.menu.pnum.CH32X033F8P.upload.maximum_size=63488
258+
CH32X035_EVT.menu.pnum.CH32X033F8P.upload.maximum_data_size=20480
259+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.mcu=QingKe-V4C
260+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.board=CH32X033F8P
261+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.series=CH32X035
262+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.variant=CH32X035/CH32X033F8P
263+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.chip=CH32X033F8P
264+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.march=rv32imacxw
265+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.mabi=ilp32
266+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.math_lib_gcc=-lm
267+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.IQ_math_RV32=
268+
CH32X035_EVT.menu.pnum.CH32X033F8P.build.ch_extra_lib=-lprintf
269+
270+
254271
# Upload menu
255272
CH32X035_EVT.menu.upload_method.swdMethod=WCH-SWD
256273
CH32X035_EVT.menu.upload_method.swdMethod.upload.protocol=

0 commit comments

Comments
 (0)