Прикупил я случайно в Китае плату Arduino UNO для опытов. Оказалось что это творение сумрачного гения почему-то вместо микроконтроллера ATmega328 построено на базе ATmega8A. Обидно, но для моих экспериментов это не имеет никакого значения. Вопрос был только в том, как заставить это работать. Оказалось что очень просто:

В Linux драйвер последовательного порта обнаруживает сей девайс без каких-либо проблем по умолчанию. В Windows все несколько сложнее: по умолчанию порт не видится в системе. Для решения это проблемы необходимо пройти по ссылке https://wch-ic.com/download/list.asp?id=126, скачать и установить драйвер для микросхемы порта CH340. После этого порт немедленно обнаружится и будет готов к работе.
Дальше самое интересное – необходимо заставить работать с микроконтроллером Arduino IDE. Для этого нужно добавить описание этого чуда в файл boards.txt. В Linux он обычно находится в каталоге /usr/share/arduino/hardware/arduino/, а в Windows его следует искать в папке C:\Program Files (x86)\Arduino\hardware\arduino.
Добавить к конец файла boards.txt нужно следующие строки:
opti8.name=Arduino Optiboot8
opti8.upload.protocol=arduino
opti8.upload.maximum_size=7680
opti8.upload.speed=115200opti8.bootloader.low_fuses=0xbf
opti8.bootloader.high_fuses=0xcc
opti8.bootloader.path=optiboot
opti8.bootloader.file=optiboot_atmega8.hex
opti8.bootloader.unlock_bits=0x3F
opti8.bootloader.lock_bits=0x0Fopti8.build.mcu=atmega8
opti8.build.f_cpu=16000000L
opti8.build.core=arduino
opti8.build.variant=standard
После этого остается только выбрать в Arduino IDE плату с именем Arduino Optiboot8, и можно приступать к работе.
Спасибо! Помогло!!! ))))))
Пожалуйста 🙂
Огромное спасибо. Работает. драйвер установился. Китаец начал работать. 🙂
Удачного творчества 🙂
Спасибо тебе большое.
Моя китайская плата заработала!!!
Еще раз тебя благодарю:)
Пожалуйста 🙂
Спасибо Вам огромное!!!
Шел четвертый час заводки с толкача этого чудо, большое спасибо тебе, добрый человек)
все как надо сделал, выбрал плату, пишет ошибку компиляции file included from C:\Users\Maxim\Downloads\arduino-1.5.6-r2-windows (1)\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino\HardwareSerial.cpp:32:
C:\Users\Maxim\Downloads\arduino-1.5.6-r2-windows (1)\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino\/HardwareSerial_private.h: In member function ‘void HardwareSerial::_rx_complete_irq()’:
C:\Users\Maxim\Downloads\arduino-1.5.6-r2-windows (1)\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino\/HardwareSerial_private.h:98: error: ‘UPE’ was not declared in this scope
This report would have more information with
“Show verbose output during compilation”
enabled in File > Preferences.
Спасибо, товарищ! Все заработало.
Огромное спасибо! Всё заработало!
Спасибо. заработало. правда у меня стоит все-таки ATmega328 и последнее действие не пришлось делать. Подскажите, пожалуйста, как его в DFU загнать?
Не знаю. У меня пока не было необходимости этим заниматься.
Брал тут Китайская платка Ардуино. В 1.5.6 среде выдает как тут уже и говорил Макс ‘UPE’ was not declared in this scope. Как лечить?
вдогонку — а в 1.0.5 среде все нормально…
Не знаю. Я с такой проблемой не сталкивался.
Сделал все как написано, но выдавало ошибку как уже описывалось выше. Почитав комментарии решил попробовать перебрать версии Arduino. Изначально была установлена Arduino 1.0.5 r2, заменил на Arduino 1.0.4 и все заработало. Спасибо большое Автору за статью и всем кто писал комментарии!