- Connecting an SKR v1.4 or v1.4T via an ESP8266 WiFi Adapter
- Firmware File
- ESP8266 WiFi
- BOM
- Preparing the ESP8266
- Connecting the ESP8266
- Prepare the SD Card
- Board.txt file
- Updating the ESP8266 by RRF
- Smart Drivers
- Sensorless Homing
- Driver Diag Pin
- Board.txt Location
- Final Setup
- Once up and running
- ESP как usb адаптер
- Сергей_Ф
- sinok
- Сергей_Ф
- sinok
- powar
- sinok
- Сергей_Ф
- sinok
- allmeer
- powar
- CodeNameHawk
- powar
- CodeNameHawk
- powar
- qwertyuiop00
- Беспроводной адаптер для программирования Arduino или AVR с загрузчиком на базе ESP8266
Connecting an SKR v1.4 or v1.4T via an ESP8266 WiFi Adapter
The SKR 1.4 is an LPC1768 based board and the v1.4T is an LPC1769 based board. They have the same pinout etc, only the MCU (micro controller unit) is different. All tasks are applicable to both the SKR v1.4 and SKR v1.4T.
Firmware File
Choose the correct corresponding firmware (firmware-lpc-wifi-XXX.bin) from here. Remember to rename it to firmware.bin. Put it in the root of a FAT32 formatted SD card.
ESP8266 WiFi
Use a nodemcu ESP8266 with USB programming as it already 5v tolerant and it allows for updating via USB.
Tip: If you would prefer a premade adapter to enable WiFi, TeamGloomy have created a plugin WiFi adapter board for the SKR v1.4. It can be purchased on tindie here
BOM
- 1 x nodemcu ESP8266 or Wemos D1 mini
- 3 x 47R resistor
- 1 x 470R resistor
- 3 x 2200R resistor
- jumpers or other ways of connecting to the SKR
Preparing the ESP8266
Connecting the ESP8266
The pinout for the SKR v1.4 can be found here and the schematic for the Duet 2 WiFi for reference can be found here.
The table below shows the pins required on the ESP8266 and what they are connected to on the SKR. Please ensure that your cables are no longer than 30cm although they should ideally be as short as possible.
ESP8266 Pin | SKR Pin | Resistor Value |
---|---|---|
RST | 1.31 on EXP2 | 470R |
CS/GPIO15 | 0.16 on EXP2 | 2200R |
MOSI/GPIO13 | 0.18 on EXP2 | 47R |
MISO/GPIO12 | 0.17 on EXP2 | 47R |
SCLK/GPIO14 | 0.15 on EXP2 | 47R |
ESP_DATA_Ready/GPIO0 on EXP1 | 0.28 | 2200R |
LPC_DATA_Ready/GPIO4 on EXP1 | 1.30 | None |
VIN(5v) | 5v on EXP1 | None |
GND | GND on EXP1 | 2200R to RST |
Discord user themarinus has created this image to aid in creating your own WiFi adapter.
Prepare the SD Card
Follow the instructions on Getting Started with RRF3
Board.txt file
You will also need a board.txt file in the sys folder. Below are the contents that should be used.
//Config for BIQU SKR v1.4 board = biquskr_1.4 //WiFi pins 8266wifi.espDataReadyPin = 0.28 8266wifi.TfrReadyPin = 1.30 8266wifi.espResetPin = 1.31 heat.tempSensePins =
Updating the ESP8266 by RRF
If you have a WiFi adapter that supports updating via RRF, you need to add the following information to the board.txt file.
8266wifi.serialRxTxPins = < 4.29, 4.28 >serial.aux.rxTxPins =
Smart Drivers
If using TMC22XX drivers (thats either the TMC2208, TMC2209, TMC2225 or TMC2226), the following line must also be added to the board.txt file
stepper.numSmartDrivers = X
Where X is the number of drivers fitted. The drivers must be continuous and start at unit 0. So, for the SKR board, if you have say 3 TMC2208s and 1 other driver, the 2208s must be in slots 0, 1, 2 and the remaining driver in slot 3 or 4. You can use RRF to assign any of those slots to an axis/extruder.
Sensorless Homing
If using sensorless homing/stall detection (supported by only the TMC2209 or TMC2226), the following line must be added to the board.txt file.
Please only include the diag pin numbers where you intend to use sensorless homing on that axis. For example, if you only intend to use sensorless homing/stall detection on driver 0 and driver 1, only include 1.29 and 1.28 in your board.txt file.
For more information about setting up sensorless homing, please read this.
Driver Diag Pin
The driver diag pin is used for sensorless homing and stall detection.
The SKR v1.4 does not have a way of disabling the diag pin. If you plan on using endstops rather than sensorless homing, you need to bend or remove the diag pin.
Board.txt Location
Place the board.txt file in a directory called “sys” on the SD card and install the SD card in the SKR v1.4.
Final Setup
Once connected, power up the board using 12-24v and connect to the USB port on the board. Using a program such as putty. Follow the instructions here to set it up for RRF. Then type in the following
If updating the ESP32 using RRF, type the following.
M997 S1
Wait for the uploading of the WiFi firmware to finish. Then send the following
M552 S-1
Continue with the instructions below.
M552 S0 M587 S"your SSID" P"your password" M552 S1
Warning: DO NOT USE PRONTERFACE it will convert all text to upper case. If you really must, please do the following.
If you wanted to use “PassWord”, you would write P”P’a’s’sW’o’r’d” with the ‘ indicating the following letter should be lower case. Explanation here.
The blue light on the WiFi chip shoould then flash blue and will go solid when a connection has been established. The ip address will be shown on the serial connection. It is also possible to type just M552 to get the current ip address reported back.
The final thing to do is add the line “M552 S1” to your config file. This can be done through the web interface. This just ensures that the WiFi connection is started at start up. There is no need to add the M587 command as this is written permanently to the flash of the ESP8266 chip.
Once up and running
You will need to PID tune your tools and your bed. Please be aware that bed tuning may take up to an hour and tool tuning normally takes around 15 minutes. If it takes longer, that is also fine as up to 30 cycles may be ran.
To tune the bed, run the following command, changing the temperature (the S value) if a different tuning temperature is required.
To tune each tool, run the following command, changing the temperature (the S value) if a different tuning temperature is required. This proceedure will activate the part cooling fans during the final phase of the tuning process so their effect is taken into account. If your printer has more than one tool, make sure each one of them is tuned.
Once the tuning is complete, either copy the M307 command into the heater definitions or send M500, ensuring you have M501 at the end of your config.g.
If the tuning fails at the end, carry on saving the values as in most cases the outputted values still work correctly.
If the values still result in a heater fault, please refer to this wiki page for information about how to adjust the values manually.
©2023 TeamGloomy. All rights reserved.
Page last updated: 15/07/2021
Site last generated: Jul 15, 2023
ESP как usb адаптер
Здравствуйте. Подскажите, а можно ли использовать модуль как обычный usb адаптер под windows(10)? Интернету нет, а вот модулей аж 2 штуки esp-01 валяются.
Сергей_Ф
Moderator
sinok
New member
Сергей_Ф
Moderator
sinok
New member
@Сергей_Ф Интернет есть) Просто он раздается через роутер. В пк был воткнут такой вот адаптер ( UPVEL UA-222NU: Миниатюрный Wi-Fi USB-адаптер стандарта 802.11n 300 Мбит/с ), который и принимал этот Wifi, но сегодня днем он сломался.
Вот и пришла в голову мысль сделать что-нибудь на основе esp.
powar
New member
@Сергей_Ф Интернет есть) Просто он раздается через роутер. В пк был воткнут такой вот адаптер ( UPVEL UA-222NU: Миниатюрный Wi-Fi USB-адаптер стандарта 802.11n 300 Мбит/с ), который и принимал этот Wifi, но сегодня днем он сломался.
Вот и пришла в голову мысль сделать что-нибудь на основе esp.
Если есть телефон на андроид, можно попробовать настроить USB tethering — это когда телефон подключается USB кабелем к компу и выступает в роли модема, получая интернет через Wi-Fi.
sinok
New member
Если есть телефон на андроид, можно попробовать настроить USB tethering — это когда телефон подключается USB кабелем к компу и выступает в роли модема, получая интернет через Wi-Fi.
Сергей_Ф
Moderator
@sinok нужно подключить esp к ПК через, usb-адаптер, написать драйвер ndis для windows, написать программу для esp и тогда сможете воспользоваться. Но по моему проще дойти до ближайшего магазина и купить шнурок или wifi-адаптер.
sinok
New member
allmeer
New member
Страные советы подключи андроид или купи адаптер, а что же тогда делать с esp-шками? Зачем тогда форум?
powar
New member
Страные советы подключи андроид или купи адаптер, а что же тогда делать с esp-шками? Зачем тогда форум?
Если бы у человека стояла задача именно через ESP получать интернет, обсуждение темы было бы оправдано. Смотри, кресло не прожги.
CodeNameHawk
Moderator
powar
New member
CodeNameHawk
Moderator
powar
New member
qwertyuiop00
New member
Кучка дэ_би_л_о_в , не_На_вижу таких людей, человек спросил как, и всё. Ему не важны ваши рассуждения на тему «А вот так лучше будет» «а зачем,если можно купить» «зачем если интернета нету»(да б/\я,может поэтому его и нету?! потому что модуля нету,и такие муд_ни как вы вместо того что бы помочь только флудят и срут на форуме) , зачем лезть если не знаете?! Бе_сите прросто (даже зарегистрировался что бы сказать вам что вы ид_от_ы(не все))
p.s. Держи полная инструкция
Беспроводной адаптер для программирования Arduino или AVR с загрузчиком на базе ESP8266
Небольшая заметка о самодельном адаптере на базе ESP8266, позволяющем загрузить прошивку в микроконтроллер с установленным UART загрузчиком или Arduino.
Последнее время при проектировании устройств на микроконтроллерах AVR, для программирования вывожу только один 6-пиновый разъем (не ISP) для FTDI адаптера. Он позволяет и загрузить прошивку, и отладиться по UART после прошивки. Именно так сделано в Arduino, идея позаимствована оттуда. Это удобно.
Тем временем, не раз приходилось сталкиваться с ситуацией, когда нужно загрузить прошивку в микроконтроллер, но он уже в корпусе который не помещается на рабочем месте/лежит на антресоли/в другом городе/замурован в стену. В таких случаях адаптер FTDI не применим из-за короткого USB шнурка и приходилось изворачиваться с ноутбуком. Задумался о беспроводном программаторе. Тут как нельзя лучше подойдет ESP8266, ведь он обладает UART и в любом исполнении имеет хотя бы один GPIO, пригодный для перезагрузки контроллера и входа в режим программирования.
В сети был найден следующий материал по теме:
- Programming an Arduino via WiFi with the ESP8266 — модуль типа ESP-01 подключается на проводках к Arduino pro mini, затем для загрузки прошивки используется python скрипт
- Programando un Arduino remotamente con el módulo ESP8266 — тут, как я понял, не вдаваясь в подробности, один из GPIO Arduino соединен с RESET. Сначала микроконтроллеру передается команда перезагрузить себя самого, а потом уже начинается загрузка прошивки
- ESP8266-transparent-bridge — прошивка для ESP8266 делающая из модуля прозрачный Wi-Fi — UART мост с поддержкой AT команд для управления GPIO2. Автор предлагает нажимать кнопку reset на Arduino, а затем запускать avrdude c параметрами -c avrisp и -P net:x.x.x.x:23, но это позволяют автоматизировать AT. Именно эту прошивку я и взял за основу
- Шести-пиновый разъем c распиновкой как у адаптера FTDI
Для тех, кто не хочет паять и делать плату
В случае применения в схемах с питанием 3.3В достаточно просто присоединить модуль в исполнение esp-01 к Arduino проводками (VCC—>VCC, GND—>GND, RX—>TX, TX—>RX, GPIO2—>DTR). Плата сделана для удобства подключения и возможности работы в схемах с напряжением питания микроконтроллера 5В.
Принципиальная схема и печатная плата
Применяется модули типа esp-02, но подойдет и распространенный esp-01, только плату перетрассировать нужно будет слегка. Джамперами выбирается режим работы 3.3/5В. U1 — стабилизатор преобразующий 5В в 3.3В в случае необходимости. R2 и R3 — делитель, тоже для 5В режима. После сборки нужно установить джампер RPOG и при помощи того же FTDI или любого другого UART адаптера загрузить ESP8266-transparent-bridge.
Шаблон односторонней печатной платы (SVG вектор):
Если нужен негатив достаточно открыть текстовым редактором и заменить #000000 на #FFFFFF и наоборот.
В формате KiCad на github
Прошивка микроконтроллера
Обычно, чтобы загрузить прошивку следует перезагрузить микроконтроллер. FTDI адаптер делает это импульсом на ноге DTR (первая в разъеме), она через емкость соединена с ногой RESET микроконтроллера. В нашем случае на место DTR выведена GPIO2 (см. UPD). Для перезагрузки микроконтроллера используются AT команды «+++AT GPIO2 1» и затем «+++AT GPIO2 0», которые меняют уровень на GPIO2 ESP8266. Одного перепада достаточно, чтобы перезагрузить контроллер. Сразу после перезагрузки некоторое время работает загрузчик и ждет образ прошивки по UART, его можно передать с помощью утилиты avrdude. Ниже приведен скрипт выполнение которого прошивает контроллер:
#!/bin/bash HEXILE="firmware.hex" ADDRESS=x.x.x.x BAUD=57600 echo "+++AT BAUD $BAUD" | nc $(ADDRESS) 23 echo "+++AT GPIO2 1" | nc $(ADDRESS) 23 echo "+++AT GPIO2 0" | nc $(ADDRESS) 23 avrdude -P net:$(ADDRESS):23 -F -U flash:w:$(HEXILE):i
Данные команды можно включить в Makefile.
Беспроводную прошивку можно провернуть и в Windows, установив утилиты nc и avrdude.
Видео, демонстрирующее работу на примере китайской Arduino pro mini
UPD:
sav13 предложил в качестве прошивки для ESP8266 использовать esp-link, она совместима с текущей схемой адаптера. Данная прошивка имеет ряд преимуществ по сравнению с ESP8266-transparent-bridge, в т.ч. WEB интерфейс для конфигурации, нет необходимости использовать AT команды, дополнительный функционал, более подробно тут.