Ada 10 Alasan Saya Menyukai CHIP dan 1 Alasan Untuk Membencinya

Ketika C.H.I.P kampanye di Kicstarter pada Mei 2015, menurut saya itu sebuah SBC yang sangat keren. Walau pun tidak lebih hebat dari Raspberry Pi, tapi dia lebih kecil dan siap dioprek. Jadi saya pun memantau perkembangan kampanyenya di Kickstarter. Barulah pada bulan Februari 2016 saya memesannya. Walau pun kemudian baru menerimanya November 2016. Lama banget ya?

Namun begitu, bagi saya CHIP ini sangat menyenangkan. Saya punya 10 alasan untuk menyukai CHIP ini, yaitu:

  1. Kecil. Pada tahun 2015 belum banyak SBC yang punya form factor sekecil ini. Bahkan saat itu Rasberry Pi Zero belum lahir (Raspi Zero baru launching bulan Nov 2015).
  2. Header Female. Tidak seperti keluarga Raspberry Pi dan para penirunya, CHIP datang dengan header female. Bagi pengoprek Arduino tentu sangat senang mendapati header seperti ini, karena tinggal colok kabel jumper. Shield untuk CHIP akan menancap sangat kokoh, berbeda dengan HAT/pHAT di Raspi yang harus dibaut.
  3. Tulisan di header. Di header CHIP ada label nama pin. Kalau Arduino label tertulis di board, kalau CHIP tertulis di header-nya langsung. Sedangkan keluarga Raspberry Pi tidak ada tulisannya sama sekali.
  4. Punya pin lengkap. Lihat saja header-nya yang sampai 2 deret. Sebagian bahkan didedikasikan untuk koneksi ke LCD. Pin i2c bahkan punya 2 set. Tidak ketinggalan 1 buah pin analog. Masih kurang? CHIP memiliki IO expander yang menambahkan 8 pin digital tambahan yang bahkan punya fitur interrupt/edge. Oh iya, speaker juga disediakan pin-nya. Lengkap ya?
  5. Punya controller battery. Menurut saya ini keren banget. Artinya CHIP siap ditenagai baterai. Kontroler ini cukup lengkap fiturnya, dari deteksi keberadaan baterai, tegangan baterai, pemakaian arus, arus pengisian dan suhu sistem. Walau pun sudah ada proteksi pengisian, kita bisa membuat program untuk proteksi sendiri. Pengisian baterai bisa dilakukan dengan menyambungkan CHIP ke charger via port Micro USB.
  6. Sudah ada Wifi + Bluetooth. Dengan bentuknya yang kecil, CHIP sudah dibekali Wifi versi b/g/n & Bluetooth 4.0. Bahkan Raspberry Pi Zero versi awal yang datang belakangan tidak memiliki Wifi & Bluetooth build-in. Barulah kemudian versi revisinya Raspi Zero sudah menambahkan Wifi & Bluetooth.
  7. Sudah punya storage build-in dan OS. Pada versi awal besarnya storage 4 GB. Sedangkan produksi berikutnya menggunakan NAND Flash Toshiba sebesar 8 GB. Hiks… saya dapat yang 4 GB.
  8. Flasher berbasis web. Kalau OS di CHIP rusak, atau jika Anda ingin mengganti OS-nya, maka CHIP menyediakan flasher OS berbasis web. Cara nge-flash-nya juga gampang, sudah ada petunjuk yang jelas. (CHIP Flasher).
  9. Murah $9. Untuk mendapatkannya, Anda cukup merogoh kocek $9. Jika dibandingkan Arduino, tentu jadinya sangat murah kalau dilihat dari price to performace ratio.
  10. Tersedia aksesoris resmi. Sebut saja adapter VGA, adapter HDMI, Pico-8, dll. Kalau mau, Anda bisa membeli board & display untuk membuat PocketCHIP sendiri.

Read More »

Iklan

Merakit Game Console 8-bit Ardubuino | Vlog

Masih ingat cerita tentang Arduino Day tempo hari kan? Di acara itu saya bertemu dengan Mas Hendra Kusumah dan saya diberi PCB Ardubuino. Sayangnya ada beberapa komponen yang saya tidak punya stok. Kalau pun punya, tipe-nya berbeda. Seperti misalnya Arduino Pro Micro sebagai otaknya. Saya punyanya Arduino Pro Mini. Kata Mas Hendra sih harus pakai Arduino Pro Micro.

OLED Display juga berbeda. Saya punyanya yang menggunakan protocol I2C. Sedangkan Ardubuino menggunakan protocol SPI. Dan ternyata modul charger tidak sesuai. Modul TP4056 punya saya ternyata kependekan. Sepertinya di PCB Ardubuino versi 3 sudah diubah oleh Mas Hendra supaya bisa menggunakan TP4056 yang lebih umum.

Setelah komponen datang, maka saya pun segera merakitnya. Berikut adalah video-nya:

 

Asyik juga sih main console game 8-bit. Jadi ingat saat masih kecil. Saat ini saya meng-upload game Juno First. Opsi game lain bisa dilihat di website Arduboy.

Terima kasih mas Hendra Kusumah atas PCB-nya.

 

Mini 360 DC-DC Adjustable Step Down

Selama ini saya selalu mengandalkan LM7805 sebagai regulator tegangan untuk proyek elektronika saya (Arduino, Wemos, Raspberry, CHIP, dll). Rupanya saya memang orang old fashion, ketinggalan jaman. Hari gini masih pakai regulator linear. Sebenarnya saya sudah lama tau kalau ada teknologi lain dalam hal pengaturan tegangan ini, tapi saya masih mengandalkan teknologi linear ini sampai sekarang (Referensi: datasheet LM7800). Ya dulu memang harganya lebih terjangkau. Tapi sekarang malah terbalik, hahaha…

Jadi kali ini saya ingin mencoba menggunakan teknologi pengaturan yang berbeda, yaitu pengatur tegangan dengan mekanisme switching yang di jaman sekarang malah lebih terjangkau tapi lebih efisien dalam hal efisiensi regulasi tegangannya. Saya pun membeli 2 model pengatur tegangan switching. Kalau mau baca bedanya antara regulator linear dengan switching bisa baca di: What is the Difference Between Linear and Switching Regulators?

Model pertama adalah LM2596 (Referensi: datasheet LM2596) yang di tokonya diberi judul: “LM2596 DC-DC Adjustable Step Down Power Supply 4.5-35V to 1.25-30.” Modul ini menggunakan IC LM2596. Jika dibandingkan dengan modul LM7805 akan terlihat lebih kecil sedikit. Itu karena LM7805 perlu heatsink, sedangkan LM2596 tidak perlu.

Sedangkan model kedua diberi judul oleh tokonya sebagai: “Mini 360 Small Adjustable DC Step Down 2A 5V-23V TO 1V-17V” yang menggunakan IC regulator MPS MP2307DN. Hanya saja, bentuk Mini 360 ini bener-bener mungil. Tadi waktu unboxing saya sempat terkesima. Rupanya lebih kecil dari yang saya bayangkan. Apalagi di tokonya dituliskan kalau modul ini mampu memberikan output 1.8A. Itu angka yang cukup besar loh! Bandingkan saja dengan LM7805 yang outputnya antara 1-1.2A saja (di datasheet tertulis bisa mengeluarkan arus maksimal 1.5A). Itu pun bakal panas banget.

Sebenarnya saya juga pengen beli Regulator DC-DC Step Up atau dikenal juga sebagai booster. Bisa digunakan ketika proyek elektronika menggunakan daya dari baterai. Ada juga modul yang menggabungkan booster dengan charger baterai juga. Tentu tambah menarik dan praktis. Tapi dalam waktu dekat ini sepertinya saya tidak membuat proyek elektronika yang ditenagai baterai. Jadi teringat wemos dan CHIP yang sudah punya sirkuit booster dan charger secara build-in. Praktis banget ya kalau ngoprek pakai Wemos dan CHIP?

Kehabisan Memori Arduino Uno

Jadi ceritanya saya mau meneruskan ngoprek TouchRadio seperti yang sudah saya tuliskan sebelumnya di “Mendesain User Interface Radio FM Touchscreen.” Dan ternyata saya kehabisan memory utk program. Saya baru sadar kalau Arduino Uno memiliki memory untuk kode yang sangat kecil, cuma 32 Kb. Ups… saya jadi teringat pernah mengalami coding untuk ATMega8 dan ATTiny85/84 yang juga punya memory sangat kecil. Dan berakhir mentok juga. Memory yang kecil memang sangat membatasi kreativitas, hehehe…

Solusi paling keren ya pakai Arduino Mega yang punya memory 256 Kb. Tapi konsekuensinya ya jadi membesar board-nya. Atau menggunakan Wemos D1 Mini yang punya 4 Mb dan punya clock jauh lebih cepat. Tapi Wemos D1 Mini kekurangan pin untuk display TFT 2.8″ Touchscreen. Kecuali jika menggunakan OLED I2C yang hemat pin. Dan sebenarnya saya punya stock-nya. Tapi berarti tidak touchscreen, hiks…

Sejatinya saya memang suka pakai Wemos D1 Mini yang lebih banyak memory, lebih cepat, dan sudah punya modul WiFi. Lebih bisa dikembangkan lebih jauh, seperti pengendalian dari network, dll. Dan tentu saja karena ukurannya sangat kecil dan lebih hemat energi. Tapi ya itu tadi, kekurangan pin untuk menggunakan display TFT Touchscreen.

Di lain pihak, saya memang mengakui kalau saya tidak menyadari sejak awal coding kalau Uno ini terbatas memory-nya. Jadi saya codingnya ngasal. Maksudnya ngasal ini adalah karena saya menggunakan banyak variabel dan konstanta. Dan saya banyak menggunakan perhitungan saat menggambar sesuatu. Ambil contoh:

#define MAX_HEIGHT 240
#define MAX_WIDTH 320
#define RADIUS 20

void tombol_on(boolean pressed) {
  tft.drawCircle(MAX_WIDTH/2, MAX_HEIGHT/2, RADIUS, BLACK);
}

Mestinya kan tidak perlu dijadikan konstanta max_height, max_width, radius, offset, dan lain-lain. Dan saat menggambarkan tidak perlu melakukan operasi matematis seperti max_width/2, dll. Karena angka-angka ini sudah diketahui, absolute, atau tidak relatif. Mungkin relatif itu diperlukan jika ada animasi atau pergerakan. Tapi ini kan tidak. Jadi saya rada boros dalam coding. Gubrak…

Seharusnya bisa lebih praktis lagi. Harus dioptimasi code-nya. Tapi saya sudah terlanjur menulis panjang lebar dan malas meng-optimasinya. Hahaha…

Ah besok lagi saja optimasinya. Toh versi minimalnya sudah berhasil jalan dengan baik, hehehe…

Mendesain User Interface Radio FM Touchscreen

{Posting ini adalah lanjutan dari “TouchRadio Berhasil!”, “TouchRadio Gagal?”, “Ngoprek TouchRadio Yuk?”}

Masih ingat proyek TouchRadio tempo hari kan? Tulisan ini adalah lanjutan dari tulisan-tulisan tersebut. Kali ini fokusnya adalah di user interface. Karena saya menggunakan LCD TFT 2.8″ Touchscreen, maka saya bisa mendesain tampilan (user interface) yang lebih atraktif. Dan lagi tidak perlu menambahkan tombol-tombol fisik karena kita bisa menggunakan fitur touchscreen-nya.

Saya pun dengan leluasa bisa merombak tampilannya. Kalau tadinya sederhana saja, serba kotak, maka kali ini saya buat lebih menarik dan sebebas-bebasnya. Namun menjadi sedikit kepenuhan karena kemudian saya menambahkan modul RTC DS3231 sehingga saya bisa menampilkan tanggal dan jam. Dan tentu saja harus ada fitur untuk mencocokkan tanggal dan jam.

Namun saat ini saya sudah merasa cukup puas dengan desain user interface-nya.

Selanjutnya yang bisa dikerjakan adalah:

  1. Memindahkan semua komponen ke PCB. Sepertinya cukup pakai perfboard saja. Rasanya males bikin PCB custom, kan cuma dibikin 1 unit saja, kecuali kalau mau diproduksi masal, hehehe… Sedangkan kalau pakai breadboard tidak handal, rawan terganggu koneksinya kalau dipindah-pindah.
  2. Menambahkan fitur alarm. Saat ini sedang googling bagaimana memanfaatkan fitur Alarm1 dan Alarm2 di DS3231. Bakal seru kalau pagi-pagi dibangunin lagu-lagu dari radio.
  3. Mengubah tampilan Off menjadi lebih elegan. Rencananya sih semua tampilan radio dan jam hilang. Cuma tersisa tampilan Tanggal dan Jam yang besar memenuhi layar, tentu saja plus tombol besar untuk On.
  4. Pengen bisa menambahkan relay untuk mematikan modul PAM8403 dan Si4703 saat Off. Jadi lebih hemat daya sekaligus bisa lebih hening. Mungkin ini jadi sedikit lebih ribet secara pin Arduino Uno sudah terpakai semua. Oh iya, masih tersisa D1. Sedangkan D0 sudah terpakai untuk reset-nya Si4703. Sepertinya masih bisa menambahkan relay. Cuma mungkin relay-nya yang elektronik saja ya? Kalau yang mekanik mungkin jadi boros tempat.
  5. Mendesain box radio. Ini yang rada sulit secara keterbatasan peralatan dan material untuk membuat box/case yang keren. Tempo hari sempat membuat box dengan kotak generik tapi hasilnya kurang rapi. Mungkin untuk demo bisa menggunakan kardus ya? (Baca: Simple CardBoard Radio). Idealnya sih bikin box pakai printer 3D ya? Ahhh indahnya kalau punya printer 3D.

Ah pengen segera weekend untuk bisa ngoprek lagi. Tunggu update selanjutnya yaaa… Sampai jumpa.

NB: Kalau ada pertanyaan atau masukan silakan dituliskan di bagian komentar di bawah. Saya akan jawab jika sempat (dan niat).