Langsung ke konten
Display Engineer
Pengontrol sentuh · Hynitron

CST328: cara pemasangan & troubleshooting

CST328 adalah controller sentuhan kapasitif Hynitron dengan antarmuka I2C pada alamat 0x1A dan alamat register 16-bit. LilyGO menyatakan chip ini sudah berhenti diproduksi dan board yang lebih baru dikirim dengan CST3530, yang memerlukan driver yang berbeda.

DEDisplay Engineer Applications Team · Display application engineerDiperbarui 11 Nov 2026
ProdusenHynitron
TipePengontrol sentuh
AntarmukaI2C
Resolusi maks5 touch points

CST328 secara ringkas

Item

Nilai

Sumber

Antarmuka

I2C, alamat register 16-bit

Driver ESPHome, RS-Key

Alamat I2C (7-bit)

0x1A

Tabel pin LilyGO T-Deck Pro, RS-Key

Titik sentuh

5 pada Waveshare ESP32-S3-Touch-LCD-2.8

Wiki Waveshare

Laporan sentuhan

Register 0xD000, 7 byte untuk satu titik

RS-Key

Interrupt

Didukung

Wiki Waveshare, ESPHome (falling edge)

Status

Berhenti diproduksi, menurut LilyGO

README LilyGO T-Deck Pro

Kami tidak menggunakan datasheet Hynitron untuk angka-angka ini. Salinan yang kami temukan online adalah unggahan reseller, sehingga nilai-nilai di atas berasal dari source code driver dan dokumentasi board.

Penggantian ke CST3530

README T-Deck Pro dari LilyGO menyatakan bahwa pemasok CST328 "telah menghentikan produksi", sehingga board T-Deck Pro v1.1 yang lebih baru menggunakan CST3530. README tersebut menambahkan bahwa "kedua chip menggunakan alamat perangkat yang sama", sehingga firmware harus mengidentifikasi chip tersebut saat inisialisasi. LilyGO menggunakan rutin cst66xx dari Hynitron untuk CST3530 dan cst3xx untuk CST328.

Waveshare RP2350-Touch-LCD-2.8 melakukan perubahan yang sama. Proyek RS-Key mendokumentasikan V1 dengan CST328 pada 0x1A dan V2 dengan CST3530 pada 0x58. Pada T-Deck Pro alamatnya tidak berubah; pada board ini alamatnya berubah.

CST328

CST3530

Pengalamatan register

2 byte

Kata perintah 4 byte

Laporan sentuhan

0xD000, 7 byte

0xD0070000, 9 byte

Acknowledge setelah read

Tulis byte sinkronisasi 0xAB

Tulis 0xD00002AB

Alamat pada T-Deck Pro

0x1A

0x1A

Alamat pada RP2350-Touch-LCD-2.8

0x1A (V1)

0x58 (V2)

Perilaku saat idle

Tidak terdokumentasi pada sumber yang kami gunakan

Sleep otomatis; LilyGO merekomendasikan interrupt daripada polling

Kolom CST3530 berasal dari driver gabungan RS-Key yang diuji pembuatnya pada board V2, dan dari README LilyGO.

Bagaimana gejala penukaran chip terlihat

Kedua proyek yang mengalami masalah ini melaporkan hal yang sama: firmware berjalan dan display menampilkan gambar, tetapi tidak ada sentuhan yang terdeteksi. Isu reticulum-tdeck menyebutkan beberapa unit T-Deck Pro v1.1 berfungsi dan yang lain tidak, yang sesuai dengan perubahan antar batch produksi, bukan karena kesalahan wiring.

Dua jebakan lainnya:

  • Pemindaian I2C tidak mengidentifikasi chip. Pada T-Deck Pro kedua chip merespons di 0x1A. Penulis reticulum-tdeck melakukan probe CST3530 terlebih dahulu, karena CST3530 "dengan senang hati mengakui pembacaan register CST328". Mereka juga menyatakan kode ini belum pernah dijalankan pada board CST3530. Uji bench meshcore-firmware pada T-Deck Pro V1.1 menunjukkan hal yang sama: pembacaan gaya CST328 diakui tetapi tidak mengembalikan tipe chip maupun resolusi, sedangkan pembacaan gaya CST3530 mengembalikan blok valid dengan penanda 0xCA 0xCA dan resolusi panel 240×320.
  • Driver lain bisa mengira chip itu 0x1A. Sebuah pull request Meshtastic terbuka melaporkan bahwa pemindaian I2C-nya mengira chip sentuh T-Deck Pro sebagai bridge DS2482-800, karena pengujian register status kebetulan cocok.

Ini pola yang umum pada controller sentuh kecil: nomor part di board tetap sama sementara chipnya berganti. Jika Anda memproduksi dalam jumlah besar, tanyakan kepada pemasok display Anda IC sentuh apa yang terpasang, dan minta agar diberi tahu sebelum diubah. Glosarium EOL dan PCN kami menjelaskan apa saja yang seharusnya terkandung dalam change notice.

Bring-up dengan ESPHome

Platform cst328 milik ESPHome membutuhkan konfigurasi I2C serta menerima interrupt_pin dan reset_pin opsional. Proses setup-nya melakukan hal berikut:

  • Memberi pulsa reset low selama 5 ms, lalu menunggu.
  • Membaca CRC firmware dan mengharapkan 0xCACA. Pada nilai lain, komponen ditandai gagal.
  • Membaca tipe chip, project ID, revisi firmware, dan resolusi, lalu mengalihkan chip ke mode normal.

Pemeriksaan CRC adalah hal pertama yang diperiksa jika ESPHome melaporkan touchscreen gagal. ESPHome menggunakan pembacaan CST328 dengan alamat register 2 byte, dan pada uji bench meshcore-firmware pembacaan seperti itu tidak mengembalikan apa pun yang berguna dari CST3530. Jadi pada board dengan CST3530, harapkan pemeriksaan ini gagal. Ini adalah kesimpulan kami: kami belum menjalankan ESPHome pada board CST3530.

Dukungan driver

  • ESPHome: platform cst328. Dokumentasinya menyebutkan board Waveshare ESP32-S3 Touch LCD 2.8. Tidak ada platform CST3530 di sana.
  • ESP-IDF: Waveshare menerbitkan esp_lcd_touch_cst328 di component registry Espressif. Tabel kompatibilitasnya hanya mencantumkan CST328.
  • Rust: crate cst328 di crates.io, serta firmware RS-Key untuk kedua chip.
  • Driver milik Hynitron sendiri: LilyGO menautkan sumber hyn_driver milik Hynitron untuk kedua chip.

Controller terkait

Untuk sentuhan satu jari pada display bulat, lihat CST816S, juga dari Hynitron. Untuk panel lebih besar dengan hingga 5 titik sentuh, lihat GT911.

CST328: troubleshooting & FAQ

Touch bekerja pada batch board pertama saya tetapi mati pada yang baru. Mengapa?

Periksa apakah chip sentuhnya berganti. LilyGO menyatakan batch T-Deck Pro v1.1 yang lebih baru menggunakan CST3530 sebagai pengganti CST328, pada alamat yang sama 0x1A, dan Waveshare RP2350-Touch-LCD-2.8 V2 juga beralih ke CST3530. Proyek dengan driver khusus CST328 melaporkan gejala yang sama: display bekerja tetapi tidak ada sentuhan yang terdeteksi. Pemindaian I2C tidak dapat membedakan kedua chip pada T-Deck Pro, jadi bacalah tipe chip atau lakukan probe protokol CST3530 terlebih dahulu.

Berapa alamat I2C CST328?

Tabel pin T-Deck Pro milik LilyGO memberikan 0x1A, dan proyek RS-Key mencantumkan 0x1A (7-bit) untuk CST328 pada Waveshare RP2350-Touch-LCD-2.8 V1. Jangan berasumsi CST3530 berada di alamat yang sama: alamatnya 0x1A pada T-Deck Pro tetapi 0x58 pada RP2350-Touch-LCD-2.8 V2, menurut RS-Key.

Bisakah satu driver mendukung CST328 dan CST3530 sekaligus?

Ya, jika driver mendeteksi chipnya. LilyGO menyatakan modelnya "harus diidentifikasi saat inisialisasi" dan menggunakan rutinitas init yang terpisah. Proyek reticulum-tdeck melakukan probe CST3530 terlebih dahulu, karena CST3530 juga mengakui pembacaan register CST328; penulisnya menyatakan ini belum pernah dijalankan pada board CST3530. Proyek RS-Key sebaliknya memilih chip saat build.

Sumber

  1. README LilyGO T-Deck Pro (CST328 ke CST3530, alamat, init, interrupt)
  2. Issue #37 LilyGO T-Deck Pro: CST3530 menggantikan CST328
  3. Issue #139 RS-Key: RP2350-Touch-LCD-2.8 V1 CST328 0x1A vs V2 CST3530 0x58
  4. PR #138 RS-Key: driver CST3530 (report 0xD0070000, ack 0xD00002AB)
  5. Issue #19 reticulum-tdeck: sentuhan T-Deck Pro v1.1 tidak berfungsi pada beberapa unit
  6. reticulum-tdeck v1.13.0-rc1: urutan probe CST3530
  7. Issue #2108 meshcore-firmware: probe sentuhan T-Deck Pro V1.1 (pembacaan cst66xx vs cst3xx)
  8. PR #11952 Meshtastic: chip sentuh di 0x1A terdeteksi salah sebagai DS2482
  9. Dokumentasi touchscreen CST328 ESPHome
  10. Kode sumber cst328_touchscreen.cpp ESPHome
  11. Wiki Waveshare ESP32-S3-Touch-LCD-2.8
  12. Komponen esp_lcd_touch_cst328 Waveshare

Belum yakin display mana yang cocok untuk desain Anda?

Kirimkan ukuran, antarmuka, dan prosesor host Anda. Display engineer akan membalas dalam 12 jam dengan 2–3 opsi, datasheet, dan kode inisialisasi. Sampel mulai 1 pcs.