Flea-Scope: osiloskop USB dan penganalisis logika open-source seharga $18 [PDF]
(rtestardi.github.io)- Dengan harga $18 menurut Elecrow, perangkat ini menggabungkan osiloskop 18 Msps, penganalisis logika mixed-signal, dan generator gelombang bawaan dalam satu papan sehingga bisa dipakai sebagai alat ukur murah untuk eksperimen dan pendidikan
- Dikendalikan lewat WebUSB/Web Serial di browser berbasis Chromium tanpa aplikasi terpisah, dan telah diuji di Windows, macOS, Linux, ChromeOS, serta Android
- Input analog memakai ADC 12-bit dengan hingga 18 Msps dan bandwidth yang dapat digunakan sekitar 4 MHz, sementara 9 input digital disampling secara simultan bersama input analog
- UI web menangani trigger, delayed capture, pengukuran, dan kalibrasi, sementara gelombang berbasis DAC dapat keluar hingga 40 kHz dan square wave hingga 4 MHz
- Demi harga murah, perangkat ini bergantung pada komponen non-presisi dan kalibrasi, sehingga akurasi tegangan, noise, AC coupling, grounding USB, dan kompatibilitas sebagian browser mobile memiliki keterbatasan
Konfigurasi dasar papan instrumen USB seharga $18
- Flea-Scope adalah papan murah yang menggabungkan osiloskop USB, penganalisis logika mixed-signal, dan generator gelombang bawaan
- Harganya disebut $18 menurut Elecrow
- Pengendalian dilakukan dari halaman web, bukan dengan memasang aplikasi terpisah
- Menggunakan WebUSB API atau Web Serial API di browser berbasis Chromium
- Mendukung koneksi dari komputer, tablet, dan ponsel
- Pengguna menghubungkan perangkat dengan kabel data micro-USB, lalu membuka
flea-scope.htmldan memilih perangkat USB atau port serial diStart Connect - Di Ubuntu Linux, perlu menjalankan
sudo adduser user dialout,sudo adduser root dialout, lalu logout
Spesifikasi perangkat keras instrumen
- Input analog berjumlah 1 kanal dan mendukung sampling hingga 18 Msps dengan ADC 12-bit
- Bandwidth analog yang dapat digunakan sekitar 4 MHz
- Menyediakan konektor BNC ukuran penuh
- Impedansi input adalah 1 Mohm, 14 pF
- Dengan probe x1: -6V~+6V, resolusi 10 mV
- Dengan probe x10: -60V~+60V, resolusi 100 mV
- Mendukung DC coupling atau digital AC coupling
- Input penganalisis logika digital berjumlah 9 dan disampling secara simultan bersama input analog
- Kompatibel dengan level logika 3.3V atau 5V
- Mode trigger mendukung auto, level, rise, fall
- Rentang delayed trigger/capture adalah 0us~1s
- Dengan pin
trigger out, beberapa Flea-Scope dapat dijalankan bersama untuk menangani lebih banyak kanal
- Akurasi target untuk tegangan dan timing sama-sama sekitar 2%
- Ukuran papan adalah 1" x 3" atau 2.54cm x 7.62cm
Pembangkitan gelombang dan pengukuran di UI web
- Keluaran gelombang uji bekerja dengan dua cara
- Arbitrary waveform berbasis DAC menghasilkan gelombang sine, triangle, dan ekg hingga 40 kHz
- Square wave dapat dihasilkan hingga 4 MHz
- Gelombang berbasis DAC mengulang 100 titik per periode
- Pada arbitrary waveform 40 kHz, DAC menghasilkan titik pada 4 Msps
- Secara default, pin
wave outmengeluarkan gelombang sine 1 kHz - UI web menyediakan area tampilan analog dan area tampilan digital
- Menampilkan tegangan average, peak-to-peak, dan RMS
- Fitur
measuredapat mengukur waktu dan tegangan satu titik, atau selisih waktu, selisih tegangan, dan frekuensi antara dua titik
- Tombol
pause,resume,singledapat menghentikan capture berulang atau menjalankan capture trigger tunggal
Trigger dan skala waktu/tegangan
- Skala horizontal dapat diatur dalam rentang 0.5us/div~100ms/div
- Seluruh area tampilan terdiri dari 10 division
- Dari kiri ke kanan layar, sekitar 1000 sampel ditangkap, dan sekitar 1000 sampel tambahan di luar sisi kanan juga ditangkap untuk dilihat lewat scroll
- Pada rentang skala horizontal tercepat, yaitu 2.5us/div atau kurang, sampel hasil capture ditampilkan dengan pembesaran horizontal
- Pada kondisi ini, jumlah sampel yang terlihat per division bisa sekitar 50, 20, atau 10, bukan sekitar 100
- Trigger analog bekerja dengan kombinasi garis tegangan yang ditentukan dan mode
auto,level,rise,fallautoakan memicu otomatis bila tidak ada trigger dalam 100ms agar layar tidak kosongrisedanfallbekerja berdasarkan transisi tegangan setelah digital filtering 3 sampel
- Trigger digital digunakan dengan mengatur bit
b0~b8ke0,1, atau don't care- Tombol
clearmengembalikan semua bit trigger digital ke don't care dan kembali ke trigger analog
- Tombol
- Delayed capture menangkap sampel setelah menunggu waktu yang ditentukan usai trigger
- Waktu ditentukan dengan sufiks
muntuk milidetik danuuntuk mikrodetik - Delay maksimum adalah 1 detik
- Waktu ditentukan dengan sufiks
Kalibrasi dan rentang input
- Sebelum digunakan, Flea-Scope dan probe harus dikalibrasi
- Mode probe x1 dan x10 memiliki nilai kalibrasi terpisah
- Nilai kalibrasi disimpan permanen di flash MCU
- Jika memakai perintah
newatauclear flash, nilai kalibrasi akan terhapus
- Kalibrasi dilakukan dengan menghubungkan 0V dan 3.3V secara terpisah lalu menekan
cal_zerodancal_3v3- Ini harus diulangi masing-masing untuk mode x1 dan mode x10
- Kompensasi probe x10 dapat disetel menggunakan keluaran square wave 1 kHz dari Flea-Scope
- Mode sinyal dapat dipilih antara unipolar, bipolar, dan digital AC coupling
- Nilai default adalah unipolar yang menampilkan tegangan positif terhadap ground USB
acmenampilkan sinyal berdasarkan tegangan rata-rata digital
- Skala vertikal default adalah 0V~3.3V, dan UI memungkinkan pemilihan rentang full scale 0.5V~6.6V
- Memperkecil rentang tampilan vertikal tidak meningkatkan resolusi capture analog
- Pada rentang tampilan 0.33V atau kurang, sampel hasil capture ditampilkan dengan pembesaran vertikal
Batasan desain murah dan hal yang perlu diperhatikan
- Flea-Scope menargetkan perangkat yang murah dan “cukup bagus”, serta bergantung pada komponen non-presisi dan kalibrasi
- ADC bekerja dalam mode 12-bit dan hanya memiliki satu rentang tegangan input
- Resolusi vertikal teoretis sekitar 4 mV
- Noise floor sekitar +/-10~15 mV
- Jika membutuhkan AC coupling nyata atau offset DC melebihi rentang input ADC, hal itu dapat diimplementasikan dengan kapasitor 0.1uF eksternal
- Delay trigger kurang dari 1us
- Jika memakai PC lama dengan colokan 3-prong atau khawatir terhadap ground loop, disarankan memakai USB isolator full-speed untuk memisahkan kabel ground probe osiloskop dari ground PC
- Generator arbitrary waveform berbasis DAC dapat menimbulkan noise, terutama pada frekuensi tinggi, karena kecepatan konversi 1 Msps dan tidak adanya double-buffer
Bandwidth dan kompatibilitas platform
- Pada pengujian square wave 1 MHz, perangkat ini menunjukkan fidelitas sinyal yang sesuai harapan untuk osiloskop sampling 18 Msps
- Pada pengujian 4 MHz, hasilnya masih lebih tinggi daripada cutoff bandwidth analog -3 dB, 70.7% pada osiloskop umum, tetapi batas Nyquist membatasi fidelitas sinyal
- Telah diuji di Windows, macOS, Linux, ChromeOS, dan Android
- Browser yang diuji adalah Google Chrome dan Microsoft Edge
- Di macOS, performa mungkin lebih baik jika memilih Web Serial alih-alih WebUSB di halaman web
manual
- Informasi tentang WebUSB dan Web Serial dapat dilihat di WebUSB dan Web Serial
- iPhone dan iPad belum dapat bekerja dengan Flea-Scope karena browser JavaScript tidak mengekspos perangkat USB ke WebUSB atau Web Serial
- Beberapa ponsel Samsung mengambil alih perangkat USB dengan serial driver tetapi kemudian tidak mengeksposnya ke browser lewat Web Serial, sehingga tidak dapat diakses dari JavaScript
- Pada firmware v2.27j, saat daya dinyalakan pin
a0dapat dihubungkan ke ground untuk memaksa eksposur endpoint USB non-CDC/ACM - Setelah itu, metode workaround adalah mengklik
USBalih-alihCommdi halaman webmanual
- Pada firmware v2.27j, saat daya dinyalakan pin
Deep Dive Interactive Mode dan pemrograman ulang
- Jika membuka
stickos-basic.htmlalih-alihflea-scope.html, pengguna terhubung langsung lewat terminal ke lingkungan StickOS BASIC yang berjalan di MCU- Hanya satu halaman web yang dapat membuka Flea-Scope pada saat yang sama, jadi jendela
flea-scope.htmlyang sudah ada harus ditutup
- Hanya satu halaman web yang dapat membuka Flea-Scope pada saat yang sama, jadi jendela
- StickOS BASIC adalah lingkungan pemrograman interaktif di dalam MCU
- Termasuk editor program, compiler baris demi baris, debugger interaktif, edit-and-continue, performance profiler, dan filesystem flash
- MCU yang digunakan adalah 120 MHz PIC32MK0512GPK064
- Performa BASIC berada di kisaran 150,000 baris per detik
- Dalam deep-dive interactive mode, 18 pin I/O multifungsi dapat dikonfigurasi secara interaktif
- input/output digital
- input/output analog PWM
- keluaran frekuensi
- keluaran servo PWM
- I2C master
- SPI master
- input/output UART
- Dengan perintah
hostname hostname, nama dapat diatur untuk membedakan beberapa Flea-Scope di USB dan UI web- Setelah mengubah hostname, perlu reset dengan tombol MCLR
- Dengan konektor ICSP 6-pin, papan dapat diprogram ulang langsung dalam C memakai Microchip Pickit 3, Pickit 4, Snap programmer, dan MPLAB X
- Dapat mulai dari repository GitHub
hello - Setelah selesai, dapat kembali ke firmware Flea-Scope dengan
board/pic32.X.27*.production.hexdari repository StickOS2
- Dapat mulai dari repository GitHub
1 komentar
Opini Hacker News
Mengingat harganya, perangkat kecil ini benar-benar luar biasa
Judul postingannya sebaiknya diubah agar tidak sekadar “More”, tetapi juga menonjolkan fungsi function/waveform generator
Mungkin karena itu, sebagian besar komentar tampaknya hanya berfokus pada bagian osiloskop
Orang yang pernah sedikit berkecimpung di elektronika akan tahu bahwa meja kerja elektronik biasanya terdiri dari osiloskop, logic analyzer, waveform generator, digital multimeter, dan biasanya catu daya DC 12V
Hybrid signal scope/generator seharga 18 dolar ini tampaknya bisa menjalankan sebagian besar fungsi tersebut, dan fakta bahwa semuanya terintegrasi dalam satu perangkat sehingga tidak perlu menyinkronkan secara terpisah juga merupakan keunggulan besar
Jika disusun dari perangkat terpisah seperti meja kerja elektronik HP/Agilent/Keysight gaya lama, biayanya bisa dengan mudah mencapai puluhan ribu dolar
Untuk pendekatan modern ada seri Digilent Discovery Pro 3000/4000/5000, yang dideskripsikan sebagai “All-In-One High-Speed Mixed Signal Oscilloscope, Function Generator, Power Supply, and DMM” dan harganya di kisaran ribuan dolar
Seri Digilent Discovery 1/2/3 yang lebih murah juga sekitar 400 dolar, tetapi bandwidth dan sumber dayanya cukup terbatas sehingga lebih layak dibandingkan dengan Flea-Scope
[1] Digilent Analog Discovery 3 vs. Digilent Pro ADP2230 [video]:
https://youtu.be/yr9SGxiBAnI
Perangkat ini punya banyak fitur unik, menarik, dan berguna, jadi terlalu banyak hal yang layak dimasukkan ke judul
Edit: sayangnya sepertinya sekarang judul postingan sudah tidak bisa diubah lagi
Baru pertama kali datang ke sini
Salah satu komentar di bawah agak menyesatkan. Ini bukan 100Msps, melainkan 18Msps, jadi dengan fidelity yang wajar, anggap saja bagus untuk sinyal sekitar 1MHz ke bawah
Ini memakai PIC32, bukan STM32, dan ADC-nya 12-bit, tetapi karena noise floor, dalam praktiknya lebih dekat ke 10–11 bit
Meski begitu, kemampuan melakukan capture digital dan menghasilkan waveform secara bersamaan memang keren, tetapi secara keseluruhan ini perangkat yang cukup sederhana
Tujuannya adalah menaruh perangkat ini di setiap tempat duduk di kelas yang sudah memiliki komputer, tablet, atau Chromebook, lalu membuatnya “langsung berfungsi”
Hal yang paling saya sukai adalah akses JavaScript. Satu halaman web sudah cukup untuk GUI, tanpa perlu instalasi software atau app store
Untuk eksperimen kelas yang lebih mendalam, bisa memakai halaman web “deep dive” terpisah dengan UI command line untuk login secara interaktif, lalu mengendalikan semua pin secara terprogram dengan BASIC
Board juga bisa dikonfigurasi agar program BASIC berjalan otomatis saat dinyalakan
Dengan 4 switch, 4 LED, buzzer, dan sekitar 100 baris kode, Anda bisa membuat game “Simon”; dengan thermocouple, op-amp, dan solid-state relay, Anda juga bisa membuat pengendali suhu oven toaster untuk solder reflow. Prototipenya memang dibuat seperti itu
Bagusnya, pendekatan JavaScript di sisi host tetap ikut tersedia gratis, dan BASIC dapat berkomunikasi langsung dengan komputer host. Misalnya bisa menjalankan Python atau PowerShell
Contohnya ada di sini: https://rtestardi.github.io/pages/
Aplikasi otomotif juga menarik. Flea-Scope memudahkan mengukur sensor crankshaft hanya dengan mengeluarkan ponsel atau tablet. Tanpanya, orang akhirnya hanya menebak dari diagram alur diagnosis lalu mengganti komponen
Lisensinya semuanya open source, siapa pun bisa membuat ulang dan juga menjualnya
BASIC internalnya memiliki paten, tetapi build software yang saya buat, uji, dan rilis memiliki lisensi permanen
Secara teori, scope bisa dibuat tanpa BASIC. Itu tidak diperlukan kecuali saat memakai board dalam mode “deep dive” untuk pemrograman BASIC
Kalau tertarik, saya juga pernah memikirkan Mosquito-Scope. Masih berbasis dsPIC33A yang sangat baru, dengan 2 channel dan penguatan input yang bisa dipilih untuk menangani sinyal sub-milivolt; dsPIC33A sebenarnya lebih murah dan lebih cepat daripada PIC32MK
-- Rich
Namun dengan syarat antarmukanya sedikit ditingkatkan agar bisa menangani beberapa scope sekaligus
Dengan begitu, form factor kecil tetap terjaga dan kompromi desain juga bisa dihindari
Jelas sudah banyak memikirkan faktor-faktor yang diperlukan agar berhasil
Tidak ada pengganti yang lebih baik daripada setiap siswa memiliki lingkungan eksperimennya sendiri
Saat pertama kali mengenal osiloskop, seluruh kelas berbagi satu scope Tek seri 7k raksasa yang saat itu kelas atas; saya memang belajar dasar-dasarnya, tetapi baru benar-benar mempelajarinya secara berguna setelah memiliki scope sendiri yang fiturnya jauh lebih sedikit
Sebagai catatan kalau Anda baru di sini, di tempat ini biasanya ketika seseorang memposting “saya yang membuatnya”, akan ada komentar yang membesar-besarkan masalah kecil seolah-olah itu kesalahan besar, mengatakan kalau mereka yang membuat pasti hasilnya jauh lebih baik, atau bertanya kenapa repot membuatnya karena mereka membeli yang lebih murah di Alibaba
Tentu saja, akan ada juga yang bilang seharusnya ditulis dengan Rust. Abaikan saja hal-hal seperti itu
Saya cukup puas dengan logic analyzer yang saya beli di Amazon dengan harga mirip, sekitar 13 dolar
Saya mengeluarkan uang lebih banyak untuk probe daripada analyzernya. Probenya 24 dolar ;-)
Untuk menjalankannya saya memakai SigRock/PulseView, dan dikenali sebagai clone yang kompatibel
Menakjubkan bahwa dengan harga semurah ini kita bisa melihat sinyal selebar puluhan nanodetik
[1] https://www.amazon.com/dp/B077LSG5P2
[2] https://www.amazon.com/dp/B0CLB63GL3
[3] https://sigrok.org/wiki/PulseView
Sering terputus dan bermasalah juga saat enumerasi perangkat. Saya belum mencoba sigrok
Jika menaikkan dan menurunkan beberapa pin GPIO sebelum dan sesudah bagian penting kode, hasilnya bisa dilihat di SigRock
Saat memakai osiloskop USB, harus berhati-hati dengan ground loop
Kebanyakan scope USB murah berbagi ground dengan PC melalui port USB
Jika mengukur rangkaian bertegangan tinggi, misalnya listrik komersial atau switching power supply, bisa timbul beda potensial berbahaya yang menyebabkan kerusakan komputer atau risiko yang lebih serius
Sebagian scope menyediakan input terisolasi, tetapi jika tidak, harus memakai differential probe atau isolation transformer
Kalau tidak, yang akan Anda debug mungkin bukan rangkaiannya, melainkan USB controller laptop yang gosong
Saya bahkan melihat asap keluar dari salah satu lubang ventilasi, tetapi bagian komputer lainnya selamat
Rasanya seperti sulap
Sebagai perbandingan, scope USB seharga 2 dolar bentuknya seperti ini. 800 ksps dan punya 2 rentang tegangan: https://files.catbox.moe/0t0dq3.jpg
Proyek seperti ini akan terasa seperti penyelamat 20–30 tahun lalu, ketika osiloskop dasar pun semahal mobil bekas
Sekarang osiloskop yang cukup bagus dengan bandwidth 200 MHz, antarmuka pengguna yang baik, dan display yang responsif dijual seharga 300 dolar. Maksudnya produk seperti Siglent, Rigol, UNI-T
Jadi keuntungan membuat sendiri sesuatu yang jauh lebih buruk tidak sebesar dulu
Osiloskop adalah alat yang dipakai untuk memecahkan masalah pada semua desain lain, jadi sebaiknya alat itu andal, mudah dipakai, dan akurat
Tentu ada nilai untuk membuat dan merilisnya sebagai proyek yang seru dan geeky. Namun itu kalau sudah punya osiloskop sungguhan
Jika baru mulai melengkapi peralatan, lebih baik keluarkan sedikit uang lebih banyak demi diri sendiri. Peralatan lainnya tidak sekrusial itu
300 dolar berada cukup tinggi jika dibandingkan dengan upah minimum di seluruh dunia[1], dan di negara seperti tempat saya tinggal harganya kemungkinan bisa menjadi dua kali lipat
Selain itu, orang-orang yang benar-benar bisa memanfaatkan perangkat ini dengan baik, misalnya siswa SMA, biasanya punya uang yang jauh lebih sedikit untuk dibelanjakan
Apalagi jika mempertimbangkan efek samping berupa membuatnya sendiri dan mempelajari prinsip kerjanya
[1] https://en.wikipedia.org/wiki/List_of_countries_by_minimum_wage
Jika belum tahu persis akan dipakai untuk apa, saya tidak akan mengeluarkan 300 dolar, tetapi 20 dolar mudah, dan 2 dolar menjadi pembelian impulsif
Menawarkan front-end ADC 12-bit, input touchscreen yang benar-benar layak dipakai, dan kendali jarak jauh yang sangat mudah lewat koneksi jaringan. Hanya saja memeriksa alamat IP hanya dengan touchscreen agak merepotkan
Karena memakai input daya USB-C, kalau mau bisa dijalankan juga dengan power bank
Semua decoder penting seperti I2C, SPI, UART sudah tertanam gratis
Bisa dipasang dengan VESA mount, sehingga saya dapat memasangnya di lengan monitor dan mendapatkan kembali ruang meja; fitur ini benar-benar saya suka
Meng-hack model murahnya untuk ditingkatkan menjadi model 250 MHz juga sangat mudah :D
Menurut saya, dari hampir semua sisi, hambatan masuk yang rendah adalah elemen inti dari tujuan itu
[0]: https://www.youtube.com/watch?v=sbRXDkHS_V0
Jika Anda profesional kerah putih di AS, mungkin benar begitu
Namun bagi sebagian besar populasi dunia, perbedaan antara 300 dolar dan 18 dolar sangat besar
Koreksi: lisensinya terdiri dari ARR, domain publik, dan MIT
https://github.com/rtestardi/StickOS2/blob/main/license.txt
https://github.com/rtestardi/usbte/blob/master/LICENSE
Menyebut ini FOSS sama sekali tidak akurat
Sebagian hak cipta dilindungi sepenuhnya, sebagian domain publik, dan sebagian hanya boleh untuk penggunaan nonkomersial
Domain publik bukan open source, dan khususnya juga bukan free dalam arti bebas
Pembatasan penggunaan komersial juga bukan perangkat lunak bebas
Paling banter, proyek ini bisa disebut sebagian source-available
Perangkat ini bisa direkomendasikan kepada orang yang baru mulai belajar elektronika
Saya mendapatkannya dari Hackerbox 102[1], dan menurut saya nilainya bagus untuk harga dibanding bandwidth-nya
Saat berbicara dengan teman-teman insinyur, seperti yang diduga saya mendapat reaksi seperti “itu cuma mainan”, dan memang jelas ada banyak keterbatasan
Namun bahkan dalam keterbatasan itu, ada banyak kesempatan untuk mengajarkan topik seperti elektronika analog, yang paling baik dipelajari dengan melihat sinyal secara langsung
Orang yang baru mulai sering kali bahkan belum tahu mengapa mereka membutuhkan osiloskop, jadi ini cara yang cukup baik untuk memperkenalkan alat tanpa harus menghadapi kurva belajar besar karena fitur-fitur yang tidak akan mereka pakai pada tahun pertama belajar :-)
Nanti saat memilih salah satu peralatan bench yang bagus, mereka juga tidak akan sepenuhnya buta soal apa fungsi-fungsi osiloskop itu
Jadi dengan harga 20 dolar, menurut saya nilainya bagus, dan saya sudah merekomendasikannya kepada orang-orang yang baru belajar hal seperti ini
[1] https://hackerboxes.com/collections/past-hackerboxes/products/hackerbox-0102-flea-scope dan panduan eksperimennya https://www.instructables.com/HackerBox-0102-Flea-Scope/
Mengingatkan saya pada EspoTek Labrador di kisaran harga serupa
https://espotek.com/labrador/
Arsitektur FPGA/MCU hibrida milik Flea-Scope untuk streaming USB itu cerdik. Cara menangani tangkapan 100MS/s dengan pipelining FPGA dan menyerahkan konversi protokol ke STM32 tampak bagus dari sisi biaya
Namun resolusi ADC 8-bit dan tidak adanya jaringan proteksi input berisiko untuk sinyal yang tidak diredam, dibandingkan front-end 1MΩ//20pF milik Rigol dan clamping tegangan lebihnya
Alat analisis Python yang memakai NumPy/SciPy untuk FFT alih-alih DSP bawaan merupakan pembagian sumber daya yang menarik, dan sepertinya Jupyter juga akan segera muncul
Selain itu, ini juga tidak mendekati 100Msps, melainkan hanya 18Msps, dan spesifikasinya 12-bit
Saya jadi penasaran apakah komentar itu ditulis dengan bantuan AI, atau sedang membicarakan perangkat lain