RP2350 Touch LCD 1.28

RP23050 Touch LCD 1.28

  • RP2350
  • LCD round 1.28 inch, 240 x 240, IPS, GC9A01A
  • display interface: SPI
  • touch chip: CST816S
  • touch interface: I2C
  • USB: USB-C, USB1.1 host and device support
  • Temperature sensor
  • IMU: QMI8658, accelerometer: 16-bits, gyroscope: 16-bits
  • Onboard Lithium battery recharge/discharge header, suitable for mobile scenarios
  • 6 × GPIO pin via SH1.0 connector
  • buttons: BOOT, RESET

back to microcontrollers page.

Links

Spotpear: Raspberry Pi Pico 2 RP2350 1.28 inch Round LCD TouchScreen Development Board 240x240 Display QMI8658 6-Axis, Waveshare: RP2350 MCU Board, With 1.28inch Round Touch LCD, Dual-core & Dual-architecture Design, 240×240 Pixels, 65K Color, IPS Panel, wiki: RP2350-Touch-LCD-1.28, github waveshareteam RP2040-Touch-LCD-1.28,

local links

c2,

History

2025-06-14: the display runs a demo which shows accelerometer and gyroscope values, plus battery voltage.

2025-06-14: c2 - from /var/log/messages

Jun 14 21:15:36 kg-core2 kernel: ugen1.5: <Raspberry Pi Pico> at usbus1
Jun 14 21:15:36 kg-core2 kernel: umodem0 on uhub3
Jun 14 21:15:36 kg-core2 kernel: umodem0: <Board CDC> on usbus1
Jun 14 21:15:36 kg-core2 kernel: umodem0: data interface 1, has no CM over data, has break

serial port

root@kg-core2:~ # ll /dev/cuaU*
crw-rw----  1 uucp  dialer  0x21b Jun 14 21:15 /dev/cuaU0
crw-rw----  1 uucp  dialer  0x21c Jun 14 21:15 /dev/cuaU0.init
crw-rw----  1 uucp  dialer  0x21d Jun 14 21:15 /dev/cuaU0.lock
root@kg-core2:~ # ll /dev/ttyU*
crw-------  1 root  wheel  0x218 Jun 14 21:15 /dev/ttyU0
crw-------  1 root  wheel  0x219 Jun 14 21:15 /dev/ttyU0.init
crw-------  1 root  wheel  0x21a Jun 14 21:15 /dev/ttyU0.lock

2025-06-14: c2 - connected to my FreeBSD workstation. usbconfig says

root@kg-core2:~ # usbconfig -d ugen1.5
ugen1.5: <Raspberry Pi Pico> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (250mA)

usbconfig - device description

root@kg-core2:~ # usbconfig -d ugen1.5 dump_device_desc
ugen1.5: <Raspberry Pi Pico> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (250mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0210 
  bDeviceClass = 0x00ef  <Miscellaneous device>
  bDeviceSubClass = 0x0002 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x2e8a 
  idProduct = 0x0009 
  bcdDevice = 0x0100 
  iManufacturer = 0x0001  <Raspberry Pi>
  iProduct = 0x0002  <Pico>
  iSerialNumber = 0x0003  <C7A9C46638FC8723>
  bNumConfigurations = 0x0001 

usbconfig config descriptor

root@kg-core2:~ # usbconfig -d ugen1.5  dump_curr_config_desc
ugen1.5: <Raspberry Pi Pico> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (250mA)


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0054 
    bNumInterfaces = 0x0003 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x007d 

    Additional Descriptor

    bLength = 0x08
    bDescriptorType = 0x0b
    bDescriptorSubType = 0x00
     RAW dump: 
     0x00 | 0x08, 0x0b, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00


    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0002  <Communication device>
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0004  <Board CDC>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump: 
       0x00 | 0x05, 0x24, 0x00, 0x20, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x05, 0x24, 0x01, 0x00, 0x01


      Additional Descriptor

      bLength = 0x04
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x04, 0x24, 0x02, 0x06


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x05, 0x24, 0x06, 0x00, 0x01


     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0008 
        bInterval = 0x0010 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x000a  <CDC-data>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0082  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 2
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0002 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0001 
      iInterface = 0x0005  <Reset>

2025-06-14: Spotpear lists this as SKU 0101638, but it is a Waveshare product: SKU 29025.

2025-06-14: I created this page.

2025-06-14: the package was delivered (HeltHjem, dørmatta).

2025-06-05: the package shipped.

2025-05-31: from a seller on AliExpress, I ordered 1 x Raspberry Pi RP2350 1.28inch Round LCD Touch Option 65K Color IPS Panel 240×240 for Euro 14.28 + VAT, Euro 17.33 in total.