Category: Electronics

The Art of Electronic Devices Hacking

Malam minggu harusnya dihabiskan untuk melakukan hal produktif, #SayNoToValentineDay. Salah satu hal produktif yang bisa seorang mahasiswa elektro lakukan adalah hacking peralatan elektronik di sekitarnya.

Introduksi

Hacking lebih dikenal sebagai usaha untuk menjebol masuk ke dalam sistem untuk mengubah perilakunya, orang yang melakukan hacking disebut hacker. Well secara teknis betul sih, tapi dalam dunia electronic hobbyist, term hacking adalah usaha mengubah (alter) fungsi biasa dari sebuah perangkat. Karena tulisan ini berada dalam konteks elektronika, maka kita akan gunakan definisi terakhir (yang tentu saja saya buat sendiri, haha).

Melakukan hacking meniscayakan interaksi dengan perangkat yang ingin di-hack. Nah dari titik ini, pengalaman dalam menangani berbagai protokol komunikasi yang digunakan perangkat tersebut menjadi penting. Selain itu, sifat modular dari perangkat tersebut akan menentukan skill level yang diperlukan. Maksud dari modular adalah masing-masing bagian (komponen) pada perangkat target saling independen, jadi komponen-komponen tersebut dapat dipisahkan dan dikombinasikan untuk menjalankan fungsi yang berbeda. Semakin modular suatu perangkat, maka semakin mudah perangkat tersebut untuk di-hack.

Contoh perangkat modular adalah Project Ara, sebuah smartphone besutan Google yang setiap komponennya dapat dilepas. Sementara smartphone pada umumnya sangat tidak modular.

Project Ara
Project Ara
Exploded View dari Smartphone generik
Exploded View dari Smartphone generik

Modularitas Perangkat

Perangkat yang modularitasnya rendah umumnya sulit untuk diutak-atik. Jika sudah begini, pengalaman dalam mengenali dan memahami mekanisme komunikasi akan sangat berguna. Untuk mengatasi pengalaman yang kurang, kita bisa menonton video-video teardown perangkat di youtube, misalnya. Bisa juga dengan sering bongkar-bongkar perangkat lama kita yang sudah rusak.

Misalkan kita punya flashdisk yang sudah lama tak terpakai, jika dibongkar kita akan dapati chip controller dan NAND flash chip. Chip controller bisa diprogram sesuai keinginan kita, dan NAND Flash bisa dipakai untuk menyimpan data.

Internal view dari flashdisk (tampak: NAND flash chip)
Internal view dari flashdisk (tampak: NAND flash chip)

Sayangnya kedua chip tersebut tidak mudah di-interface, kita harus banyak membaca datasheet untuk membuatnya bekerja. Melakukan desoldering, membuat PCB, dan memastikan chip tersebut bekerja baik adalah tugas seorang insinyur elektro.

Namun kalau melihat telepon genggam jaman dulu, kita bisa temukan banyak bagian yang bisa dimanfaatkan, misalnya nokia 3310 yang legendaris itu ternyata layarnya bisa dipakai untuk membuat game console!

Nokia 3310
Nokia 3310

 

Gamebuino - Game console yang memakai LCD nokia 3310
Gamebuino – Game console yang memakai LCD nokia 3310

Impresi

Artikel ini memaparkan sekilas mengenai hacking perangkat elektronik. Secara umum, hacking merupakan skill yang harus dibiasakan agar dapat semakin piawai membongkar dan menggabung berbagai perangkat elektronik. Salah satu website yang sering mendemonstrasikan electronic device hacking adalah hackaday.com, it’s worth to visit.

Kecil2 Cabe Rawit (Small-small Chilli)

Kecil2 Cabe Rawit (Small-small Chilli)

Yeah I know the title is absurd. But despite of my malformed english translation I really want to write an article about electronic projects as my future reference.

I wonder how people exploit the potential of this little device which seems to be very helpless. Today I browsed some of great projects which have done that.

1. DUO Tiny, is a portable computer which uses ATTiny as its core. I found this project on youtube and you really should check that out:

The same person also has built several other project like DUO Mega which is a CRT TV-based computer I think, and DUO Decimal which is a very minimalistic computer.

And yeah you should check his youtube channel as well, I think he has more videos you may like.

Okay, it’s pretty much it. Stay tuned for more updates as I continue to browse. See ya!

Build Everything in Your Own: Microprocessor

People who are really serious about software should make their own hardware   -Alan Kay

Perancangan prosesor sangat menarik buat saya, prosesor tidak punya bagian mekanik yang bergerak namun dapat melakukan banyak hal, sama seperti otak kita. Hal itulah yang membuat saya kagum.

Orang yang benar-benar serius tentang perangkat lunak semestinya membuat perangkat kerasnya sendiri. Penafsiran saya, untuk betul-betul mengetahui how the software we are using really work underhood, kita mesti tahu bagaimana instruksi alias program komputer dieksekusi. Inilah alasannya mengapa kita harus membuat hardware kita sendiri.

Anda tahu modem? Pernah bongkar “mesin” modem USB Anda? Jika dibongkar, Anda akan temui chip modem yang menjadi pusat pemrosesan data yang lalu-lalang. Ada bagian yang bergerak? Tidak. Namun benda sekecil itu mampu memproses hingga jutaan informasi tiap detiknya.

Baik, sekarang mari kita fokuskan ke prosesor. Ketika membuat prosesor, kita benar-benar dibebaskan untuk merealisasikan desain apapun yang kita mau. Bahkan, kita bisa membuat instruction set sendiri sesuka kita, menambah kurang fitur-fitur yang diimplementasikan oleh prosesor buatan kita, menentukan seberapa cepat ia berjalan, dan seterusnya.

Jika Anda membayangkan prosesor adalah otak komputer yang diproduksi Intel dan AMD, Anda tidak salah. Tapi sebetulnya tidak terbatas itu saja, Anda bahkan sebetulnya bisa membuat sendiri prosesor di rumah, really, namun tentu tidak secepat prosesor laptop Anda. :p

Prosesor buatan rumah
Prosesor buatan Intel

Ada sebuah instructable mengenai pembuatan prosesor 8-bit sederhana di link ini. Cukup mudah diikuti meskipun saya sendiri belum pernah mencobanya.

Anda sebenarnya tidak mesti jadi seorang sarjana elektro atau computer scientist untuk mengerjakan proyek ini, namun mempelajari sistem digital baik di universitas ataupun secara otodidak akan sangat banyak membantu Anda mengerti perancangan prosesor. Ada banyak buku-buku yang menawarkan informasi berharga mengenai topik ini, mulai dari yang murah hingga mahal, dari yang berbahasa inggris sampai bahasa Indonesia pun juga ada.

Jika Anda tertarik dengan dunia rancang-merancang makhluk kecil nan powerful ini, Anda bisa mengikuti link yang saya sediakan di posting berikut ini.

Transistor, FPGA, System on Chip. Apa itu ya?

Transistor merupakan komponen paling mendasar dari perangkat digital. Beberapa jenis transistor adalah BJT (Bipolar Junction Transistor) dan MOSFET (Metal-Oxide-Silicon Field Effect Transistor). Perbedaan dari kedua jenis transistor tersebut adalah BJT bekerja pada dua kutub, dalam arti beroperasi dengan membuat gate elektron atau gate hole, sedangkan MOSFET hanya satu kutub, sehingga ada jenis NMOS dan PMOS MOSFET.

Transistor dapat dibuat menjadi sangat kecil dan terintegrasi dalam satu chip, yang disebut dengan IC (integrated circuit), meskipun didalamnya IC tidak hanya mengemas transistor. IC mampu mengemas puluhan hingga puluhan juta transistor. IC merupakan istilah umum yang merujuk pada komponen yang memuat komponen lain secara terintegrasi. Terdapat dua jenis IC yaitu IC digital dan analog.

Pada ranah IC digital, muncul berbagai istilah baru, beberapa diantaranya ada ASIC, PLA, PAL, CPLD, FPGA, prosesor, mikrokontroller, DSP (Digital Signal Processor), dan SoC (System on Chip).

ASIC (Application-Specific IC) adalah IC yang dirancang khusus untuk melakukan pekerjaan tertentu, DSP Prosesor merupakan ASIC. ASIC dapat dirancang secara full-custom, menggunakan standar-cell, atau memakai gate-array yang lebih mudah dalam proses produksi. Rangkaian yang sudah dibuat pada ASIC bersifat permanen. Agar memudahkan proses design and test, maka dipergunakan ASIC yang dapat diprogram ulang (Programmable Logic Device). Ada berbagai jenis PLD yaitu PLA (Programmable Logic Array), PAL (Programmable Array Logic), CPLD (Complex PLD), dan FPGA (Field-Programmable Gate Array), keempat jenis ini berbeda pada sisi arsitektural saja.

Selain IC yang bersifat khusus, ada pula general-purpose IC yaitu yang dapat digunakan untuk melakukan berbagai tugas. Prosesor adalah general-purpose IC yang melakukan operasi aritmatika dasar, logika, kontrol, dan input/output pada sistem sesuai instruksi yang diberikan. Meskipun terdapat register, prosesor tidak memiliki bagian untuk menyimpan seluruh instruksi yang dijalankan, prosesor hanya mengambil instruksi tersebut sesuai dengan yang diterima dari memory eksternal (RAM atau Flash).

Dalam embedded system digunakan mikrocontroller. Mikrokontroller merupakan IC yang menyatukan fungsi prosesor, memory flash, RAM, dan periferal input/output yang dapat diprogram ulang. Hanya saja, mikrokontroller umumnya memiliki memori yang kecil sehingga hanya cocok melakukan perkerjaan yang tidak terlalu berat, dan memerlukan daya yang relatif kecil.

Dalam kebutuhan sistem yang memerlukan daya kecil namun memiliki kemampuan setara prosesor (seperti dalam smartphone saat ini), maka digunakan SoC (System on Chip). Mirip seperti mikrokontroller, SoC menyatukan fungsi-fungsi dasar sebuah komputer, namun tanpa disertai memori, sehingga memerlukan RAM eksternal. Pada kasus lain, SoC dapat memuat mikrokontroler, prosesor, DSP prosesor, dan memory.

 

Ditulis oleh Rosmianto Aji Saputro di Bandung.