- Elecrow 기준 18달러에 18 Msps 오실로스코프, 혼합 신호 로직 분석기, 내장 파형 발생기를 한 보드에 묶어 저가 실험·교육용 계측 장비로 쓸 수 있음
- 별도 앱 없이 Chromium 기반 브라우저에서 WebUSB/Web Serial로 제어하며, Windows, macOS, Linux, ChromeOS, Android에서 테스트됨
- 아날로그 입력은 12-bit ADC로 최대 18 Msps와 약 4 MHz 사용 가능 대역폭을 제공하고, 9개 디지털 입력은 아날로그 입력과 함께 동시 샘플링됨
- 웹 UI에서 트리거, 지연 캡처, 측정, 보정을 처리하고, DAC 기반 파형은 최대 40 kHz, square wave는 최대 4 MHz까지 출력함
- 낮은 가격을 위해 비정밀 부품과 보정에 의존하므로 전압 정확도, 노이즈, AC coupling, USB 접지, 일부 모바일 브라우저 호환성은 한계가 있음
18달러 USB 계측 보드의 기본 구성
- Flea-Scope는 USB 오실로스코프와 혼합 신호 로직 분석기, 내장 파형 발생기를 결합한 저가 보드임
- 가격은 Elecrow 기준 18달러로 제시됨
- 제어는 별도 앱 설치가 아니라 웹페이지에서 이뤄짐
- Chromium 기반 브라우저에서 WebUSB API 또는 Web Serial API를 사용함
- 컴퓨터, 태블릿, 휴대폰 연결을 지원함
- 사용자는 micro-USB 데이터 케이블로 장치를 연결한 뒤
flea-scope.html을 열고,Start Connect에서 USB 장치 또는 serial port를 선택함 - Ubuntu Linux에서는
sudo adduser user dialout,sudo adduser root dialout실행 후 로그아웃이 필요함
계측 하드웨어 사양
- 아날로그 입력은 1채널이며 12-bit ADC로 최대 18 Msps 샘플링을 지원함
- 사용 가능 아날로그 대역폭은 약 4 MHz
- 풀사이즈 BNC 커넥터를 제공함
- 입력 임피던스는 1 Mohm, 14 pF
- x1 프로브에서는 -6V~+6V, 10 mV 해상도
- x10 프로브에서는 -60V~+60V, 100 mV 해상도
- DC coupling 또는 digital AC coupling을 지원함
- 디지털 로직 분석기 입력은 9개이며, 아날로그 입력과 함께 동시 샘플링됨
- 3.3V 또는 5V 로직 레벨과 호환됨
- 트리거 모드는 auto, level, rise, fall을 지원함
- 지연 트리거/캡처 범위는 0us~1s
trigger out핀으로 여러 Flea-Scope를 함께 동작시켜 더 많은 채널을 다룰 수 있음
- 목표 정확도는 전압과 타이밍 모두 2% 수준임
- 보드 크기는 1" x 3" 또는 2.54cm x 7.62cm임
파형 발생과 웹 UI 측정
- 테스트 파형 출력은 두 가지 방식으로 동작함
- DAC 기반 arbitrary waveform은 sine, triangle, ekg 파형을 최대 40 kHz까지 생성함
- square wave는 최대 4 MHz까지 생성함
- DAC 기반 파형은 주기당 100포인트를 반복함
- 40 kHz arbitrary waveform에서는 DAC가 4 Msps로 포인트를 생성함
- 기본 상태에서는
wave out핀에서 1 kHz sine wave를 출력함 - 웹 UI는 아날로그 표시 영역과 디지털 표시 영역을 제공함
- 평균, peak-to-peak, RMS 전압을 표시함
measure기능으로 한 점의 시간·전압 또는 두 점의 시간 차·전압 차·주파수를 측정할 수 있음
pause,resume,single버튼으로 반복 캡처를 멈추거나 단일 트리거 캡처를 수행함
트리거와 시간·전압 스케일
- 수평 스케일은 0.5us/div~100ms/div 범위에서 설정됨
- 표시 영역 전체는 10개 division으로 구성됨
- 화면 왼쪽부터 오른쪽까지 대략 1000개 샘플을 캡처하고, 오른쪽 밖에 추가로 약 1000개 샘플을 더 캡처해 스크롤로 볼 수 있음
- 가장 빠른 수평 스케일 구간인 2.5us/div 이하에서는 캡처 샘플을 가로로 확대해 표시함
- 이때 division당 보이는 샘플 수가 약 100개가 아니라 50개, 20개, 10개 수준이 될 수 있음
- 아날로그 트리거는 지정 전압선과
auto,level,rise,fall모드 조합으로 동작함auto는 100ms 안에 트리거가 없으면 자동으로 트리거해 화면이 비지 않게 함rise와fall은 3샘플 디지털 필터링 후 전압 전이를 기준으로 동작함
- 디지털 트리거는
b0~b8비트를0,1, don't care로 설정해 사용함clear버튼은 디지털 트리거 비트를 모두 don't care로 되돌리고 아날로그 트리거로 복귀시킴
- 지연 캡처는 트리거 후 지정 시간만큼 기다린 뒤 샘플을 캡처함
- 시간은
m접미사로 밀리초,u접미사로 마이크로초를 지정함 - 최대 지연은 1초
- 시간은
보정과 입력 범위
- 사용 전에 Flea-Scope와 프로브를 보정해야 함
- x1과 x10 프로브 모드는 별도 보정값을 가짐
- 보정값은 MCU flash에 영구 저장됨
new또는clear flash명령을 사용하면 보정값이 지워짐
- 보정은 0V와 3.3V를 각각 연결한 뒤
cal_zero,cal_3v3를 누르는 방식임- x1 모드와 x10 모드에서 각각 반복해야 함
- x10 프로브 보상은 Flea-Scope의 1 kHz square wave 출력을 사용해 맞출 수 있음
- 신호 모드는 unipolar, bipolar, digital AC coupling 중 선택함
- 기본값은 USB ground 기준 양전압을 표시하는 unipolar임
ac는 디지털 평균 전압을 기준으로 신호를 표시함
- 수직 스케일은 기본 0V~3.3V이며, UI에서 0.5V~6.6V full scale 범위를 선택할 수 있음
- 수직 표시 범위를 줄여도 아날로그 캡처 해상도는 증가하지 않음
- 0.33V 이하 표시 범위에서는 캡처 샘플을 세로로 확대해 표시함
저가 설계의 한계와 주의점
- Flea-Scope는 저렴하고 “충분히 좋은” 장치를 목표로 하며, 비정밀 부품과 보정에 의존함
- ADC는 12-bit 모드로 동작하고 입력 전압 범위는 하나뿐임
- 이론적 수직 해상도는 약 4 mV
- 노이즈 플로어는 약 +/-10~15 mV
- 실제 AC coupling이 필요하거나 DC offset이 ADC 입력 범위를 넘는 경우에는 외부 0.1uF 커패시터로 구현할 수 있음
- 트리거 지연은 1us 미만임
- 오래된 3-prong plug PC를 쓰거나 ground loop가 우려되면 full-speed USB isolator로 오실로스코프 프로브 ground wire를 PC ground와 분리하는 방식이 권장됨
- DAC 기반 arbitrary waveform 발생기는 1 Msps 변환 속도와 double-buffer 부재 때문에, 특히 높은 주파수에서 노이즈가 생길 수 있음
대역폭과 플랫폼 호환성
- 1 MHz square wave 테스트에서는 18 Msps 샘플링 오실로스코프로서 기대되는 수준의 신호 충실도를 보임
- 4 MHz 테스트에서는 일반적인 오실로스코프의 -3 dB, 70.7% 아날로그 대역폭 컷오프보다 여전히 높지만, Nyquist 한계가 신호 충실도를 제한함
- Windows, macOS, Linux, ChromeOS, Android에서 테스트됨
- 브라우저는 Google Chrome과 Microsoft Edge에서 테스트됨
- macOS에서는
manual웹페이지에서 WebUSB 대신 Web Serial을 선택하면 성능이 더 나을 수 있음
- WebUSB와 Web Serial 정보는 각각 WebUSB와 Web Serial을 참고할 수 있음
- iPhone과 iPad는 브라우저 JavaScript로 USB 장치를 WebUSB 또는 Web Serial에 노출하지 않아 아직 Flea-Scope와 동작하지 않음
- 일부 Samsung 휴대폰은 USB 장치를 serial driver로 점유하지만 이후 Web Serial로 브라우저에 노출하지 않아 JavaScript에서 접근할 수 없음
- firmware v2.27j에서는 전원 인가 시
a0핀을 ground에 연결해 non-CDC/ACM USB endpoint를 노출하도록 강제할 수 있음 - 이후
manual웹페이지에서Comm대신USB를 클릭하는 우회 방법을 쓸 수 있음
- firmware v2.27j에서는 전원 인가 시
Deep Dive Interactive Mode와 재프로그래밍
flea-scope.html대신stickos-basic.html을 열면 MCU에서 실행되는 StickOS BASIC 환경에 터미널로 직접 접속함- 동시에 한 웹페이지만 Flea-Scope를 열 수 있으므로 기존
flea-scope.html창을 닫아야 함
- 동시에 한 웹페이지만 Flea-Scope를 열 수 있으므로 기존
- StickOS BASIC은 MCU 내부의 대화형 프로그래밍 환경임
- 프로그램 편집기, line-by-line 컴파일러, 대화형 디버거, edit-and-continue, 성능 프로파일러, flash 파일시스템을 포함함
- MCU는 120 MHz PIC32MK0512GPK064임
- BASIC 성능은 초당 150,000 라인 수준임
- deep-dive interactive mode에서는 18개 다기능 I/O 핀을 대화형으로 설정할 수 있음
- digital input/output
- analog input/output PWM
- frequency output
- servo output PWM
- I2C master
- SPI master
- UART input/output
hostname hostname명령으로 여러 Flea-Scope를 USB와 웹 UI에서 구분할 이름을 설정할 수 있음- hostname 변경 후에는 MCLR 버튼으로 리셋해야 함
- 6핀 ICSP 커넥터를 사용하면 Microchip Pickit 3, Pickit 4, Snap programmer와 MPLAB X로 보드를 C에서 직접 재프로그래밍할 수 있음
helloGitHub repository로 시작할 수 있음- 작업 후 StickOS2 repository의
board/pic32.X.27*.production.hex로 Flea-Scope 펌웨어로 되돌릴 수 있음