1 pontos por GN⁺ 2025-02-18 | 1 comentários | Compartilhar no WhatsApp
  • Por US$ 18 na Elecrow, reúne em uma única placa um osciloscópio de 18 Msps, um analisador lógico de sinais mistos e um gerador de formas de onda embutido, podendo ser usado como instrumento de medição de baixo custo para experimentos e ensino
  • É controlado por WebUSB/Web Serial em um navegador baseado em Chromium, sem aplicativo separado, e foi testado em Windows, macOS, Linux, ChromeOS e Android
  • A entrada analógica usa um ADC de 12 bits e oferece até 18 Msps e cerca de 4 MHz de largura de banda utilizável, enquanto 9 entradas digitais são amostradas simultaneamente junto com a entrada analógica
  • A interface web lida com trigger, captura com atraso, medições e calibração, e a forma de onda baseada em DAC sai em até 40 kHz, enquanto a square wave vai até 4 MHz
  • Para manter o preço baixo, depende de componentes não precisos e de calibração, então há limitações em precisão de tensão, ruído, AC coupling, aterramento USB e compatibilidade com alguns navegadores móveis

Configuração básica da placa de instrumentação USB de US$ 18

  • O Flea-Scope é uma placa de baixo custo que combina osciloscópio USB, analisador lógico de sinais mistos e gerador de formas de onda embutido
  • O preço indicado é de US$ 18 na Elecrow
  • O controle é feito por uma página web, sem instalar aplicativo separado
    • Usa a WebUSB API ou a Web Serial API em navegadores baseados em Chromium
    • Suporta conexão com computador, tablet e celular
  • O usuário conecta o dispositivo com um cabo de dados micro-USB, abre flea-scope.html e, em Start Connect, seleciona o dispositivo USB ou a porta serial
  • No Ubuntu Linux, é necessário executar sudo adduser user dialout, sudo adduser root dialout e depois fazer logout

Especificações do hardware de medição

  • A entrada analógica tem 1 canal e suporta amostragem de até 18 Msps com ADC de 12 bits
    • A largura de banda analógica utilizável é de cerca de 4 MHz
    • Fornece conector BNC de tamanho padrão
    • A impedância de entrada é 1 Mohm, 14 pF
    • Com sonda x1: -6V~+6V, resolução de 10 mV
    • Com sonda x10: -60V~+60V, resolução de 100 mV
    • Suporta DC coupling ou digital AC coupling
  • O analisador lógico digital tem 9 entradas, amostradas simultaneamente junto com a entrada analógica
    • Compatível com níveis lógicos de 3,3 V ou 5 V
  • Os modos de trigger suportam auto, level, rise, fall
    • O intervalo de trigger/captura com atraso é de 0us~1s
    • O pino trigger out permite operar vários Flea-Scope juntos para lidar com mais canais
  • A precisão-alvo é de cerca de 2% tanto em tensão quanto em temporização
  • O tamanho da placa é 1" x 3" ou 2,54 cm x 7,62 cm

Geração de formas de onda e medições na interface web

  • A saída de forma de onda de teste funciona de duas maneiras
    • A forma de onda arbitrária baseada em DAC gera senoide, triângulo e ekg em até 40 kHz
    • A square wave vai até 4 MHz
  • A forma de onda baseada em DAC repete 100 pontos por período
    • Em uma forma de onda arbitrária de 40 kHz, o DAC gera pontos a 4 Msps
  • No estado padrão, o pino wave out fornece uma senoide de 1 kHz
  • A interface web oferece área de exibição analógica e área de exibição digital
    • Exibe tensão média, peak-to-peak e RMS
    • O recurso measure permite medir tempo e tensão de um ponto, ou diferença de tempo, diferença de tensão e frequência entre dois pontos
  • Os botões pause, resume, single permitem interromper a captura repetida ou realizar uma captura com trigger único

Trigger e escalas de tempo e tensão

  • A escala horizontal pode ser ajustada no intervalo de 0.5us/div~100ms/div
    • A área de exibição inteira é composta por 10 divisões
    • Da esquerda para a direita da tela, captura cerca de 1000 amostras e, além da borda direita, captura mais cerca de 1000 amostras que podem ser vistas com rolagem
  • Na faixa de escala horizontal mais rápida, de 2.5us/div ou menos, as amostras capturadas são exibidas com ampliação horizontal
    • Nesse caso, o número de amostras visíveis por divisão pode cair de cerca de 100 para 50, 20 ou 10
  • O trigger analógico funciona com a combinação da linha de tensão especificada e dos modos auto, level, rise, fall
    • auto aciona automaticamente se não houver trigger em 100 ms, para que a tela não fique vazia
    • rise e fall operam com base na transição de tensão após filtragem digital de 3 amostras
  • O trigger digital é usado configurando os bits b0~b8 como 0, 1 ou don't care
    • O botão clear redefine todos os bits do trigger digital para don't care e volta ao trigger analógico
  • A captura com atraso espera o tempo especificado após o trigger antes de capturar as amostras
    • O tempo usa o sufixo m para milissegundos e o sufixo u para microssegundos
    • O atraso máximo é de 1 segundo

Calibração e faixa de entrada

  • Antes do uso, é necessário calibrar o Flea-Scope e a sonda
    • Os modos de sonda x1 e x10 têm valores de calibração separados
    • Os valores de calibração são armazenados permanentemente na flash do MCU
    • Se o comando new ou clear flash for usado, os valores de calibração serão apagados
  • A calibração é feita conectando 0 V e 3,3 V separadamente e clicando em cal_zero e cal_3v3
    • Isso deve ser repetido nos modos x1 e x10
  • A compensação da sonda x10 pode ser ajustada usando a saída de square wave de 1 kHz do Flea-Scope
  • O modo de sinal pode ser escolhido entre unipolar, bipolar e digital AC coupling
    • O padrão é unipolar, exibindo tensão positiva em relação ao USB ground
    • ac exibe o sinal com base na tensão média digital
  • A escala vertical padrão é 0V~3.3V, e na interface é possível escolher faixas full scale de 0,5 V a 6,6 V
    • Reduzir a faixa vertical exibida não aumenta a resolução da captura analógica
    • Em faixas de exibição de 0,33 V ou menos, as amostras capturadas são exibidas com ampliação vertical

Limitações e cuidados do projeto de baixo custo

  • O Flea-Scope busca ser um dispositivo barato e “bom o suficiente”, dependendo de componentes não precisos e calibração
  • O ADC opera em modo de 12 bits e há apenas uma faixa de tensão de entrada
    • A resolução vertical teórica é de cerca de 4 mV
    • O piso de ruído é de cerca de +/-10~15 mV
  • Quando é necessário AC coupling real ou quando o offset DC ultrapassa a faixa de entrada do ADC, isso pode ser implementado com um capacitor externo de 0.1uF
  • O atraso de trigger é menor que 1us
  • Se estiver usando um PC antigo com plugue de 3 pinos ou houver preocupação com ground loop, recomenda-se usar um isolador USB full-speed para separar o fio ground da sonda do osciloscópio do ground do PC
  • O gerador de formas de onda arbitrárias baseado em DAC pode gerar ruído, especialmente em frequências altas, devido à velocidade de conversão de 1 Msps e à ausência de double-buffer

Largura de banda e compatibilidade de plataforma

  • No teste com square wave de 1 MHz, mostrou fidelidade de sinal no nível esperado para um osciloscópio de 18 Msps
  • No teste de 4 MHz, ainda ficou acima do cutoff de largura de banda analógica de -3 dB, 70.7% típico de osciloscópios comuns, mas o limite de Nyquist restringe a fidelidade do sinal
  • Foi testado em Windows, macOS, Linux, ChromeOS e Android
    • Os navegadores testados foram Google Chrome e Microsoft Edge
    • No macOS, selecionar Web Serial em vez de WebUSB na página manual pode oferecer melhor desempenho
  • As informações sobre WebUSB e Web Serial podem ser consultadas em WebUSB e Web Serial
  • iPhone e iPad ainda não funcionam com o Flea-Scope porque o JavaScript do navegador não expõe dispositivos USB a WebUSB ou Web Serial
  • Alguns celulares Samsung ocupam o dispositivo USB com o driver serial, mas depois não o expõem ao navegador por Web Serial, impedindo o acesso por JavaScript
    • No firmware v2.27j, é possível forçar a exposição de um endpoint USB non-CDC/ACM conectando o pino a0 ao ground ao ligar a alimentação
    • Depois disso, pode-se usar a alternativa de clicar em USB em vez de Comm na página manual

Deep Dive Interactive Mode e reprogramação

  • Ao abrir stickos-basic.html em vez de flea-scope.html, é possível acessar diretamente por terminal o ambiente StickOS BASIC executado no MCU
    • Como apenas uma página web pode abrir o Flea-Scope ao mesmo tempo, é preciso fechar a janela existente de flea-scope.html
  • O StickOS BASIC é um ambiente de programação interativo dentro do MCU
    • Inclui editor de programas, compilador line-by-line, depurador interativo, edit-and-continue, profiler de desempenho e sistema de arquivos em flash
  • O MCU é um PIC32MK0512GPK064 de 120 MHz
    • O desempenho em BASIC é de cerca de 150.000 linhas por segundo
  • No deep-dive interactive mode, é possível configurar interativamente 18 pinos de I/O multifunção
    • digital input/output
    • analog input/output PWM
    • frequency output
    • servo output PWM
    • I2C master
    • SPI master
    • UART input/output
  • O comando hostname hostname permite definir um nome para distinguir vários Flea-Scope na USB e na interface web
    • Após alterar o hostname, é preciso resetar com o botão MCLR
  • Usando o conector ICSP de 6 pinos, é possível reprogramar diretamente a placa em C com Microchip Pickit 3, Pickit 4, Snap programmer e MPLAB X
    • É possível começar pelo repositório GitHub hello
    • Depois do trabalho, é possível voltar ao firmware do Flea-Scope com board/pic32.X.27*.production.hex do repositório StickOS2

1 comentários

 
GN⁺ 2025-02-18
Opiniões no Hacker News
  • Considerando o preço, esse aparelhinho é realmente excelente.
    Seria melhor ajustar o título do post para deixar claro que ele também tem função de gerador de função/forma de onda, em vez de simplesmente “More”.
    Talvez por isso a maioria dos comentários pareça se concentrar apenas na parte de osciloscópio.
    Quem já mexeu um pouco com eletrônica sabe que uma bancada típica é composta por osciloscópio, analisador lógico, gerador de formas de onda, multímetro digital e, normalmente, uma fonte de alimentação DC de 12 V.
    Este osciloscópio/gerador de sinais híbrido de US$ 18 parece conseguir cumprir a maior parte dessas funções, e o fato de estar tudo integrado em um único dispositivo, sem precisar sincronizar equipamentos separados, também é uma grande vantagem.
    Montar isso com equipamentos separados, como em uma bancada de eletrônica HP/Agilent/Keysight à moda antiga, facilmente custa dezenas de milhares de dólares.
    Numa versão moderna, há as séries Digilent Discovery Pro 3000/4000/5000, descritas como “All-In-One High-Speed Mixed Signal Oscilloscope, Function Generator, Power Supply, and DMM”, na faixa de milhares de dólares.
    As séries Digilent Discovery 1/2/3, mais baratas, também custam cerca de US$ 400, mas têm largura de banda e recursos bem limitados, então são mais comparáveis ao Flea-Scope.
    [1] Digilent Analog Discovery 3 vs. Digilent Pro ADP2230 [vídeo]:
    https://youtu.be/yr9SGxiBAnI

    • Esbarrei no limite de caracteres do título, então aceito sugestões de novo título.
      Este dispositivo tem tantas funções únicas, interessantes e úteis que há elementos demais que mereceriam entrar no título.
      Atualização: agora parece que não consigo mais mudar o título do post, uma pena.
    • Fico curioso para saber como ele se compara ao Zoyi ZT-703S, o aparelho de US$ 100 “famoso no YouTube”.
  • Primeira vez aqui.
    Um comentário abaixo é um pouco enganoso. Não são 100 Msps, mas 18 Msps, então dá para considerar que ele é bom, com fidelidade razoável, para sinais de aproximadamente 1 MHz ou menos.
    Ele usa um PIC32, não um STM32, e o ADC é de 12 bits, mas por causa do piso de ruído, na prática fica mais perto de 10 a 11 bits.
    Ainda assim, é legal poder fazer captura digital e geração de forma de onda ao mesmo tempo, embora, no geral, seja um dispositivo bastante simples.
    O objetivo era colocar um desses em cada lugar de uma sala de aula que já tivesse computador, tablet ou Chromebook, e fazer com que “simplesmente funcionasse”.
    O que mais me agrada é o acesso via JavaScript. Uma única página web basta para a GUI, sem instalação de software nem loja de apps.
    Para aprofundar os experimentos em sala, dá para usar uma página web separada de “deep dive” com UI de linha de comando, fazer login de forma interativa e controlar todos os pinos programaticamente em BASIC.
    Também é possível configurar a placa para executar automaticamente um programa BASIC ao ligar.
    Com 4 chaves, 4 LEDs, um buzzer e cerca de 100 linhas de código, dá para fazer um jogo “Simon”; e, com um termopar, um amplificador operacional e um relé de estado sólido, dá para fazer um controlador de temperatura de forno torradeira para solda por refusão. Foi assim que fiz o protótipo, inclusive.
    O bom é que o acesso via JavaScript no lado do host continua vindo de graça, e o BASIC consegue se comunicar diretamente com o computador host. Por exemplo, pode executar Python ou PowerShell.
    Os exemplos estão aqui: https://rtestardi.github.io/pages/
    As aplicações automotivas também foram interessantes. Com o Flea-Scope, é fácil pegar só o celular ou tablet e medir o sensor do virabrequim. Sem isso, você acaba seguindo o fluxograma de diagnóstico no chute e trocando peças por tentativa.
    As licenças são todas open source, qualquer pessoa pode refazer e também vender.
    O BASIC interno tem patente, mas as builds de software que eu criei, testei e lancei têm licença perpétua.
    Em teoria, também seria possível fazer o osciloscópio sem BASIC. Ele não é necessário, exceto ao usar a placa no modo “deep dive” para programação em BASIC.
    Se houver interesse, também já pensei em um Mosquito-Scope: um dispositivo ainda baseado no novíssimo dsPIC33A, com 2 canais e amplificação de entrada selecionável para lidar com sinais submilivolt; o dsPIC33A é, na verdade, mais barato e mais rápido que o PIC32MK.
    -- Rich

    • Sei que foi pensado para uso educacional, mas já encomendei dois para levar na mala quando visitar fábricas por causa da estabilização inicial da produção em massa.
    • O que você fez é excelente. Ignore as críticas e, por favor, faça o Mosquito-Scope.
    • Considerando o preço baixo do Flea-Scope, acho razoável manter apenas uma entrada analógica por dispositivo também no sucessor.
      Desde que a interface seja um pouco melhorada para lidar com vários osciloscópios ao mesmo tempo.
      Assim daria para manter o formato pequeno e evitar compromissos de projeto.
    • O objetivo de colocar um desses em cada lugar da sala de aula é realmente incrível e merece elogios.
      Está claro que você pensou muito nos elementos necessários para o sucesso.
      Não há substituto melhor do que cada aluno ter seu próprio ambiente de experimentação.
      Quando tive meu primeiro contato com um osciloscópio, a turma inteira compartilhava um enorme Tek série 7k, topo de linha na época; aprendi o básico, mas só passei a aprender de forma realmente útil quando tive meu próprio osciloscópio, com muito menos recursos.
      A propósito, se você é novo por aqui, vale avisar: quando alguém posta algo dizendo “eu fiz isso”, é comum aparecerem comentários apontando problemas pequenos como se fossem grandes erros, dizendo que a pessoa teria feito muito melhor, ou perguntando por que você fez isso se dava para comprar algo mais barato no Alibaba.
      Claro, também vão dizer que deveria ter sido escrito em Rust. É só ignorar esse tipo de coisa.
  • Estou satisfeito com este analisador lógico que comprei na Amazon por um preço parecido, cerca de US$ 13
    Gastei mais nas pontas de prova do que no analisador. As pontas custaram US$ 24 ;-)
    Para operá-lo, uso SigRock/PulseView, e ele é reconhecido como um clone compatível
    É surpreendente poder ver sinais com largura de dezenas de nanossegundos por um preço tão baixo
    [1] https://www.amazon.com/dp/B077LSG5P2
    [2] https://www.amazon.com/dp/B0CLB63GL3
    [3] https://sigrok.org/wiki/PulseView

    • Tenho o mesmo produto, mas não recomendo usá-lo com o software Saleae Logic
      Ele fica desconectando o tempo todo e também dá problemas na enumeração do dispositivo. Ainda não testei o sigrok
    • Esses dispositivos são excelentes. Foram muito úteis para fazer profiling de código de microcontrolador
      Se você sobe e desce vários pinos GPIO antes e depois de trechos importantes do código, dá para ver o resultado no SigRock
  • Ao usar um osciloscópio USB, é preciso tomar cuidado com loops de terra
    A maioria dos osciloscópios USB baratos compartilha o terra com o PC pela porta USB
    Medir circuitos de alta tensão, por exemplo a rede elétrica ou fontes chaveadas, pode criar diferenças de potencial perigosas e levar a danos no computador ou a riscos ainda mais graves
    Alguns osciloscópios oferecem entradas isoladas, mas, se não for o caso, é preciso usar uma ponta diferencial ou um transformador de isolamento
    Caso contrário, você pode acabar depurando não o circuito, mas o controlador USB queimado do notebook

    • Relacionado a isso, já queimei o hardware de áudio integrado de um notebook uma vez
      Cheguei a ver fumaça saindo por uma das saídas de ventilação, mas o restante do computador sobreviveu
    • Na página 9 do documento linkado, Rich também aborda esse problema e exige o uso de um isolador USB full-speed
    • Às vezes isso também pode ser uma vantagem. Para ver o que está acontecendo em um pino, basta ligar um fio em vez de dois
      Parece mágica
  • Para comparação, um osciloscópio USB de US$ 2 é assim. Faz 800 ksps e tem duas faixas de tensão: https://files.catbox.moe/0t0dq3.jpg

  • Um projeto desses teria sido uma salvação 20 ou 30 anos atrás, quando até um osciloscópio básico custava o mesmo que um carro usado
    Hoje em dia, dá para comprar por US$ 300 um osciloscópio bastante bom, com largura de banda de 200 MHz, uma boa interface de usuário e uma tela responsiva. Estou falando de produtos como Siglent, Rigol e UNI-T
    Por isso, a vantagem de construir você mesmo algo muito inferior não é tão grande quanto antes
    Um osciloscópio é o equipamento usado para solucionar problemas em todos os outros projetos, então é melhor que seja confiável, fácil de usar e preciso
    Claro, há valor em criar e publicar isso como um projeto divertido e geek. Mas só depois de já ter um osciloscópio de verdade
    Se você está começando a montar sua bancada, é melhor gastar um pouco mais consigo mesmo. O restante dos equipamentos não é tão crítico

    • Dizer “um osciloscópio com largura de banda de 200 MHz, boa UI e tela responsiva por US$ 300” é uma visão muito de país desenvolvido
      US$ 300 é um valor bem alto em relação aos salários mínimos do mundo[1], e em lugares como o meu país é bem possível que o preço dobre
      Além disso, as pessoas que poderiam realmente aproveitar bem esse dispositivo, como estudantes do ensino médio, normalmente têm muito menos dinheiro disponível
      Ainda mais se considerarmos o benefício colateral de construir por conta própria e aprender como ele funciona
      [1] https://en.wikipedia.org/wiki/List_of_countries_by_minimum_wage
    • Vejo diferença entre opções de US$ 200, US$ 20 e US$ 2 no sentido de que elas reduzem a barreira de entrada a quase algo trivial
      Se eu não souber exatamente para que vou usar, não gastaria US$ 300, mas US$ 20 é fácil, e US$ 2 vira uma compra por impulso
    • A nova série Rigol DHO800 é excelente pelo preço e tem um projeto muito bom em vários aspectos
      Ela oferece front-end ADC de 12 bits, entrada por touchscreen que é realmente usável e controle remoto muito fácil via conexão de rede. Só é um pouco complicado verificar o endereço IP usando apenas o touchscreen
      Como a entrada de energia é USB-C, dá até para alimentá-la com um power bank, se quiser
      Todos os decodificadores essenciais, como I2C, SPI e UART, vêm integrados gratuitamente
      Ela aceita montagem VESA, então pude prendê-la a um braço de monitor e recuperar espaço na mesa, e esse recurso é realmente ótimo
      Também é muito fácil hackear um modelo mais barato e atualizá-lo para o modelo de 250 MHz :D
    • No vídeo de apresentação [0], Rich diz claramente que o objetivo é tornar a eletrônica mais acessível para as gerações jovens
      Em praticamente todos os sentidos, uma baixa barreira de entrada é um elemento central desse objetivo
      [0]: https://www.youtube.com/watch?v=sbRXDkHS_V0
    • É uma questão de perspectiva
      Para um profissional white-collar nos EUA, pode ser assim
      Mas, para a maior parte da população mundial, a diferença entre US$ 300 e US$ 18 é enorme
  • Correção: a licença é composta por ARR, domínio público e MIT
    https://github.com/rtestardi/StickOS2/blob/main/license.txt
    https://github.com/rtestardi/usbte/blob/master/LICENSE

    • Correção: o comentário-pai foi bastante editado, então agora este comentário parece menos natural
      Chamar isso de FOSS é completamente incorreto
      Algumas partes têm todos os direitos reservados, algumas estão em domínio público e algumas permitem apenas uso não comercial
      Domínio público não é open source e, especialmente, também não é free no sentido de liberdade
      A restrição de uso comercial também não é software livre
      Na melhor das hipóteses, este projeto pode ser chamado de parcialmente source-available
    • É All Rights Reserved (ARR)
  • Dá para recomendar este dispositivo a quem está começando a aprender eletrônica
    Recebi um no Hackerbox 102[1] e achei que ele oferece um bom valor pelo preço em relação à largura de banda
    Conversando com amigos engenheiros, ouvi reações previsíveis como “é só um brinquedo”, e ele claramente tem muitas limitações
    Mas, mesmo dentro dessas limitações, há muitas oportunidades para ensinar temas como eletrônica analógica, em que o melhor é aprender vendo os sinais diretamente
    Quem está começando muitas vezes nem sabe por que precisa de um osciloscópio, então é uma forma bem boa de apresentar a ferramenta sem enfrentar uma grande curva de aprendizado por causa de recursos que não serão usados no primeiro ano de estudo :-)
    Mais tarde, ao escolher um dos bons equipamentos de bancada, a pessoa também não estará completamente perdida sobre o que as funções de um osciloscópio fazem
    Por isso, por 20 dólares, considero um bom custo-benefício e tenho recomendado a quem está começando a aprender esse tipo de coisa
    [1] https://hackerboxes.com/collections/past-hackerboxes/products/hackerbox-0102-flea-scope e o guia de experimentos https://www.instructables.com/HackerBox-0102-Flea-Scope/

  • Lembra o EspoTek Labrador, que fica numa faixa de preço parecida
    https://espotek.com/labrador/

  • A arquitetura híbrida FPGA/MCU do Flea-Scope para streaming USB é inteligente. Processar a captura de 100 MS/s com pipelining no FPGA e deixar a conversão de protocolo para o STM32 parece bom em termos de custo
    Mas a resolução de 8 bits do ADC e a ausência de rede de proteção de entrada são arriscadas em sinais não atenuados, em comparação com o front-end 1 MΩ//20 pF da Rigol e o clamp de sobretensão
    A ferramenta de análise em Python que usa NumPy/SciPy para FFT em vez de DSP embutido é uma divisão de recursos interessante, e parece que em breve também veremos Jupyter

    • Não sei se vimos o mesmo documento. Não há FPGA, e não é STM32, mas sim PIC32MK0512GPK064
      Além disso, não chega nem perto de 100 Msps; são apenas 18 Msps, e a especificação é de 12 bits
      Fico me perguntando se o comentário foi escrito com ajuda de IA ou se está falando de outro dispositivo
    • As especificações dizem 12 bits