- atopile adalah bahasa dan toolchain open-source untuk mendeskripsikan rangkaian elektronik dengan kode, yang berupaya menangani ekspresi kebutuhan desain PCB, penggunaan ulang desain, dan pembuatan keluaran seperti dalam pengembangan perangkat lunak
- Titik awalnya adalah kesadaran masalah bahwa desain hardware terasa seperti membuat software hanya dengan assembly, dan ini merupakan upaya menerapkan alur build, test, dan merge otomatis ala GitHub ke desain sirkuit
- Bahasa buatannya sendiri, ato, memungkinkan rangkaian dipecah menjadi modul, komponen, dan interface, lalu disarangkan dan dihubungkan; ada contoh modul Blinky yang menggabungkan RP2040, LED, LDO 3,3V, dan konektor USB-C
- Compiler membuat netlist yang merepresentasikan koneksi rangkaian dan memilih komponen generik; ke depannya mereka ingin memperkuat penggunaan ulang layout, relasi matematis antar nilai, dan definisi rangkaian yang mirip Rust trait
- Target saat ini adalah desain PCB dengan kompleksitas rendah hingga menengah, bukan untuk desain chip; core-nya dibuka sebagai open source dengan lisensi Apache 2.0, dan monetisasi direncanakan melalui penjualan fitur enterprise
Upaya memindahkan desain hardware ke workflow berbasis kode
- atopile adalah bahasa dan toolchain open-source untuk menjelaskan rangkaian elektronik dengan kode
- Alur cepatnya bisa dilihat di demo singkat
- Compiler-nya tersedia di repositori GitHub, dan dokumentasinya dapat dilihat di getting started
- Materi yang membahas proses desain modul ESP32 secara lebih detail tersedia sebagai video deep dive
- Para pendirinya sebelumnya harus menggambar dan mengekspor papan sirkuit elektronik sendiri di tempat kerja lama, lalu melihat workflow otomatis berbasis GitHub milik teman software engineer mereka dan mempertimbangkan apakah pendekatan yang sama bisa diterapkan pada hardware
Bahasa ato dan hasil kompilasi
- Bahasa ato memecah rangkaian menjadi modul, komponen, dan interface, serta memungkinkan blok-blok ini disarangkan atau dihubungkan satu sama lain
- Contoh RP2040 mengambil elemen berikut dan menggabungkannya menjadi modul
BlinkyRP2040KitLEDIndicatorBlueLDOReg3V3USBCConn- Daya USB-C → input regulator tegangan → daya mikrokontroler → koneksi GPIO13 dan input LED
- Nilai resistor LED ditetapkan sebagai
100ohm +/- 10%
- Compiler membuat netlist yang menjelaskan koneksi rangkaian, dan juga melakukan pemilihan komponen generik
- Penjelasan terkait dibahas dalam tulisan cloud components
Cakupan saat ini dan arah pengembangan
- Fokus pengembangan berikutnya adalah penggunaan ulang layout, relasi matematis antar nilai, dan fitur untuk mendefinisikan rangkaian dengan cara yang mirip trait di Rust
- Saat ini atopile ditujukan untuk desain segala jenis printed circuit board (PCB) dengan kompleksitas rendah hingga menengah
- Kompleksitas rangkaian yang dapat ditangani compiler direncanakan meningkat secara bertahap
- Ini bukan untuk desain chip, melainkan bahasa khusus PCB
- Core atopile dijadikan open source dengan lisensi Apache 2.0
- Monetisasi direncanakan dengan menjual fitur untuk enterprise, mirip GitLab
1 komentar
Komentar Hacker News
Pendapat tentang mengekspresikan rangkaian sebagai kode
Pendapat tentang alat komponen elektronik
Pendapat tentang berbagi modul
Pendapat tentang pendekatan baru untuk desain PCB
Usulan penggunaan Verilog
Pendapat tentang perbedaan antara program EDA dan CAD mekanik
Pendapat tentang sintaks impor kode
import Y from Xsebaiknya diubah menjadiimport X.Yataufrom X import Yagar alat autocompletion dapat digunakan.BFH - Health Without Borders
Antusiasme terhadap pekerjaan otomasi rumah