Aksesori elektronik kecil

Sudah lama saya tidak menuliskan tentang oprekan elektronik. Salah satu alasannya adalah karena tahun ini saya berusaha mengurangi pembelian berbagai benda dari AliExpress. Tahun lalu saya membeli terlalu banyak benda yang akhirnya kurang sempat dioprek.

Capture HDMI kualitas rendah

Ketika mengerjakan salah satu proyek Raspberry Pi, saya perlu berada di depan komputer karena menyangkut akses GPU untuk menampilkan video secara langsung dari kamera ke layar (pernah saya tuliskan di sini). Ada beberapa alternatif cara menangkap output HDMI, tapi harganya masih relatif mahal. Alternatif saat ini: PCI  card USB 3 capture card, dan device independen. Dari berbagai review yang saling bertentangan saya masih ragu harus membeli hardware yang mana, sedangkan harga hardwarenya tidak murah (puluhan hingga ratusan USD).

Dalam kasus kali ini, saya tidak benar-benar butuh capture kualitas tinggi, saya hanya ingin memastikan bahwa di layar tampil sesuatu yang seperti harapan saya. Jadi saya mengambil pendekatan paling murah: saya membeli HDMI2AV (kurang dari 7 USD). Signal HDMI diubah menjadi AV (dan resolusinya diresize), lalu saya tangkap signal AV ini dengan USB capture card yang sudah saya miliki (dulu harganya 4.5 USD).

LCD 1602 Acrylic case

Sudah beberapa kali mencetak case dengan printer 3D, tapi hasilnya kurang memuaskan. Saya melihat ada case Acrylic murah untuk LCD 16 karakter x 2 baris  jadi saya coba beli.  Harga benda ini bervariasi dari satu toko ke yang lain, antara 0.99 USD-2 USD.

Tampilannya cukup cantik, mudah disusun dan cukup stabil (tidak mudah jatuh). Case ini juga cukup bagus karena dirancang untuk LCD 1602 yang diberi kontroller I2C (ada lubang di samping untuk 4 kabel Vcc/Gnd/SDA/SCL). Kita juga bisa meletakkan Wemos D1 di belakangnya jika ingin membuat display  dari internet (misalnya nilai mata uang atau bitcoin).

Konektor PSU

Sebenarnya dari dulu sudah ada banyak tutorial untuk mengubah PSU menjadi bench power supply, tapi biasanya langkahnya merepotkan, perlu memotong kabel, membuat konektor khusus dst.

Belum lama ini saya menemukan bahwa ada board konektor PSU yang relatif murah (5 USD). Board ini sangat mudah dipakai, hanya perlu colok langsung, dan sudah ada switch on/off-nya. Selain bisa digunakan untuk bench power supply, kita bisa menggunakan board ini untuk mengetes apakah sebuah PSU masih bagus atau tidak.

Demikian tulisan singkat saat ini. Semoga lain kali tulisan oprekannya lebih menarik.

GPU Raspberry Pi

Salah satu kelebihan Raspberry Pi (RPI) dibandingkan Single Board Computer (SBC) lain adalah: harganya relatif murah dan memiliki GPU yang terdokumentasi resmi dan bisa dimanfaatkan dengan berbagai API low level. Beberapa SBC lain ada yang harganya lebih murah (misalnya Orange Pi) tapi dokumentasinya kurang, dan beberapa yang lain lebih powerful (misalnya NVidia Jetson) dengan dokumentasi yang cukup baik dari produsen (tapi masih kurang dari komunitas) tapi harganya 10x lipat dari RPi 3.

GPU Raspberry Pi cukup powerful, dan bisa melakukan beberapa hal menarik misalnya: tunelling dari kamera (dengan konektor CSI) langsung ke layar, colorspace conversion, video/image encoding and decoding,  resizing, dan overlay. Kita juga bisa meminta agar data dari kamera langsung dijadikan texture untuk OpenGL ES.

Secara praktis tunnelling artinya satu komponen ke komponen lain bisa bekerja langsung tanpa buffer. Contoh nyatanya begini: kita bisa membuat aplikasi yang kelihatan smooth karena data dari kamera tampil langsung di layar dengan kecepatan tinggi (30 fps) tanpa memakai CPU sama sekali. Sementara di latar belakang kita bisa mengambil gambar, memproses (misalnya face detection) dan menampilkan hasilnya.

Proses ini membypass windowing system, jadi bisa jalan bahkan tanpa X Window (mode teks sekalipun).

Video dari kamera bisa ditampilkan di mode teks

Fitur texture OpenGL ES artinya kita bisa menampilkan gambar kamera atau video (dari file atau jaringan) langsung di permukaan  misalnya kubus atau teko. Selain itu kita bisa menggunakan pixel shader untuk memproses data tanpa memakai CPU, contohnya membuat filter kamera secara real time, atau bahkan melakukan preprocessing untuk algoritma machine learning. Data yang sudah diproses bisa dibaca dan diproses lebih lanjut di CPU dengan glReadPixels. Lanjutkan membaca “GPU Raspberry Pi”

Membedah e-KTP

Posting ini sekedar membahas tentang kartu tanda penduduk elektronik (e-KTP). Sampai saat ini saya belum pulang ke Indonesia untuk mengurus e-KTP karena KTP lama masih berlaku. Waktu orang tua saya datang ke sini tahun lalu saya sudah sempat ngoprek e-KTP mereka sedikit, dan sekarang selagi mereka berkunjung saya teruskan dan tuliskan hasil eksplorasi saya.

Sebagian isi tulisan ini didapat dari reverse engineering, dan sebagian lagi dari berbagai informasi yang tersebar di Internet. Ada juga bagian yang merupakan spekulasi saya dari informasi yang ada.

Security sebuah smart card

Sebuah smart card adalah sebuah komputer kecil, di dalamnya ada CPU, RAM, dan juga storage. Smart card diakses menggunakan reader, secara umum ada dua jenis: contact (menggunakan konektor fisik seperti SIM card) dan contactless (tanpa konektor fisik seperti kartu e-Money berbagai bank saat ini). Dari sisi programming keduanya sama saja. Kartu smart card yang baru umumnya juga sudah tahan (immune) terhadap side channel attack (DPA/SPA/FI dsb). Lanjutkan membaca “Membedah e-KTP”

AlphaSmart Dana

AlphaSmart Dana adalah device Palm OS lama dengan form factor keyboard yang sudah tidak diproduksi lagi. Device ini dulu cukup populer di banyak sekolah di Amerika, terutama digunakan untuk anak-anak yang kesulitan menulis dengan pulpen/pensil. Device ini saat ini masih populer di kalangan penulis karena beberapa hal: keyboardnya enak dipakai untuk mengetik, minim gangguan (karena tidak bisa mengakses internet), relatif ringan (sekitar 1 kg), memakai 3 Batere AA biasa (atau yang rechargable) dan tahan beberapa puluh jam sebelum perlu mengganti batere lagi. Ada dua versi Dana, Wireless dan non wireless, yang akan dibahas di sini adalah versi wireless yang kami punya.

Stiker biru kecil di tengah Dana itu ditempelkan supaya gampang membedakan dari Dana yang lain.

Untuk mentransfer data ke komputer, ada beberapa opsi. Opsi pertama adalah menggunakan mode keyboard, dengan ini seolah-olah Alphasmart akan “mengetik ulang” isi file ke editor apapun yang terbuka di layar komputer. Dengan cara ini AlphaSmart Dana bisa terkoneksi ke device apa saja yang menerima input dari USB keyboard (termasuk juga tablet atau ponsel, asalkan bisa memberikan cukup daya). Kabel yang digunakan adalah kabel USB printer standar. Opsi kedua adalah dengan menggunakan jaringan WIFI (sayangnya yang disupport hanya WEP). Opsi terakhir adalah dengan menggunakan SD Card Lanjutkan membaca “AlphaSmart Dana”

Bulan Penuh Diskon

Bulan November merupakan bulan penuh diskon, karena ada 11/11 (singles day) dan ada banyak diskon dari berbagai situs di China, lalu diikuti dengan Black Friday dan Cyber Monday yang penuh dengan diskon global.

Dibandingkan tahun lalu, tidak terlalu banyak diskon yang diberikan oleh AliExpress, benda mahal yang saya beli  hanya Proxmark3 versi paling sederhana (tidak memiliki konektor batere) dengan harga 66 USD (termasuk ongkos kirim). Proxmark3 ini adalah tool untuk eksplorasi RFID/NFC.

Sebenarnya dalam banyak kasus berbagai penstest dan hacking NFC bisa dilakukan dengan reader sederhana yang harganya kurang dari 5 USD, tapi proxmark ini diperlukan untuk sniffing dan juga untuk mengakses berbagai kartu yang tidak standar.

Texas Instruments baru saja meluncurkan board MSP43  baru (Launchpad dengan FRAM), dengan harganya 9.9 USD belum termasuk ongkos kirim, tapi saat ini  diskon menjadi 4.30 USD (sudah termasuk ongkos kirim). Diskonnya masih ada sampai Desember 2017. Development board dari TI ini bisa dipakai juga memprogram chip MSP430 lain. Lanjutkan membaca “Bulan Penuh Diskon”

Hacking dan Reverse engineering hardware

Saat ini di jaman IOT, makin banyak orang yang tertarik untuk hacking dan reverse engineering (RE) hardware. Karena sudah cukup banyak orang menanyakan topik ini, maka di artikel ini akan saya bahas dasar-dasarnya, plus tools apa saja yang dibutuhkan jika ingin memulai.

Dalam artikel ini RE hanya bertujuan memahami software dan hardware dalam sebuah sistem. Hacking hardware bermakna lebih luas misalnya menambah atau mengubah sesuatu di hardware, misalnya menjalankan Doom di printer, membuat hardware baru, atau oprekan apapun yang berhubungan dengan hardware.

Supaya bisa mengubah sebuah hardware yang tidak terdokumentasi, kita perlu melakukan dulu reverse engineering untuk memahami cara kerjanya, baru setelah itu kita bisa melakukan perubahan. Untuk hardware open source atau yang dokumentasinya sangat baik, proses RE ini tidak perlu.

Tujuan melakukan Hacking Hardware

Ada banyak tujuan RE dan hacking hardware, misalnya:

  • Mencari key enkripsi untuk mengakses konten gratis atau untuk membuat konten baru (misalnya game homebrew), atau bahkan membajak, contohnya dalam kasus Game Console
  • Memperbaiki, menambah atau menghilangkan fungsionalitas , misalnya menambah SD Card di router
  • Mengekstraksi firmware dengan berbagai tujuan: mencari bug di firmwarenya, mengclone firmwarenya (membuat produk tiruan), mencari key dalam firmwarenya

Perlu dicatat bahwa dalam 99% kasus, ujung dari reversing hardware adalah melakukan reversing software yang berjalan di hardware tersebut. Lanjutkan membaca “Hacking dan Reverse engineering hardware”