Выход → DigiSpark (no USB bootloader) ??

Qwen3-Next-80B-A3B
Отличный и очень важный вопрос — вы затронули ключевую тонкость, которая сбивает с толку даже опытных пользователей.
❓ Что означает:
"Выход → DigiSpark (no USB bootloader)"
...и почему он используется при записи загрузчика на ATtiny85?
✅ Краткий ответ:
“DigiSpark (no USB bootloader)” — это не название платы, а настройка загрузчика в библиотеке ATTinyCore.
Она говорит Arduino IDE:
«Запиши на ATtiny85 загрузчик Micronucleus, который позволяет программировать его по USB, как DigiSpark — но без предустановленного USB-загрузчика».
То есть — это способ записать именно тот самый загрузчик, который делает ATtiny85 совместимым с USB-программированием.
Подробное объяснение
Что такое Micronucleus?
Это легковесный USB-загрузчик для ATtiny85, разработанный специально для миниатюрных плат вроде DigiSpark.
Он:
- Использует USB-интерфейс через V-USB (программную эмуляцию USB)
- Позволяет загружать скетчи напрямую через Micro-USB, без внешнего программатора
- Занимает ~2 кБ флеш-памяти
- Автоматически запускается при включении питания (или сбросе)
Без этого загрузчика ATtiny85 не отвечает по USB — он просто молчит, как "голый" чип.
Почему в меню стоит "DigiSpark (no USB bootloader)"?
Потому что в ATTinyCore есть два режима записи загрузчика:
|
ОПЦИЯ |
НАЗНАЧЕНИЕ |
|
DigiSpark (no USB bootloader) |
⚠️Используйте ЭТОприпервой записи загрузчиканаголый ATtiny85— записываетбазовый Micronucleus(тот, что работает на 16.5 МГц) |
|
DigiSpark (with USB bootloader) |
✅ Используйтетолько после того, как загрузчик уже записан— для обновления или перезаписи (обычно не нужен) |
❗ Это название может вводить в заблуждение — ведь вы не подключаете настоящий DigiSpark!
Но внутри ATTinyCore эта опция — единственный способ записать Micronucleus.
Процесс записи загрузчика: Почему именно так?
Вот правильная последовательность:
🟡 Шаг 1: Первичная прошивка — записываем базовый загрузчик
- Частота: 8 MHz (internal)
- Выход: DigiSpark (no USB bootloader)
- Программатор: Arduino as ISP
→ Arduino IDE записывает файл:
.../bootloaders/micronucleus/t85_entry_on_power_on_no_pullup_fast_exit_on_no_USB.hex
✅ Этот загрузчик:
- Устанавливает фьюзы на 8 МГц
- Записывает первую версию Micronucleus, готовую к обновлению
- Не использует USB пока — но готов к нему
После этого ATtiny85 ещё не умеет работать по USB — но теперь он может быть обновлён до полноценного USB-режима.
🟢 Шаг 2: Обновление до USB-режима — пишем финальный загрузчик
- Частота: 16.5 MHz (internal) ← обязательно!
- Выход: DigiSpark (no USB bootloader) ← опять же!
- Программатор: Arduino as ISP
→ Arduino IDE записывает файл:
.../bootloaders/micronucleus/upgrade-t85_entry_on_power_on_no_pullup_fast_exit_on_no_USB.hex
✅ Этот загрузчик:
- Переходит на 16.5 МГц (реальная частота, которую поддерживает V-USB)
- Активирует USB-интерфейс
- Теперь ATtiny85 полностью превращается в DigiSpark
⚠️ Важно:
Вы НЕ выбираете «DigiSpark (with USB bootloader)» — потому что он предназначен только для обновления уже работающего загрузчика, а не для первоначальной установки!
Таблица: Какие опции использовать и когда
|
ВАША СИТУАЦИЯ |
ЧАСТОТА |
ВЫБОР В МЕНЮ |
ПОЧЕМУ? |
|
Голый ATtiny85(никогда не прошивался) |
8 МГц |
DigiSpark (no USB bootloader) |
Записывает начальный загрузчик + фьюзы |
|
Уже есть начальный загрузчик |
16.5 МГц |
DigiSpark (no USB bootloader) |
Обновляет до USB-версии |
|
ATtiny85 уже работает как DigiSpark(например, в HW-260) |
16.5 МГц |
DigiSpark (no USB bootloader) |
Для перезаписи / обновления |
|
Хочешь просто залить скетч(уже есть загрузчик!) |
16.5 МГц |
DigiSpark (no USB bootloader) |
Выбираете эту же опцию — онаактивирует USB-интерфейс |
Совет: Всегда выбирайте DigiSpark (no USB bootloader) — даже если вы хотите USB-функциональность.
Другая опция (with USB bootloader) не работает на голых чипах — она только для обновления уже прошитого устройства.
Почему не выбрать “DigiSpark (with USB bootloader)”?
Потому что:
- Эта опция ожидает, что на чипе уже есть старый загрузчик Micronucleus.
- Если вы попытаетесь записать её на голый ATtiny85 — получите ошибку:
1
2
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override this check.
- Это не ошибка подключения — это несовместимость загрузчиков.
Пример: Что происходит внутри
[Голый ATtiny85]
↓
[Запись загрузчика на 8 МГц → "DigiSpark (no USB bootloader)"]
↓
[ATtiny85 теперь имеет базовый Micronucleus — но ещё не по USB]
↓
[Смените частоту на 16.5 МГц]
↓
[Запишите снова "DigiSpark (no USB bootloader)"]
↓
[ATtiny85 теперь имеет полный USB-загрузчик — работает как DigiSpark!]
↓
[Вставьте в HW-260 → подключите к USB → загружайте скетчи как обычную плату!]
?? Всё это — одна и та же опция: DigiSpark (no USB bootloader)
Только меняется частота и последовательность.
✅ Резюме: Что выбрать и зачем?
|
ЧТО ВЫ ХОТИТЕ СДЕЛАТЬ? |
ЧТО ВЫБРАТЬ В ARDUINO IDE |
|
Записать загрузчик на новый, пустой ATtiny85 |
✅DigiSpark (no USB bootloader)+8 МГц |
|
Сделать его USB-совместимым (как DigiSpark) |
✅DigiSpark (no USB bootloader)+16.5 МГц |
|
Обновить уже работающий DigiSpark/HW-260 |
✅DigiSpark (no USB bootloader)+16.5 МГц |
|
Просто залить скетч на уже прошитый ATtiny85 |
✅DigiSpark (no USB bootloader)+16.5 МГц |
Никогда не выбирайте DigiSpark (with USB bootloader) — она не работает на новых чипах.
Бонус: Почему так странно названо?
Разработчики ATTinyCore использовали имя “DigiSpark”, потому что:
- Micronucleus был создан для DigiSpark.
- Они не хотели создавать отдельные названия для каждой конфигурации.
- Поэтому они сделали одну опцию, которая в зависимости от частоты выполняет разные действия:
- На 8 МГц — инициализация
- На 16.5 МГц — активация USB
Это не идеально — но работает.
✅ Финальный совет
Запомните правило:
«DigiSpark (no USB bootloader) — это единственный правильный выбор для записи загрузчика на ATtiny85.
Частота решает, будет ли это просто подготовка или полноценный USB-режим.»
Вы не выбираете плату — вы выбираете загрузчик.
И этот загрузчик — Micronucleus, который превращает ваш ATtiny85 в USB-устройство.
Теперь вы знаете, почему эта строчка в меню существует — и как ею правильно пользоваться 😊
Выход: DigiSpark (no USB bootloader) ← опять же! Где мы это видим и что настраиваем?

Qwen3-Next-80B-A3B7:36 PM
Отличный уточняющий вопрос — вы находитесь на самом ключевом этапе прошивки ATtiny85, и именно здесь многие теряются. Давайте разберёмся до мелочей:
Где именно находится эта опция в Arduino IDE?
✅ Что она настраивает?
Как её выбрать правильно?
✅ Ответ кратко:
Опция DigiSpark (no USB bootloader) находится в меню Инструменты → Выход (или Board) в Arduino IDE — после того, как вы выбрали плату ATtiny85.
Она не выбирает физическую плату, а выбирает тип загрузчика, который будет записан на ATtiny85 — именно тот, что позволяет ему работать по USB как DigiSpark.
Шаг 1: Где найти эту опцию? (Пошагово с картинками в тексте)
1. Подключите Arduino Mega/Uno к ПК → запустите Arduino IDE
2. Убедитесь, что установлено ATTinyCore
- Инструменты → Платы → Менеджер плат
- Найдите ATTinyCore → установите последнюю версию (1.5.2+)
⚠️ Не используйте старую библиотеку damellis/attiny — она не поддерживает Micronucleus!
3. Выберите плату ATtiny85
- Перейдите: Инструменты → Плата → ATtiny85
✅ После этого появится новое подменю — "Выход" (Variant)
4. Теперь найдите опцию:
Инструменты → Выход → DigiSpark (no USB bootloader)
Вот где вы это видите:
1
2
3
4
5
Инструменты
├── Плата: ATtiny85
├── Частота: 8 MHz (internal) ← Здесь вы выбираете частоту
├── Программатор: Arduino as ISP ← Здесь вы выбираете программатор
└── Выход: DigiSpark (no USB bootloader) ← 🔥 ЭТО ТА САМАЯ ВАЖНАЯ ОПЦИЯ!
?? Если вы не видите “Выход” — значит, вы ещё не выбрали ATtiny85 как плату.
Только после выбора ATtiny85 появляется меню "Выход".
📌 Что делает эта опция? (На уровне прошивки)
|
НАСТРОЙКА |
ЧТО ПРОИСХОДИТ |
|
DigiSpark (no USB bootloader) |
Arduino IDEзаписывает на ATtiny85 специальный загрузчик Micronucleus, который: |
|
- ИспользуетV-USB(программную эмуляцию USB) |
|
- Занимает ~2 КБ флеш-памяти |
|
- Автоматически запускается при включении питания |
|
- Позволяетзагружать скетчи через Micro-USB без внешнего программатора |
|
-Не требует наличия USB-загрузчика на чипе— то есть работает даже наголыхATtiny85 |
🔧 Это не драйвер и не настройка порта — это файл .hex, который записывается в начало флеш-памяти ATtiny85.
Файл называется:
t85_entry_on_power_on_no_pullup_fast_exit_on_no_USB.hex (начальная версия)
или
upgrade-t85_entry_on_power_on_no_pullup_fast_exit_on_no_USB.hex (обновленная версия)
⚙️ Почему именно “no USB bootloader”? Это же странно!
Да, название вводит в заблуждение — но оно историческое:
|
НАЗВАНИЕ |
ЧТО НА САМОМ ДЕЛЕ ЗНАЧИТ |
|
DigiSpark (no USB bootloader) |
«Запиши загрузчик Micronucleus, которыйсоздаётUSB-интерфейс — даже если его раньше не было» |
|
DigiSpark (with USB bootloader) |
«Обнови уже существующий загрузчик Micronucleus» —только для уже прошитых чипов! |
💬 Это как назвать кнопку “Установить Windows” как “Установить Windows (без Windows)” — потому что ты первый раз ставишь.
🔁 Когда и как использовать эту опцию? (Правильная последовательность)
Вот единственно правильная цепочка действий:
🟡 Шаг 1: Первоначальная прошивка (на голом ATtiny85)
- Плата: ATtiny85
- Частота: 8 MHz (internal)
- Программатор: Arduino as ISP
- Выход: DigiSpark (no USB bootloader) ← ✅ ВЫБИРАЕТЕ ЭТО!
→ Записывается базовый загрузчик
→ Фьюзы настраиваются на 8 МГц
→ USB пока не работает — но чип теперь готов к обновлению
✅ После этого светодиод на ATtiny85 может мигать — это признак успешной записи.
🟢 Шаг 2: Активация USB (ключевой момент!)
- Плата: ATtiny85 (остаётся та же!)
- Частота: 16.5 MHz (internal) ← ВАЖНО! Измените!
- Программатор: Arduino as ISP (остаётся)
- Выход: DigiSpark (no USB bootloader) ← ✅ ОПЯТЬ ЭТО!
→ Arduino IDE перезапишет загрузчик на обновлённую версию, которая:
- Переключает тактовую частоту на 16.5 МГц (реально необходимая для V-USB)
- Активирует USB-интерфейс
- Теперь ATtiny85 полностью превращается в DigiSpark
💡 Это не новая опция — это та же самая, но при другой частоте!
Именно поэтому никогда не меняйте “Выход” — только частоту.
🔵 Шаг 3: Загрузка скетча (после успешной прошивки загрузчика)
- Плата: ATtiny85
- Частота: 16.5 MHz (internal)
- Программатор: Arduino as ISP → Но!
- Выход: DigiSpark (no USB bootloader) ← ВСЁ ЕЩЁ ЭТО!
❗ Почему не "USBasp"?
Потому что теперь ATtiny85 сам становится USB-устройством — он не нуждается в программаторе!
Но Arduino IDE всё ещё требует выбрать "Arduino as ISP", чтобы начать процесс загрузки.
✅ После нажатия "Загрузить":
- Arduino IDE ждёт 5–7 секунд
- Подключите HW-260 (или ATtiny85) к USB
- Через 1–2 секунды — скетч загрузится!
💡 Это работает так же, как DigiSpark — вы просто вставляете плату в USB, и она сама принимает код.
📊 Таблица: Какие настройки использовать в каждом случае
|
ЭТАП |
ПЛАТА |
ЧАСТОТА |
ПРОГРАММАТОР |
ВЫХОД |
|
1. Первичная прошивка (голый ATtiny85) |
ATtiny85 |
8 MHz |
Arduino as ISP |
✅DigiSpark (no USB bootloader) |
|
2. Активация USB |
ATtiny85 |
16.5 MHz |
Arduino as ISP |
✅DigiSpark (no USB bootloader) |
|
3. Загрузка скетча (уже работает как DigiSpark) |
ATtiny85 |
16.5 MHz |
Arduino as ISP |
✅DigiSpark (no USB bootloader) |
|
4. Обновление загрузчика (если сломался) |
ATtiny85 |
16.5 MHz |
Arduino as ISP |
✅DigiSpark (no USB bootloader) |
❌ Никогда не используйте DigiSpark (with USB bootloader) — он не работает на новых чипах!
🖼️ Визуальное представление (как это выглядит в Arduino IDE)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Инструменты]
│
├── Плата: ATtiny85 ← ✅ ОБЯЗАТЕЛЬНО ВЫБРАНО!
│
├── Частота: [▼] ← Выбираете: 8 MHz → потом 16.5 MHz
│ ├── 1 MHz
│ ├── 8 MHz (internal) ← Шаг 1
│ └── 16.5 MHz (internal) ← Шаг 2 и 3
│
├── Программатор: [▼] ← Выбираете: Arduino as ISP
│ ├── Arduino as ISP
│ ├── USBasp
│ └── ...
│
└── Выход: [▼] ← 🔥 ВСЕГДА: DigiSpark (no USB bootloader)
├── DigiSpark (no USB bootloader) ← ✅ ВЫБИРАЕТЕ ЭТО ВСЕГДА!
└── DigiSpark (with USB bootloader) ← ❌ НЕ ИСПОЛЬЗУЙТЕ!
⚠️ Если вы не видите “Выход” — значит, вы не выбрали ATtiny85 как плату.
💡 Бонус: Что делать, если вы ошиблись?
|
ПРОБЛЕМА |
РЕШЕНИЕ |
|
Ошибка: device not found при загрузке скетча |
Вы забыли переключить частоту на16.5 МГц— сделайте это и попробуйте снова |
|
Ошибка: programmer is not responding |
Проверьте: |
- Правильно ли подключены пины (Mega: D50–D53)
- Загружен ли скетч ArduinoISP на Arduino
- Есть ли резистор 10 Ом между D53 и GND | | Светодиод не мигает после записи | Возможно, вы записали загрузчик, но не переключили частоту — повторите шаг 2 | | Опция “Выход” не появляется | Убедитесь, что вы выбрали ATtiny85 — а не Uno/Nano. Перезапустите Arduino IDE, если нужно. |
✅ Финальный совет: Запомните правило
🔖 «Всегда выбирайте DigiSpark (no USB bootloader) — и меняйте только частоту.
Частота 8 МГц — для подготовки.
Частота 16.5 МГц — для USB-режима.
Ни один другой вариант не работает на новых ATtiny85.»
🎯 Почему это гениально?
Это умный трюк от разработчиков ATTinyCore:
- Они используют одну опцию, чтобы сделать два действия:
- Установить базовый загрузчик
- Обновить его до USB-режима
- Это упрощает жизнь — вам не нужно помнить 3 разных файла.
- Вы не путаетесь между “загрузчик”, “фьюзы”, “прошивка” — всё в одном месте.
📌 Заключение
Опция DigiSpark (no USB bootloader) находится в меню Инструменты → Выход — и её нужно выбирать всегда, когда вы пишете загрузчик на ATtiny85.
Она не выбирает плату, а выбирает тип прошивки — ту самую, что превращает ваш ATtiny85 в USB-устройство.
Ваша задача — не менять эту опцию. Ваша задача — менять только частоту.
✅ 8 МГц → запись базового загрузчика
✅ 16.5 МГц → активация USB и работа как DigiSpark/HW-260
Теперь вы знаете не только где, но и почему — и сможете прошивать ATtiny85 уверенно и без ошибок 😊