1 poin oleh GN⁺ 2025-04-06 | 1 komentar | Bagikan ke WhatsApp

Komputer minimal

  • Ide awal: Dulu, orang bisa memesan kit dan merakit komputer di rumah. Komputer modern terdiri dari chip yang kompleks dan membutuhkan daya besar. Namun, penulis memulai eksperimen untuk melihat apakah komputer modern bisa dijadikan kit yang mudah dirakit di rumah.
  • Tujuan: Membuat komputer yang dapat menjalankan Debian Linux, vi, gcc, dan make. Targetnya adalah 8MB RAM, CPU 1 MIPS, kartu SD, dan USB.

Pemilihan komponen

  • Antarmuka USB: Hampir tidak ada chip 8-pin yang mendukung USB. Opsi yang memungkinkan adalah PL2303GL dan seri ATTINYx5.
  • RAM: Menggunakan PSRAM SOIC-8. RAM 8MB mudah didapat.
  • Mikrokontroler: Beberapa opsi dipertimbangkan, tetapi STM32G031J6 dinilai paling cocok. Chip ini memiliki flash 32KB, RAM 8KB, dan kecepatan clock 64MHz.

Desain perangkat keras

  • Konsol: Pin UART tidak bisa digabungkan dengan fungsi lain.
  • RAM: SPI PSRAM mendukung mode QSPI, tetapi karena keterbatasan jumlah pin, yang digunakan adalah mode SPI biasa.
  • Kartu SD: Untuk mengatasi kekurangan pin, dirancang metode menghubungkan RAM dan kartu SD ke pin yang sama.

Kisah perangkat lunak

  • Emulator: Emulator MIPS yang sudah ada digunakan kembali. Flash 32KB dibagi menjadi bootloader dan kode utama.
  • Bootloader: Dikembangkan bootloader yang mendukung pembaruan firmware dari kartu SD.

Kinerja

  • Overclock: STM32G031 ditetapkan pada 64MHz, tetapi bisa dioverclock hingga 150MHz. Pada 148MHz, CPU MIPS yang diemulasikan menunjukkan kinerja setara sekitar MIPS R3000 1.65MHz.

Perakitan

  • Perakitan awal: Soket kartu SD, kapasitor, resistor, mikrokontroler, dan chip USB-serial disolder secara berurutan.
  • Perakitan tahap kedua: Setelah bootloader diprogram ke mikrokontroler, chip RAM disolder.

Unduh dan penggunaan

  • File: Semua file yang diperlukan sudah termasuk dalam paket unduhan. Tulis image kartu SD, lalu salin firmware ke kartu SD agar bootloader mengenalinya saat boot pertama.
  • Cara penggunaan: Perangkat melakukan boot ke shell prompt, dan bash juga bisa dijalankan. Untuk mencegah kekurangan RAM, disarankan menggunakan file swap.

1 komentar

 
GN⁺ 2025-04-06
Komentar Hacker News
  • Setelah memikirkan pin mana yang bisa digabungkan dengan tiga pin SDIO, ternyata nCS pada RAM bisa digunakan sebagai CLK kartu SD, CLK pada RAM sebagai CMD kartu SD, dan MOSI pada RAM sebagai DAT kartu SD
  • Agak disayangkan harus menggunakan chip terpisah untuk antarmuka dengan USB. USB adalah protokol yang kompleks, dan selain V-USB dasar, memerlukan hardware khusus serta software stack tersendiri. Sebaliknya, SPI sangat sederhana dan bisa dijalankan bahkan dengan hardware minimal
  • Rindu masa ketika desktop dan laptop punya port serial dan paralel yang terekspos. Rasanya akan lebih baik jika, alih-alih USB, kita memakai UART, I2C, dan SPI, lalu untuk periferal dengan banyak data menggunakan link Ethernet IEEE 802.3
  • Artikel ini sangat informatif dan menyenangkan untuk dibaca
  • Sebaiknya disebutkan bahwa ketebalan board 0,8 mm itu diperlukan. Ini agar "USB-C edge connector" bisa pas dengan colokannya
  • Rasanya proyek ini akan jauh lebih sederhana kalau persyaratan 8 pin dibuat sedikit lebih fleksibel. Beberapa pin tambahan saja akan sangat mengurangi kompleksitasnya
  • Ini nyaris terdiri dari dua chip saja. Salah satunya adalah IC USB-serial. Kalau kartu SD tidak dihitung, total jumlah pinnya sangat sedikit
  • Proyek ini sangat keren, tetapi bertentangan dengan tujuan membuat kit komputer baru untuk pemula. Bagi pemula, SOIC8 dan SOIC28 tidak terlalu berbeda, dan chip yang lebih besar bisa menghasilkan komputer yang lebih berguna
  • Terbayang ini bisa dipakai untuk infrastruktur IoT serverless. Jika penyedia PCB hanya menyediakan energi dan Ethernet, seharusnya SSH bisa diakses. Setelah pekerjaan selesai, logam/PCB bisa didaur ulang
  • Ini juga seharusnya bisa dibuat dengan RISC-V. Saya membayangkan membuat perusahaan sederhana yang me-rooting ponsel lama dengan AI lalu menyediakan internet dan energi
  • Ada dorongan untuk menghilangkan board-nya sama sekali dan membuatnya sebagai rangkaian potongan-potongan
  • Saya punya alergi pribadi terhadap RISC-V
  • Menggunakan chip SPI flash 8 pin sebagai penyimpanan alih-alih kartu SD juga akan terasa lucu