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

Merapikan Penyimpanan Source Code

Rupanya saya sudah mulai harus merapikan penyimpanan source code dari proyek-proyek elektronika saya. Kenapa? Karena saat ini saya coding di beberapa device, yaitu:

  1. MacBook Air. Ada beberapa proyek yang saya program dari MBA ini. Sayangnya MBA pernah bermasalah dengan Wemos D1 Mini yang menggunakan driver CH340. Ini adalah chip yang bertanggung jawab menghubungkan komputer dengan Wemos D1 Mini sehingga kita bisa meng-upload program ke Wemos. Kalau Wemos D1 mini dicolokkan ke MBA, maka laptop langsung crash. Jadi saya tidak menggunakan MBA lagi untuk coding proyek elektronika, karena ternyata Arduino Uno versi cloning juga menggunakan CH340. Baru kemudian saya nemu solusi ketidakcocokan MacOS dengan CH340. Dan ironisnya solusi ini baru ada setelah beberapa tahun. Namun terlambat, saya sudah banyak coding di device lain.
  2. Laptop Acer kuno. Ini adalah laptop kuno saya. Sudah pensiun. Source code sudah saya backup ke harddisk external.
  3. Raspberry Pi. Ya… saya memang menggunakan Raspi untuk coding beberapa proyek, termasuk salah satunya adalah Radio Touchscreen. Masalahnya saya aktif coding di 2 Raspberry Pi. Satu Raspi dengan casing hitam dimana saya banyak coding untuk Arduino, Wemos, Nano, Micro, dll. Sedangkan satu Raspi yang telanjang dimana saya gunakan untuk coding beberapa proyek yang membutuhkan modul external seperti display TFT Touchscreen, dll. Untungnya saya tidak menggunakan 2 Raspi lain sebagai basis development. Saya masih punya Raspi Zero W dan Raspi model B versi pertama. Keduanya belum sempat saya oprek, hehehe…
  4. CHIP. Belakangan saya sering ngoprek CHIP. Sejatinya saya senang ngoprek CHIP ini. Sayangnya ngoprek CHIP ini seperti tidak punya masa depan, karena CHIP versi original sudah tidak dijual oleh NextThingCo. Sekarang NTC jualan PocketCHIP dan CHIP Pro saja. Di websitenya cuma ditulis kalau CHIP akan hadir kembali dengan CPU GR8. Tapi sudah lama berselang tidak keluar juga. Kemarin dapat info kalau ada startup baru yang membuat cloning CHIP, yaitu: Popcorn Computer. Konon pinout-nya sama dengan CHIP. Namun sayangnya Popcorn Computer ini terlalu mahal. Di situ tertulis $99 untuk 2 buah. Beda banget dengan CHIP yang cuma $9.
  5. Notebook Asus. Saya juga coding di laptop ini. Tidak banyak sih. Secara ini laptop milik kantor. Seingat saya, saya coding  Radio Mini dengan Wemos D1 Mini di laptop ini. Oh iya, hampir lupa, antrian wemos dan IoT dengan wemos ada di sini juga. Ini gara-gara MBA saya tidak bisa berkomunikasi dengan Wemos.

Nah, banyak kan? Belakangan saya sering bingung, code proyek ini dimana ya? Saya harus mengingat alasan-alasan mengapa saya harus coding di salah satu perangkat saya di atas, baru kemudian saya teringat. Hahaha…

Read More »

CHIP OLED Radio Internet (versi 3) | Vlog

Ini masih membahas CHIP OLED Shield untuk C.H.I.P. Kali ini adalah contoh aplikasinya. Dan lagi-lagi saya membuat Radio. Bahkan ini berarti versi ke-3 untuk radio internet CHIP (baca: C.H.I.P Radio Internet versi 2). Ini karena saya menggunakan CHIP yang sama saat saya ngoprek radio internet sebelumnya.

Hanya saja, kali ini saya melakukan beberapa perbaikan, yaitu:

  1. Yang pertama sangat jelas, saya menggunakan CHIPOLED Shield. Yang berarti saya menggunakan display OLED mungil namun sangat jelas tampilannya dan hemat dayanya.
  2. Karena menggunakan CHIPOLED Shield, maka saya leluasa membuat kontrol untuk radio karena shield ini sudah dibekali dengan 5 buah tombol.
  3. Berbeda dengan sebelumnya yang menggunakan library vlc, untuk engine streaming kali ini saya menggunakan mpd/mpc. Terus terang saya mencontek cara yang digunakan oleh piradio.

Berikut adalah video-nya:

Read More »

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).

Yang Tertunda: Eldario Mini Berbasis Web

Sebenarnya saat membuat Eldario Mini, saya merencanakan kalau Eldario Mini ini bisa dikendalikan secara nirkabel (wireless). Jadi kita bisa mengubah volume dan frekuensi dari browser, baik dari PC mau pun smartphone yang 1 jaringan dengannya. Cocok bagi programmer kayak saya yang lebih banyak menatap layar laptop tapi kadang perlu mengubah frekuensi radio.

Itulah mengapa saya menggunakan Wemos D1 Mini yang sudah memiliki modul WiFi build in. Karena jika alasannya cuma membuat radio berukuran mini, sebenarnya saya bisa menggunakan Arduino Mini Pro (versi 5 Volt) yang kebetulan ada beberapa stok.

Namun ternyata saya belum punya waktu untuk mengerjakannya. Padahal ini cuma semacam upgrade firmware di Eldario Mini. Tapi ya menuangkannya ke dalam kode membutuhkan sejumlah waktu, hiks…

Belakangan waktu, tenaga dan pikiran banyak dialokasikan untuk mengerjakan hal lain. Rupanya saya perlu manajemen waktu yang lebih baik. Dan tulisan ini untuk mengingatkan saya juga agar kelak jika ada waktu, saya harus meneruskan Eldario Mini versi Web. Atau harus segera mengalokasikan waktu supaya bisa segera terealisasi.

Membuat Jam Digital Sendiri

Dulu saat kelas 2 SMP saya pernah membuat jam digital dengan display seven segment besar. Jaman tahun segitu betapa bangganya saya bisa membuatnya sendiri. Memang sih dulu membeli PCB yang sudah jadi, jadi tinggal beli komponen dan solder-solder komponen saja. Sayangnya dulu kristal yang dibutuhkan tidak ada yang nilainya pas sehingga jam menjadi terlambat beberapa menit setelah beberapa hari. (*wah jam kok tidak akurat?*)

Kini setelah puluhan tahun kemudian saya diminta untuk membuat jam lagi. Kali ini saya mendesainnya dengan microcontroller Atmega328. Jam ini didesain memiliki alarm yang bisa menyalakan suara biasa atau bisa diset untuk menyalakan radio. Selain itu jam ini didesain memiliki sensor suhu. Saya mendesainnya menggunakan LM35, kebetulan ada stoknya. Tadinya mau pakai DHT11 tapi saya pikir tidak perlu sensor kelembaban. Selain menghemat biaya, pemakaian LM35 juga menghemat memori karena tidak perlu library khusus untuk pemrogramannya.

Masih 1/2 selesai
Masih 1/2 selesai

Untuk display saya menggunakan LCD 16×2. Terus terang ini solusi yang paling praktis bagi saya, karena saya sudah beberapa kali menggunakan display ini dan berjalan dengan baik. Lagi pula dengan LCD 16×2 lebih fleksibel tampilannya karena bisa menampilkan banyak karakter/angka.

Mungkin proyek selanjutnya saya akan coba pakai 7-Segment. Kebetulan harga 7-segment kecil tidak terlalu mahal.

Selain sulitnya mendesain rangkaian, tantangan terbesar adalah mendesain tampilan akhir produk. Ini yang paling sulit, bagaimana membuat produk yang enak dipandang dan dipakai. Banyak produk bagus (apa pun produknya) yang gagal di pasaran hanya karena tampilannya tidak menarik dan/atau tidak enak dipakai, padahal fiturnya canggih.

Untuk sementara ini saya memilih untuk memprioritaskan fungsionalitas. Untuk tampilan nanti sajalah saat membuat versi selanjutnya. Hehehe…

Oh iya, dalam desain jam ini masih tersisa beberapa pin, yaitu 2 pin analog dan 4 pin digital (2 di antaranya PWM). Jadi ke depannya jam ini masih bisa dioprek untuk menambahkan fitur, misalnya menambahkan sensor gas/LPG, cahaya, soil moisture (oh bisa jadi ngepot), atau bisa juga ditambahkan relay untuk lampu/AC atau motor untuk membuka/menutup tirai jendela.

Kebetulan saya pakai ATmega328 yang punya memori 32KB, yang berarti 4x lebih besar dari pada ATmega8.

Foto di atas adalah tampilan jam-nya. Masih setengah jadi. Baru bisa menampilkan tanggal dan jam saja. RTC dengan DS1307 didesain embedded. Nanti malam akan dilanjutkan untuk memasang tombol-tombol dan sensor suhu LM35. Sebenarnya saya sangat penasaran untuk segera bisa memasang modul radio (dengan breakout Si4703 dari Sparkfun). Sayangnya pesanan saya belum tiba. Hiks…

nge-Pot 84 with LCD (Pot Elektronik)

Ini adalah salah satu jawaban dari tantangan terhadap produksi alternatif Garduino yang lebih murah dan terjangkau. Jika sebelumnya saya telah berhasil membuat versi sederhana dengan nge-Pot 85 yang menggunakan Atmel Attiny85, maka sekarang saya menggunakan Atmel seri Attiny 84 yang lebih kaya I/O. Dengan Attiny84 ini saya bisa menambahkan LCD sebagai display bagi nilai penginderaan kelembaban tanah dan suhu sekitar.

Tampilan Ngepot 84
Tampilan Ngepot 84

Sayangnya jumlah pin I/O Attiny84 banyak terpakai untuk mengendalikan LCD yang butuh 6 pin. Jadi hanya tersisa 5 dari pin yang bisa dipakai. Sisa 5 ini terpakai untuk 1 sensor Soil Moisture, 1 relay, dan 3 tombol (tombol ini digunakan untuk membuat referensi digital). Kurang 1 I/O untuk termometer. Pikir punya pikir, akhirnya saya mengakalinya dengan berbagi pakai 1 pin untuk tombol plus dan sensor temperatur LM35 DZ. Saat beroperasi normal, pin ini akan dipakai untuk membaca suhu sekitar yang diindera oleh LM35 DZ. Sedangkan pada mode edit, maka pin ini digunakan untuk tombol plus.

Tombol pengatur ambang dan sensor suhu udara sekitar
Tombol pengatur ambang dan sensor suhu udara sekitar

Tampak pada gambar di sebelah kanan LCD ada sebuah sensor suhu udara LM35 DZ dan di bawahnya berjejer 3 tombol untuk mengganti mode edit, tombol plus dan tombol minus.

Bagian sebelah kiri
Bagian sebelah kiri

Di sebelah kiri LCD tampak banyak komponen berjejal. Hehehe, berat sebelah ya? Di sebelah kiri ini ada port untuk menancapkan sensor Soil Moisture, jack power supply 6-12V, LED indikator nyala (warna hijau), LED indikator relay aktif (warna merah), dan relay untuk pompa air. Sedangkan tepat di sebelah kiri LCD ada 2 potensiometer yang bisa digunakan untuk mengatur kecerahan lampu latar belakang LCD dan pengatur kejelasan karakter LCD.

Ngepot 84 in action
Ngepot 84 in action

Tampak pada foto di atas saat relay pompa aktif. Selain ditunjukkan di LCD berupa tulisan “Pump: ON”, juga direpresentasikan oleh penyalaan LED merah. Nampaknya saya salah menggunakan resistor sebagai penurun arus sehingga LED merah nampak terlalu cerah.

Pump On dan LED merah menyala
Pump On dan LED merah menyala

Sebenarnya desain awal Ngepot 84 ini menempatkan relay di sebelah kanan board, tapi saya pikir kalau diletakkan di sebelah kanan akan membahayakan pengguna terutama saat melakukan edit nilai ambang yang ke-3 tombolnya ada di sebelah kanan. Takutnya relay yang terhubung dengan tegangan tinggi AC akan tersentuh secara tidak sengaja.

Tampilan keseluruhan Ngepot 84
Tampilan keseluruhan Ngepot 84

Foto di bawah ini menampilkan bentuk Ngepot 85 yang sederhana dengan Ngepot 84 yang lebih informatif dengan LCD. Kedua rangkaian prototype ini jatuhnya lebih murah dari pada Garduino (gardening Arduino ala Dewo).

Ngepot 85 dan Ngepot 84+LCD
Ngepot 85 dan Ngepot 84+LCD

Memang sih akan lebih mudah menggunakan Arduino. Tapi rasanya terlalu mahal jika untuk merawat tanaman saja harus menggunakan Arduino yang mahal harganya. Toh dengan Attiny 85 atau 84 yang jauh lebih murah bisa dilakukan hal yang sama. Walau memang ada beberapa batasan, misalnya kecepatan prosesor yang lebih rendah, kapasitas memori program yang lebih kecil sehingga tidak bisa diprogram untuk hal yang kompleks, dan jumlah pin yang lebih sedikit dari pada Arduino. Tapi ternyata saya bisa membuat Ngepot (Pot elektronik) versi murah yang bisa digunakan untuk merawat tanaman.

Bagi saya, mendesain dan membuat Ngepot 85 dan 84 memiliki kepuasan tersendiri. Di samping tujuan untuk membuat alternatif Garduino yang lebih murah dan praktis, juga karena hobi saya tersalurkan. Ini merupakan bentuk ekspresi diri bahwa saya mampu membuat versi saya sendiri dan dapat bekerja dengan baik. Walau pun sangat sederhana, saya cukup bahagia lohhh…

Saya akan mencoba mendokumentasikan desain proyek saya ini di blog. Hanya saja harus saya akui, saya malas merapikan skema rangkaian, hehehe. Jadi seperti yang sudah-sudah, cukup tampilan layout PCB yaaa… Cara membuatnya akan saya susulkan. Semoga proyek-proyek ini dapat berguna bagi orang banyak.

PERINGATAN:

  • Rangkaian Garduino, Ngepot 85 dan Ngepot 84+LCD dipublikasikan dengan lisensi Open Source Hardware. Semua pihak bisa mempelajarinya dan memproduksi/mengembangkan sendiri.
  • Rangkaian Garduino, Ngepot 85 dan Ngepot 84+LCD menggunakan relay yang bisa digunakan untuk mengontrol piranti lain dengan tegangan tinggi (s/d 240 Volt), misalnya pompa air, solenoid valve/kran, lampu, dll. Harap berhati-hati dalam menggunakan tegangan tinggi karena dapat mencelakakan diri sendiri atau orang lain. Selain berhati-hati, harap perhatikan potensi kecelakaan kerja dan operasional. Karena tegangan tinggi dapat mengakibatkan kecelakaan yang mematikan.