Cara Membuat Drone Berbiaya Rendah Menggunakan ESP32
(digikey.com)- Drone DIY berbasis ESP32 ini mewujudkan drone WiFi kecil yang dikendalikan lewat smartphone dengan komponen murah, sehingga Anda bisa mempraktikkan kontrol drone, PCB, dan firmware sekaligus
- Inti desainnya adalah PCB all-in-one yang mengintegrasikan USB Type-C, rangkaian pengisian baterai, ESP32, USB-UART CP2102, MPU6050, dan driver motor SI2302
- Firmware didasarkan pada ESP-drone firmware dari Espressif, dan bisa dibangun langsung dengan ESP-IDF 4.4.5 atau mem-flash
ESPDrone.binyang disediakan - Setelah dinyalakan, sambungkan ke hotspot WiFi yang dibuat drone dengan kata sandi
12345678, lalu kendalikan melalui aplikasi iOS atau Android - Jika performa discharge baterai tidak mencukupi, koneksi aplikasi bisa terputus atau drone bisa reboot saat lepas landas, sehingga dibutuhkan baterai dengan discharge rate tinggi seperti 1300mAh 30C pada contoh
Gambaran Umum Proyek dan Fitur
- Proyek ini adalah cara membuat sendiri drone WiFi yang dikendalikan smartphone menggunakan ESP32 dan komponen pendukung
- Rangka kecil dan ringan menggunakan modul ESP32, IMU MPU6050, motor coreless, dan baling-baling plastik
- Fitur utamanya adalah sebagai berikut
- Kontrol WiFi berbasis smartphone
- IMU MPU6050 untuk kontrol stabilitas
- PCB all-in-one yang dirakit tanpa komponen cetak 3D
- Dapat menambahkan position hold atau height hold melalui modul eksternal
- Pengisi daya baterai bawaan
- Antarmuka USB bawaan untuk pemrograman dan debugging
- Dukungan aplikasi Android dan iOS
- Open source
Konfigurasi Rangkaian
- Port USB Type-C menangani pengisian daya dan pemrograman sekaligus
- Kontrol jalur daya menggunakan P-Channel MOSFET U2 dan dioda D1 untuk beralih antara daya USB dan daya baterai
- Regulasi tegangan ditangani oleh MIC5219 3.3V LDO dari Microchip
- Kontroler pengisian TP4056 mengelola pengisian baterai, dan pendeteksian tegangan ditangani dengan rangkaian pembagi tegangan
- Bagian kontrol utama terdiri dari SoC ESP32, kontroler USB-UART CP2102, dan chip IMU MPU6050
- CP2102 dan dual MOSFET menyederhanakan fungsi reset ESP32
- MPU6050 terhubung ke pin GPIO ESP32 dan digunakan untuk stabilisasi penerbangan serta kontrol gerak
- Rangkaian driver motor mengendalikan motor dengan SI2302 N-Channel MOSFET, bersama dioda pelindung dan resistor
- LED debugging digunakan untuk memeriksa status
- LED biru: kalibrasi
- LED hijau: deteksi koneksi
- LED merah: baterai lemah
- Indikator daya dan pengisian juga disertakan
PCB dan Perakitan
- Untuk membuat produk akhir kecil dan mudah dirakit, digunakan PCB kustom
- Kaki drone juga disertakan pada PCB dan dapat dipisahkan dengan mudah dari PCB utama
- Baling-baling A dan B harus dipasang sesuai arah yang ditentukan
- Selama self-test saat daya dinyalakan, perlu dipastikan baling-baling berputar normal dan ke arah yang benar
Firmware dan Flashing
- Firmware didasarkan pada ESP-drone firmware dari Espressif, dan harus menggunakan source GitHub dari Circuit Digest yang telah dimodifikasi agar sesuai dengan desain PCB
- Kode ditulis dengan ESP-IDF, dan versi yang digunakan untuk kompilasi adalah ESP-IDF 4.4.5
- Ada tiga cara menerapkan firmware
- Membangun source dengan ESP-IDF
- Instal dan konfigurasikan ESP-IDF 4.4.x
- Clone repositori dengan
git clone https://github.com/Circuit-Digest/ESP-Drone.git - Pindah ke folder
ESP-Drone/Firmware/esp-drone - Pengaturan bisa diubah dengan
idf.py menuconfig, tetapi pengaturan default sudah cukup - Jalankan build dan flash dengan perintah
idf.py -p PORT flash
- Menggunakan ESPTOOL
- Setelah menginstal ESP-IDF, jalankan dari folder image firmware
- Flash dengan perintah
esptool.py write_flash --flash_size detect 0x0 ESPDrone.bin
- Menggunakan ESP32 Flash Download Tool
- Unduh dan jalankan tool, lalu pilih ESP32 sebagai tipe chip
- Pilih file
ESPDrone.bindan atur alamat ke0x00 - Pilih port COM yang benar, lalu lakukan erase dan flash dengan START
- Membangun source dengan ESP-IDF
Koneksi Aplikasi dan Kontrol
- Letakkan drone di permukaan datar dan nyalakan; flight controller akan membuat hotspot WiFi
- Di smartphone, sambungkan dengan kata sandi
12345678, lalu buka aplikasi untuk menggunakannya - Aplikasi iOS bisa diperoleh dengan mencari
ESP-Drone APPdi App Store - Aplikasi Android bisa diperoleh dari tautan yang disediakan, dan karena aplikasi dibuat serta di-hosting oleh pihak ketiga, pengguna harus memutuskan sendiri sebelum menginstalnya
- Saat tombol connect ditekan di aplikasi, komunikasi dengan drone akan dimulai
- Jika koneksi berhasil, LED drone akan berkedip hijau
- Tombol turn lock digunakan untuk mengunci controller kiri agar hanya memakai gerakan atas-bawah, atau memakai atas-bawah-putar kiri-putar kanan
- Stick kiri menangani lepas landas dan mendarat, sedangkan stick kanan menangani kontrol gerak
- Jika koneksi aplikasi terputus atau drone reboot saat lepas landas, baterai mungkin tidak mampu memasok daya yang cukup
- Contoh baterai adalah 1300mAh 30C
- Dibutuhkan baterai dengan discharge rate lebih tinggi
Pemeriksaan Sebelum Terbang
- Letakkan drone dengan kepala menghadap ke depan dan bagian ekor, yaitu antena, menghadap ke belakang
- Taruh drone di permukaan horizontal dan nyalakan dalam keadaan tidak bergerak
- Setelah komunikasi tersambung, pastikan LED di ekor drone berkedip hijau dengan cepat
- Jika LED merah berkedip, itu berarti kondisi baterai lemah, sehingga perlu diisi daya
- Dorong sedikit throttle controller ke depan untuk memastikan drone merespons perintah
- Periksa apakah kontrol arah dengan controller kanan bekerja dengan benar
Komponen Utama
- ESP32-WROOM-32E-H4: modul BT/WiFi RF TXRX dari Espressif Systems
- MPU-6050: IMU akselerometer 3 sumbu dan giro dari TDK InvenSense
- CP2102N-A02-GQFN28R: bridge USB-UART dari Silicon Labs
- 2N7002DW-G: dual N-Channel MOSFET dari onsemi
- MIC5219-3.3YM5-TR: regulator linear 3.3V 500mA dari Microchip Technology
- AO3401: P-Channel MOSFET dari Alpha & Omega Semiconductor
- SI2302DDS-T1-BE3: N-Channel MOSFET dari Vishay Siliconix
- JS102011SAQN: switch geser SPDT dari C&K
- 1N4148W: dioda standar dari Diotec Semiconductor
- SS34: dioda Schottky 40V 3A dari MDD
1 komentar
Pendapat di Hacker News
Sebagai tambahan bagi yang belum familiar, ekosistem drone FPV yang bisa dirakit sendiri sudah cukup aktif
Konfigurasi yang umum adalah menggabungkan PCB persegi kecil berisi MCU pengendali penerbangan berbasis STM32 dan sensor, PCB driver motor, rangka serat karbon, PCB modul radio LoRa, kamera dan sistem pemancar video (analog ala kamera keamanan tahun 90-an atau digital), motor DC brushless dan propeler, dan sebagainya
Firmware-nya bisa memakai Betaflight, ArduPilot, iNav, PX4, atau ditulis sendiri. Rangka PCB dalam tulisan itu memang rapi dan jelas praktis, tetapi saya ragu apakah kekakuannya cukup untuk menghasilkan karakteristik kendali yang diinginkan dalam kondisi akselerasi tinggi
Untuk perangkat lunak ESC ada https://github.com/am32-firmware, https://github.com/mathiasvr/bluejay, dan untuk pengendali penerbangan ada https://github.com/betaflight, https://github.com/ArduPilot, https://github.com/iNavFlight
Untuk tautan kendali ada https://github.com/ExpressLRS dan juga menggunakan chip ESP32/ESP82. Untuk pemancar kendali radio ada https://github.com/EdgeTX
Lima tahun lalu sebagian besar masih teknologi proprietari dan biaya masuk ke hobi ini mencapai ribuan dolar, tetapi sekarang bisa mulai dari sekitar 500 dolar. Biaya besar dalam FPV ada pada goggles, tetapi goggles analog murah bisa didapat sekitar 100 dolar
Perangkat lunak pengendali penerbangan memang membaik secara bertahap dan subsistem video juga umumnya berpindah dari analog ke digital 2.4/5.8GHz, tetapi struktur keseluruhannya tidak banyak berbeda dari lima tahun lalu. Pemancar dan penerima R/C hobi melewati pengendali penerbangan (biasanya STM32) lalu menggerakkan ESC hobi lewat keluaran PWM, dan ESC mengendalikan motor. ESC berbasis mikrokontroler sehingga bisa di-flash ulang, tetapi prosesnya merepotkan dan menjengkelkan. Telemetri biasanya terpisah dari kendali, kendali juga terpisah dari video, semuanya berjarak pendek dan bukan berbasis IP
Sebaliknya, quadcopter komersial siap pakai seperti DJI menangani kendali, video, dan telemetri sekaligus lewat satu backhaul antara wahana dan pengendali, dengan latensi video yang juga sangat mengesankan. Mungkin menggunakan chipset sejenis WiFi untuk menyebarkan frame vendor mentah dan penerimanya mengambil sebanyak mungkin dengan cara best-effort. Sepertinya hal serupa juga bisa dilakukan dengan mode ESP-NOW pada ESP32. Saya pernah melihat upaya merekayasa balik protokol DJI, tetapi tidak tahu adanya implementasi yang sepenuhnya kompatibel atau alternatif setara di dunia open source
Di kelas atas wilayah komersial-proprietari, ada yang sudah dilengkapi otonomi siap pakai, multi-backhaul berbasis IP (radio line-of-sight/non-line-of-sight, LTE, komunikasi satelit, dll.), integrasi beacon navigasi untuk mengurangi ketergantungan pada GPS, motor/generator hibrida, hingga sistem daya redundan
Tampaknya kesenjangan seperti ini tidak perlu ada karena alasan selain minat developer. Hampir semua komponennya bisa didapat, dan Raspberry Pi yang menjalankan sistem operasi real-time yang layak punya kemampuan pemrosesan jauh lebih besar daripada STM32, sehingga fusi multi-sensor ala sistem komersial pun bisa dilakukan dengan mudah. Modem LTE juga murah, dan hexacopter atau fixed-wing yang lebih besar bahkan bisa mengangkat piringan Starlink kecil. Hal seperti “perching”, yaitu mendarat di panel surya untuk mengisi daya, juga cukup mungkin
Namun, tampaknya garis terdepan drone open source sedang terjadi di balik pintu tertutup di Ukraina dan Iran. Saya dengan senang hati menerima koreksi jika ada teknologi baru yang terlewat, tetapi jarak antara “apa yang mungkin” dan praktik saat ini terlihat besar. Pada saat yang sama, itu juga berarti ada banyak peluang
Saya selalu kesulitan menemukan informasi tentang drone terbuka yang terbang seperti DJI, dan mungkin saya sendiri tidak tahu harus mencari apa
Hobi “pesawat model/penerbangan kendali jarak jauh” juga sudah berkembang selama puluhan tahun, dan hanya dengan melihat kategorinya saja sudah terlihat sangat kaya: https://www.rcgroups.com/forums/index.php
Jika menelusuri berbagai subforum dengan serius, Anda bisa menemukan desain-desain mengejutkan yang mematahkan “normalitas” tentang seperti apa seharusnya wahana terbang dari sudut pandang biasa. Kata kunci seperti Magnus, aerostat, dan Fettler cukup bagus
Saya curiga ini mungkin seseorang yang mengunggah ulang esp-drone milik Espressif (https://github.com/espressif/esp-drone) lalu mengklaimnya sebagai miliknya sendiri. DigiKey pada dasarnya memasangnya di situs mereka
Mereka bilang membuat PCB kustom, tapi kelihatannya hampir sama persis. Repositori yang ditautkan di artikel (https://github.com/Circuit-Digest/ESP-Drone) juga punya issue yang mengatakan ada malware, dan riwayat commit-nya terlihat agak mencurigakan. Bisa saja saya salah
Sebagian besar repositori berisi file teks biasa, dan zip serta bin tampaknya tidak diperlukan untuk build, jadi kalau merasa tidak nyaman, hapus saja sebelum build
https://www.bitcraze.io/products/old-products/crazyflie-2-0/
https://github.com/Circuit-Digest/ESP-Drone/blob/main/Firmwa...
Menurut saya ini pelanggaran lisensi. Sangat tidak enak dilihat DigiKey mempekerjakan orang-orang seperti ini
Timing artikel ini benar-benar pas. Di AS sedang terjadi semacam histeria massal, dan ternyata drone DIY bisa diproduksi seharga 12–13 dolar per unit—zaman yang luar biasa
Karena belakangan ada orang-orang yang melihatnya sebagai UFO tersendiri, mungkin drone murah pun sebenarnya berlebihan; satu paket 20 lampion terbang buatan China mungkin sudah cukup untuk membuat lingkungan rata-rata di AS terus berada dalam keadaan takut, atau untuk melihat berapa lama sampai masuk halaman depan /r/UFOs
Menarik. Dulu saya pernah membuat Crazyflie[1]; saat itu belum ada ESP32, jadi kami memakai protokol 2,4GHz kustom, dan ini merupakan upgrade yang bagus dari itu
Menggunakan satu MOSFET low-side sebagai pengendali motor juga membuatnya lebih sederhana dan murah, dengan konsekuensi mengorbankan sebagian perilaku yang diberikan motor BLDC. Secara keseluruhan, 10–15 dolar adalah harga yang sangat bagus, dan saya penasaran apakah ini akan masuk ke Hackerbox[2]. Ini persis jenis barang yang mungkin mereka lakukan
Saya dulu banyak bersenang-senang dengan mikrodron CF, dan saya juga pasti akan mencoba membuat yang ini
[1] https://github.com/bitcraze/crazyflie-firmware
[2] https://hackerboxes.com/
Saya sedang mempertimbangkan mengubah iPhone lama menjadi drone. Kita sudah punya hardware yang bagus untuk menangani tugas tingkat tinggi, sementara pekerjaan yang lebih real-time seperti benar-benar menggerakkan motor berdasarkan input sensor bisa diserahkan ke ESP32
Bahkan iPhone 6 lama saja punya GPS, giroskop, akselerometer, beberapa kamera, prosesor yang cukup kuat, Bluetooth/WiFi/LTE, suara dan lampu, serta sensor cahaya sekitar dan proximity. Jika casing-nya dilepas, itu menjadi mini komputer yang sangat bagus yang bisa memahami sekitar dan berkomunikasi
Pada iPhone yang lebih baru, teknologi canggih seperti ARKit juga bisa memberi pemahaman spasial tentang drone dan lingkungannya untuk membuat drone otonom. Dengan iPhone 15, video spasial juga mungkin. Saya membayangkan betapa kerennya itu
Saya berharap Apple menyediakan cara sederhana untuk membuka batasan tingkat sistem operasi agar ponsel lama bisa dipakai untuk proyek DIY
Ponsel lama mungkin lebih baik dipakai sebagai pengendali
Kalau tidak ingin membuatnya dari nol, Anda bisa membayar sedikit lebih mahal dan membeli produk jadi yang bisa diprogram: https://shop.m5stack.com/products/m5stamp-fly-with-m5stamps3...
Stack software yang disertakan sangat mendasar, dan untuk avionik open source, Anda bisa menelusuri Twitter nerd Jepang
Keren. Bahkan perangkat pendaratan (penyangga?) merupakan bagian dari PCB. Saya berharap penulis menjual kit atau mengalihdayakannya ke tempat seperti Seeed Studio. Saya tinggal di negara yang ongkos kirim pesanan DigiKey-nya cukup mahal
Penulis memperkirakan biaya bill of materials sedikit di bawah 13 dolar. Dengan harga segitu, rasanya seru mencoba membuat swarm untuk light show drone DIY
[1] https://circuitdigest.com/microcontroller-projects/DIY-wifi-...
Namun berdasarkan pemasok yang bisa saya pakai, 1 unit tampaknya lebih mendekati 50 dolar, dan 10 unit sekitar 150 dolar
Meski begitu, biaya sepertinya masih bisa sedikit ditekan. Chip USB-serial harganya hampir 6 dolar, tetapi paket lain harganya 4,40 dolar untuk 1 unit atau 3,99 dolar per unit untuk 10 unit, dan chip alternatif yang tampaknya memadai bisa lebih murah. Regulator tegangan yang dipilih harganya 1 dolar per unit untuk 500mA, sementara yang biasanya saya pilih 0,22 dolar per unit untuk 1000mA, dan kalau 10 unit bisa turun sampai 0,13 dolar per unit
Rasanya kurang cocok karena jumlah core yang bisa digunakan terbatas
Akan bagus kalau memakai sesuatu seperti rp2350. Karena ada core I/O berdaya ultra-rendah yang bisa bekerja terlepas dari core utama menyala atau tidak. Embedded adalah salah satu ranah yang paling cocok untuk multicore, tetapi terlalu jarang ada struktur offloading yang bagus dan sistem Programmable IO yang tidak pas-pasan
Produk seperti GreenPAK dari Silego/Dialog/Renesas juga layak disebut. Logika programmable mixed-signal yang sangat kecil tapi menarik, dengan cukup banyak periferal
Justru untuk penggunaan seperti ini, co-processor berdaya ultra-rendah pada ESP32 bisa jadi pas, tetapi secara realistis tidak sepadan dengan upayanya. Daya komputasi nyaris tak berarti dibanding daya yang dibutuhkan WiFi dan rotor, dan menjalankan beberapa tugas real-time pada satu core juga bukan rocket science
Kita pernah mengirim manusia ke bulan dengan hardware yang lebih lemah dari itu. Lebih banyak core hanya menambah kompleksitas
Saya sempat bermain-main dengan drone WiFi lipat seharga 25 euro dari Lidl sampai EU mewajibkan biaya tahunan 30 euro untuk drone berkamera
Saya tidak terlalu terpikir penggunaan praktis untuk drone tanpa kamera. Fly fishing mungkin salah satunya, tetapi harus diprogram agar menjatuhkan tali pancing dan pulang begitu terasa ikan menarik
https://www.iaa.ie/general-aviation/drones/drone-register
Jika diterbangkan cukup cepat, begitu tali menegang, tali itu terlepas dari klip dan jatuh
Aneh juga ini tulisan DigiKey tapi tidak ada tombol Buy now
Kalau saya yakin semua komponennya bisa dikirim dan tidak ada yang terlewat, saya mungkin langsung mencobanya
Namun satu komponennya sudah discontinued dan tidak bisa didapat, sementara dua lainnya punya minimum order quantity lebih besar daripada jumlah yang dibutuhkan di sini, jadi kurang bagus