Skip to content

biosshot/NanoScope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NanoScope — цифровой осциллограф на базе RP2040

NanoScope Banner

NanoScope — компактный самодельный цифровой осциллограф на базе микроконтроллера RP2040. Предназначен для любителей, студентов и всех, кто работает с электроникой и хочет иметь простой инструмент для анализа сигналов.

EasyEDA Проект GitHub Репозиторий


📌 Основные возможности

  • Рабочая полоса: уверенная работа с сигналами до 2–5 МГц
  • Два канала для одновременного просмотра сигналов
  • Регулируемый аттенюатор: 1x, 1/2x, 1/5x, 1/10x
  • Аппаратный триггер для стабильного отображения периодических сигналов
  • 8-битный АЦП AD9288BSTZ-100 (100 MSPS)
  • Глубина буфера: 8096 отсчётов
  • Питание: от USB или аккумулятора (до ~4 часов)
  • Дисплей: встроенный LCD
  • Микроконтроллер: RP2040 (133 МГц)
  • Память: 16 Мб внешней флеш-памяти W25Q16JVUXIQ (QSPI)

⚙️ Технические характеристики

Компонент Параметр
МК RP2040, 133 МГц
АЦП AD9288BSTZ-100, 8 бит, 100 MSPS
Память W25Q16JVUXIQ, 16 Мб, QSPI
Полоса пропускания до 5 МГц (реальная)
Входное сопротивление ~500 кОм
Точность измерения напряжения ≤ 1%
Дисплей ЖК-дисплей
Питание USB или Li-Ion аккумулятор (3.7 В)

🔧 Как это работает

  1. Входной каскад: сигнал поступает через BNC-разъём, проходит через частотно-компенсированный аттенюатор с защитой от перенапряжения.
  2. Усиление: после аттенюации сигнал усиливается операционным усилителем для оптимального уровня на входе АЦП.
  3. Аттенюатор: программируемый, 4 ступени (1x, 1/2x, 1/5x, 1/10x), управление через микросхему 74HC4051D.
  4. Разделение сигнала:
    • Основной путь — на АЦП AD9288BSTZ-100
    • Второй путь — на аппаратный триггер
  5. Аппаратный триггер: работает по принципу ШИМ — ширина импульсов зависит от уровня напряжения, формируется логический сигнал для прерывания на RP2040.
  6. RP2040:
    • Считывание данных с АЦП
    • Управление мультиплексорами и демультиплексорами
    • Контроль дисплея и обработка кнопок
    • Расширение GPIO через сдвиговые регистры 74HC595D (3 пина → 16 выходов)

🛠️ Сборка

1. Печатная плата

2. Пайка компонентов

  • Установите все элементы согласно схеме
  • Особое внимание — полярным компонентам (конденсаторы, диоды, микросхемы)
  • Хорошо пропаяйте BNC-разъёмы и разъём питания
  • Проверьте отсутствие КЗ и обрывов

3. Загрузка прошивки

Настройка TFT_eSPI

ОБЯЗАТЕЛЬНО замените .pio\libdeps\pico\TFT_eSPI\User_Setup.h на include\User_Setup.h

Вариант 1: Готовая прошивка (рекомендуется для новичков)

  • Перейдите в раздел Releases на GitHub:
    https://github.com/ShinoBIOS/NanoScope/releases
  • Скачайте файл firmware.uf2
  • Зажмите кнопку BOOT на плате
  • Подключите устройство к компьютеру через USB
  • Отпустите кнопку BOOT — устройство появится как флешка (RPI-RP2)
  • Скиньте firmware.uf2 в этот диск — прошивка загрузится автоматически

Вариант 2: Сборка своей прошивки

  • Установите VS Code с плагином PlatformIO
  • Клонируйте репозиторий:
    git clone https://github.com/ShinoBIOS/NanoScope.git
  • Откройте папку в VS Code
  • Нажмите "Build" — PlatformIO сам соберёт прошивку
  • После сборки — "Upload" для прошивки через USB

💻 Использование

  1. Для включения зажмите центральную кнопку на 2 сек
  2. Для выключения зажмите центральную кнопку на 2 сек, до появления надписи "Shutdown..."
  3. Управление:
    • Кнопки: масштаб по времени/напряжению, триггер, выбор канала
    • Регулируемый аттенюатор — автоматически подстраивается под сигнал
  4. На экране отображаются:
    • Форма сигнала
    • Частота, амплитуда, период

⚠️ Важные замечания

  • Реальная полоса — 2–5 МГц
  • При работе с высокочастотными сигналами может потребоваться калибровка переменных конденсаторов (U12, U15, U18, U22)
  • Малые сигналы могут быть зашумлены
  • Триггер базовый
  • Входы защищены, но не предназначены для высокого напряжения

📸 Фото устройства

NanoScope 1 NanoScope 2 NanoScope 3 NanoScope 3


🤝 Вклад в проект

Приветствуются:

  • Баг-репорты
  • Обратная связь
  • Фото ваших сборок

Примечание: NanoScope — это любительское устройство. Не предназначен для профессиональных измерений и критически важных задач.

About

NanoScope is a compact, DIY digital dual-channel oscilloscope based on the RP2040 microcontroller. The project is aimed at radio enthusiasts, students, and anyone interested in electronics.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors