Lencana PCB, yang tidak akan, atau bagaimana mengatasi semuanya dan kehilangan di akhir

Halo, Habr! Kita hidup di masa yang menarik: dipheyks, perang perdagangan, permainan politik, Greta Tunberg, dan jika ini tampaknya tidak cukup untuk Anda, maka dapatkan tanda untuk hal yang baru - infeksi coronavirus COVID-19.

Penyebaran coronavirus juga memengaruhi konferensi OFFZONE 2020 kami tentang keamanan siber praktis . Itu harus ditunda sampai waktu yang lebih baik.

Sayangnya, ini berarti bahwa lencana textolite yang telah kami kembangkan sejak Desember tidak akan terjadi dalam bentuk saat ini. Artikel ini adalah semacam epitaf konsepnya. Di bawah potongan, kami memberi tahu bagaimana kami berjuang untuk ergonomi, komponen yang ditambang dengan perbatasan tertutup, menemukan sihir DIY terhadap kekurangan dan keadaan apa yang lebih kuat dari kami.




Konsep: Lencana Rahasia Utama


  , OFFZONE 2020. ,  :


  • PCB     ,
  • OFFCOIN-,
  •  DIY- ,
  •   Shitty Add-on’.

Tapi ini tidak semua rahasia! Kami memikirkan tentang lencana utama ketika kami mengetahui bahwa babak terakhir kompetisi keamanan cyber praktis CTFZone akan diadakan sebagai bagian dari konferensi OFFZONE 2020. Banyak yang akan mengikuti turnamen ini: kemenangan di CTFZone menentukan siapa yang akan pergi ke DEFCON CTF dan bertarung melawan tim terkuat di dunia.

"Dan mari kita menyiarkan keadaan terkini tentang CTF kepada setiap pengunjung konferensi!" - tim pengembang lencana disarankan. "Belum ada yang melakukan itu."

Dalam kompetisi KKP 10 tim berpartisipasi. Seseorang terus-menerus menyerang seseorang, seseorang membela dirinya sendiri, seseorang sedang menunggu saat yang nyaman. Jika semua tim memilih satu RGB-LED di papan tulis, maka masing-masing interaksi tersebut dapat dinyatakan dalam warna yang setara. Ini akan menghasilkan sistem 10 LED RGB, kondisi yang secara unik menentukan penyelarasan gaya saat ini pada CTF.

Ide itu datang ke semua orang, dan kami mulai bekerja.




Prototipe: dari tata letak ke model kerja


Setelah tahap pendek rekayasa spaghetti (prototyping on debugging) selama sepuluh hari, lencana berubah menjadi prototipe pertama pada textolite.

Itu selama prototyping bahwa ide muncul untuk melengkapi lencana dengan kemungkinan penyesuaian menggunakan Shitty Add-on Connector dan add-on buatan sendiri. Para peserta konferensi semua akan pergi dengan lencana unik, keindahan!

Bagi yang berminat, kami akan menjelaskan basis komponen PCB kami.


  • Jantung lencana agak tipis, tetapi diuji STM32F070R6P6 MK (ARM Cortex-M0 48 MHz, Flash 32 KB, SRAM 6 KB, paket TSSOP20).
  • Yang bertanggung jawab untuk musik ringan adalah selusin LED RGB WS2812B.
  • Modul transceiver NRF24L01 menerima pesan radio.
  • Beberapa rangkaian catu daya dan pita resistor-kapasitor.
  • Nah, menurut tradisi, semuanya ditenagai oleh 4 baterai AAA.

Kemampuan MK STM32 hanya cukup untuk mengimplementasikan fungsi dompet OFFCOIN, mengontrol LED dan memproses pesan radio.



Prototipe itu ternyata lebih dari sekadar bekerja dan menginspirasi kegembiraan dalam jiwa kita dengan kedipan LED yang ceria. Di sebelah setiap LED pada PCB terdapat logo tim anggota CTF: LED merah menyala - perintah ini menyerang, yang hijau membela, yang biru bersembunyi dan bersiap-siap untuk sesuatu. Semua ini sudah siap pada awal Februari ...

... Ketika kami mengetahui bahwa karena langkah-langkah non-proliferasi COVID-19, 2 tim asing tidak akan dapat mendatangi kami.

Yah, tidak menyenangkan, tapi tidak menakutkan. Kami memutuskan untuk tidak mengubah desain lencana terakhir, tetapi untuk memberikan tim yang ada VPN dan kemungkinan partisipasi jarak jauh dalam CTF.


Perangkat lunak dan desain industri: pin pogo sangat bagus


Meskipun ada berita yang mengganggu, secara umum, pengerjaan lencana berjalan sesuai rencana. Sudah waktunya untuk mulai menulis perangkat lunak dan membuat infrastruktur.

Kami tidak akan berbicara tentang perangkat lunak. Bukan karena misterinya, tetapi karena tidak ada yang menarik di sana. Pada badge, driver HAL tanpa RTOS, WS2812B dikendalikan oleh timer dan generasi PWM, dompet OFFCOIN diimplementasikan melalui PKI, semacam driver NRF24. Tidak ada yang menarik. Percayalah padaku.

Tetapi dengan infrastrukturnya kita bingung.

Tugas 1: membuat dompet yang nyaman dari lencana. Tugas besar pertama yang perlu dipecahkan adalah memberikan pengisian ulang saldo OFFCOIN dompet Anda yang cepat dan nyaman.

Di OFFZONE 2019, transfer ID dompet OFFCOIN adalah non-kontak: kami menggunakan penerima IR pada pembaca dan pemancar IR pada lencana. Sistem ini bekerja, tetapi lambat, dan hanya dengan baterai atau lencana USB dan hanya jika pengguna dengan benar memilih sudut kemiringan punggung dan jumlah tekukan leher sehubungan dengan penerima IR. Kecepatan dan kenyamanan - ini bukan tentang lencana tahun lalu.

Tahun ini, semua lebih serius! Sistem pembayaran telah menjadi kontak dan dapat dengan sendirinya memberikan kekuatan pada lencana. Antarmuka dompet sekarang menjadi UART, dan koneksi fisik itu sendiri dirancang dengan cerdik: kontak antara pembaca dan papan lencana adalah pogo-pin.

Pogo-pin adalah kontak pegas yang nyaman yang biasanya digunakan untuk membuat sambungan listrik sementara. Pada papan pembaca yang dirancang khusus, 4 kontak tersebut dipasang, dan pada lencana itu sendiri dibuat 4 bantalan kontak: TX, RX, 3V3 dan GND. Jadi sekarang, untuk terhubung ke pembaca, cukup menempatkan kartu lencana di pin dan menahannya di posisi ini sebentar.


Kami juga mengisi ulang beberapa artikel pintar tentang desain industri dan menciptakan perumahan kami sendiri untuk pembaca. Menit desain pertama dilemparkan di selembar kertas saat makan siang. Berikutnya - setengah lusin iterasi pada printer 3D dan perekat lelehan panas, dalam tradisi prototyping terbaik.

Di sini saya harus menyiksa dengan adil dengan pemilihan ukuran celah dan ketebalan dinding case. Mengapa? Karena desain dari kertas harus segera dipindahkan ke CAD dan gambar manusia, dan tidak diukir saat bepergian ke Tinkercad. Dia mendorong satu lubang, melupakan yang lain ... Tapi sekarang kita memiliki segunung prototipe dan desain akhir kasing.

Kasingnya ternyata cukup nyaman. Sekarang Anda tidak perlu repot dengan pembaca: Anda memasukkan lencana ke dalam kasing, itu sendiri pusat papan sesuai kebutuhan, dan andal memegangnya sendiri. Dua pembatas pegangan dan papan yang mengikuti kontur bagian bawah papan bertanggung jawab untuk ini. Dan berkat antarmuka UART, yang jauh lebih andal dan lebih cepat daripada IR, proses pertukaran data dompet itu sendiri sekarang membutuhkan waktu sepersekian detik.


Tujuan 2: Pastikan cakupan maksimum untuk NRF24. Kami memiliki denah lantai dan ada data tentang seberapa efisien indoor mentransmisikan dan menerima NRF24. Kami diminta untuk menghitung di mana dan bagaimana menyodok pemancar sehingga tidak ada zona mati di lapangan konferensi dan lencana selalu menyiarkan informasi terbaru tentang CTF.

Ternyata itu mudah. Sebagai pemancar, kami memilih Raspberry PI satu papan dan NRF24 yang sama. Agar tidak menghasilkan dua lusin raspberry dengan kabel papan tempat memotong roti dan NRF, kami membuat perisai kami sendiri. Ini dirancang untuk menghubungkan semua jenis modul NRF24 dan memiliki sepasang LED untuk menunjukkan status raspberry. Hanya tinggal di tempat untuk memeriksa area jangkauan pemancar dan, jika perlu, perbaiki perhitungan.




Pengadaan komponen: apa yang harus dilakukan ketika semuanya salah


Hingga saat ini, persiapan lencana umumnya lancar. Semuanya berubah ketika kami mulai membeli komponen dan memesan produksi papan sirkuit.

Masalah 1: Coronavirus di Cina. Dari pengalaman tahun sebelumnya, kami ingat betapa pentingnya untuk sepakat terlebih dahulu dengan pemasok dan pabrik. Kami sepakat.

Dan kemudian sesuatu-semua orang-tahu terjadi. Karena pembatasan ekspor dan penghentian produksi di China, setengah dari pemasok komponen elektronik meminta maaf dan hanya membuat isyarat tak berdaya tanpa memberikan tenggat waktu. Babak kedua menggambar Γ— 2β€” Γ— 3 dari waktu yang cocok untuk kita.

Kisah yang sama dengan produksi papan sirkuit: dua bulan atau lebih pada produksi dan pengiriman. Mengingat penginstalan untuk OFFZONE 2020, kami tidak punya waktu ...

Atas saran rekan-rekan insinyur, kami mencoba menghubungi satu pabrik di Latvia melalui perantara. Tetapi di sana mereka mengatakan β€œnē” yang penuh kasih sayang (β€œtidak” dalam bahasa Latvia) segera setelah mereka mengetahui bahwa kami perlu memproduksi 40+ meter persegi textolite.

Awan berkumpul. Hari-hari berharga pergi mencari pabrik yang akan membuat kami serangkaian papan, untuk komunikasi dengan pemasok yang terus-menerus mengubah tenggat waktu. Kemungkinan kegagalan tumbuh.

Dalam putaran kedua puluh memanggil semua kontraktor yang mungkin, dengan biaya penderitaan moral dan moral yang sangat besar dari personil BI.ZONE, dengan biaya insinyur berjanggut, kami berhasil menyepakati produksi papan sirkuit cetak dan pasokan hampir semua komponen sehingga kami akan tiba pada waktunya untuk OFFZONE 2020. Kembali ke belakang, tetapi tepat waktu!

Masalah 2: The Elusive NRF24L01.Sayangnya, kami tidak begitu beruntung dengan pembelian modul radio NRF24L01.

Awalnya, kami meletakkan kemungkinan menggunakan dua modul NRF yang berbeda dengan antena PCB dalam proyek PCB: faktor bentuk standar dan mini NRF24L01 versi ringkasnya .

Namun, rekanan, yang memikul kewajiban pengiriman, bergabung pada saat terakhir. Agar tidak merusak instalasi, perlu dalam 5-6 hari untuk menemukan pemasok baru - atau membuat sesuatu yang lain.

Masa putus asa membutuhkan tindakan putus asa. Kami tidak berani berharap hanya untuk keberhasilan pencarian dan pada saat yang sama mengambil keuntungan dari perintah pertama dari DIY-schika: ada sesuatu yang hilang - lakukan sendiri! Ya, atau salin dari orang yang lebih pintar. Dalam konteks NRF24 yang lebih pintar daripada para insinyur Semikonduktor Nordik itu sendiri, hampir tidak ada orang. Dalam lembar data pada NRF24L01 kami menemukan contoh sirkuit yang direkomendasikan dan PCB.


Contoh yang sama mudah ditemukan dalam bentuk proyek Altium PCB. Kami dengan cepat mengubah jenis koneksi dari header 2 Γ— 4 2,54 mm menjadi 8 lubang setengah logam 1,27 mm yang kami butuhkan. Komponen, poligon, transisi, konduktor, dll. Dibiarkan tidak berubah.

Jadi, sementara beberapa rekannya memutuskan hubungan telepon dengan pemasok elektronik, yang lain dalam mode cat melepuh memerintahkan produksi PCB dan komponen untuk selusin modul buatan sendiri. Beberapa hari kemudian, mereka semua memegang tangan dan berkumpul. Anehnya, itu berfungsi sebagaimana mestinya! 3 dari 3 papan yang dirakit menunjukkan hasil yang sangat baik dalam pengujian penerimaan dan transmisi.

Hasilnya jelas tidak lebih buruk daripada produk yang dibeli. Dew tidak akan menghaluskan hidungnya. Dan ini bahkan memperhitungkan penyederhanaan tertentu dari proses teknologi: atas nama mempercepat produksi, kami menolak pelapisan papan yang direkomendasikan dengan penyepuhan emisi.

Meskipun saya masih harus tersiksa dengan perakitan modul. Untuk alasan yang tidak diketahui oleh kami, para insinyur Nordik tidak menggunakan celah pada penutup papan, tetapi tiga vias sebagai kontak ke pad bumi (kasing pada chip transceiver QFN20). Ya, dan perhatikan jejak tanggung jawabnya: komponen solder 0402, bantalan kontak yang terletak saling membelakangi tanpa celah pada topeng penyolderan, masih menyenangkan.


Namun, itu tidak akan bagi kita untuk menyolder batch besar, tetapi mesin tanpa jiwa dalam produksi.

... Jika bukan karena satu keadaan: pada saat terakhir ada pemasok dari Belarus yang membantu kami dengan jumlah modul mini NRF24L01 yang diperlukan.


Semua sia-sia


Seorang insinyur dapat menangani banyak hal. Bahkan kurangnya komponen utama, ternyata, tidak akan menghentikannya. Tetapi ketika konsep produk itu sendiri menjadi tidak berarti, insinyur tidak punya pilihan selain memulai dari awal.

Menyaksikan perkembangan penyebaran COVID-19, kami membuat keputusan yang sulit: OFFZONE 2020 perlu dijadwal ulang. Tetapi CTFZone, sebagai tahap kualifikasi DEFCON CTF, tidak dapat ditunda (dan kami akan melakukannya secara online pada akhir April).

Sayangnya, ini mengubur gagasan lencana yang menerjemahkan tindakan perintah KKP.

Textolite telah dibuat, dan sekarang kami memiliki 10.000 komponen elektronik dan kelenjar di tangan kami. Di jalan 1.000.000 lagi. Sayangnya, mereka tidak akan pernah melihat cahaya hari.


Sesuatu berakhir, sesuatu dimulai


Bergembiralah bukan gaya kita. Tim pengembang badge berubah secara drastis dari mode pembakaran ke mode pendinginan, tetapi hanya untuk mulai menghasilkan ide-ide lencana gila baru untuk OFFZONE 2020 v2.0 dengan semangat baru!

Apa yang akan terjadi, kami belum memutuskan. Satu hal yang pasti: kami akan terus mengembangkan ide konektor menyebalkan dan mencoba membuatnya interaktif .

Jika Anda memiliki ide atau keinginan, maka bagikan - kami akan mencoba bersama untuk menghidupkannya. Tetap disini dan jangan bersin!

Penulis teks: @ qwe_0 , @ Capta1nYossarian

All Articles