-
Is it a dream or reality? Boys, you are really big stars!!! :-)
Is it all located in the only e.g. ESP-01 with 512KB? Some limitations?
What are your next steps in developmnet? ... digital inputs/outputs, what all functions?
BRAVO, incredible... waiting impatiently for next news... and binary to flash :-) -
Hi,
In my opinion current "shim" is very handy, simple and absolutely functional.
It needs just some small amendments:
a/ mechanical amendments so that it is possible to solder it on module in case of "pinned Pico",
b/ use one DO of Pico (e.g. A0) to drive pin CH_PD module ESP-01, by this output it is possible to drive module ON/OFF... small current consumption,
c/ use another DO of Pico (e.g. A1) to drive pin RST of module ESP-01 (it is possible to reset module and moreover it is possible to connect GPI016=XPD_DCDC (pin No.: 8 on chip ESP8266, easy accessible with soldering iron, on the edge of row) with pin RST... then it is possible to put module ESP-01 to mode "Deep-Sleep Wakeup" by the appropriate AT command),Please take this as my input to this discussion. Attached please find link to document "0B-ESP8266Hardware_User_GuideEN_v1.1.pdf" as source to this topic.
http://bbs.espressif.com/download/file.php?id=562
P.S.
I have also heard some rumors that ESP8266 should be soon available in BT version!?!?!?!?
... it would be nice, only change of the FW in ESP-01 and you have WiFi or BT :) -
... everybody can download it here...
https://drive.google.com/file/d/0B-Emmah2G61sXzdUakp1aldIcmc/view?usp=sharing -
@Ingmar_Guillaume ... the flasher is too big... I have to find another way how to send it... do you have any idea?
-
@Ingmar_Guillaume OK, if the task is successfully fulfilled (new FW flashed) then the solution with USB is better... requires less sources.
BTW... There is no need to solder anything in my solution if you have pinned Pico... see the picture (Connection_flash.png).
For those who work under Windows I have following solution. The flasher and file with new FW are in the attachment. The procedure and short program for Pico are almost the same (only another flasher, see the picture Windows_flash.png) as in my contribution #6.var baud=115200;
Serial1.setup(baud, { rx: B7, tx : B6 });
Serial2.setup(baud, { rx: A3, tx : A2 });
console.log("Start flash ->");
Serial1.on('data',function(d) {Serial2.write(d);});
Serial2.on('data',function(d) {Serial1.write(d);});
-
You are right in principle... but USB and USART2 are already used (USB->PC, USART2->ESP8266 on the shim). The task was (from my point of view) to flash new FW into ESP8266 "tightly soldered" on the shim. USART1 is free (or can be made free) for this "one-shot" task -> to flash new FW.... without any problems... which you describe in your solution to do the same through USB. It is not easy task because of USB OTG is packetizied communication. I guess the only reason for this solution is that not everybody has USB-UART available. Am I right?
-
-
-
-
-
-
Hi,
thanks for your answer and willingness to solve the problem.
I guess it isn't problem to flash new firmware. I don't have your shim but luckily RST and GPIO0 aren't connected as I see on web pages.We need only:
a/ two wires, both connected to GND on one side and the other sides stay free... we will "poke at" the RST and GPIO0 pins on ESP8266 module later,
b/ program to flash new firmware
... https://github.com/themadinventor/esptool ,
c/ USB-UART module (3V3 levels), connected to PC as /dev/ttyUSB0 and to USART1 on Pico,
d/ Pico, connected to PC as /dev/ttyACM0, running Espruino WEB IDE,
e/ ESP8266 is connected to USART2 on Pico,
f/ this short programm in Espruino Picovar baud=115200;
Serial1.setup(baud, { rx: B7, tx : B6 });
Serial2.setup(baud, { rx: A3, tx : A2 });
console.log("Start flash ->");
Serial1.on('data',function(d) {Serial2.write(d);});
Serial2.on('data',function(d) {Serial1.write(d);});
g/one wire mentioned in point a/ we hold on pin GPI0 and with second wire we tap RST pin ... ESP82666 is switched into programming mode (the wires can stay unconnected),
h/ we start program in Pico,
i/ we start esptool with this commnad... or some minimal modification./esptool.py -p /dev/ttyUSB0 -b 115200 write_flash 0x00000 AT25-SDK112-512k.bin
j/ we will see messages of esptool
Connecting...
Erasing flash...
Writing at "address" 0x..... (..%)Leaving...
k/ it is done... new firmware in ESP8266-01.
Tested and verified.
-
Thanks for your reaction. I should explain my notice "Warning" in my previous message...
a/ I don't want to compare OLD and NEW documentation about AT commands from Espressif. It has no sense, they are different (the contents and the quality). The provided documentation and firmware (my links) are the best in this moment, evolutionary on the highest possible level... good condition for new development of ESP8266WiFi module.
b/ The actual module ESP8266WiFi uses only few AT commands from the whole set. The first step in the new evolution could be to go through existing library and adjust its functions to new ESP8266-01 firmware. It has sense because of higher quality of new firmware. The second step should be to top up the library with new functions (e.g. set/reset DHCP, set static IP and so on) to create complete set of net_functions.
c/ My warning is necessary to understand this way... The firmware behaves according to the documentation but is always better to view behavior of the real system to be able to debug developed SW. I send as an EXAMPLE picture (pic_02.png). You can see different behavior of command "AT+CIFSR" (Get local IP address) dependent on command "AT+CWMODE=1/2/3. I have low level of knowledge of JS or lower fantasy but it is not clear for me how called function "wifi.getIP" could be processed from actual ESP8266WiFi module.
d/ Espruino Pico is fantastic piece of HW and SW. ESP8266-01 is easily reachable and cheap module with WiFi, hundreds, thousands... maybe hundreds thousands sold pieces, some among people having Espruino Pico. There is nice "shim" connecting both worlds. The new firmware is the best version which still fits into 512KB. All together is good basis to make Espruino "nice network appliance" :-).
e/ I am not able to do this task now but I put "the things on the table" as inspiration for others... as it is usual in open community. If somebody takes it and create something meaningful... lots of people will use and like it. -
Dear Gordon,
I have 3 pcs Pico from you and lots of esp8266-01. Both things are very exciting toys.
I have tried to connect them together to create even better toy. I have some experience with ESP but I am total newbie in JS. I went through and through the forum, did all right steps but my efforts to have reliable appliance were less successful. The reason for it is my weak practice in JS (I will improve myself :-) ) but stronger reason is too old AT firmware in the ESP8266 module. You surely know that actual state of firmware from Espressif Systems is incomparably better than half year ago (hundreds of errors removed)... and I have to say that also the level of documentation went the same direction. There is some complication with new AT firmware from Espressif, they have leaped over the border of 512KB flash which are soldered in modules ESP-01. BUT on the other side there is very capable community around ESP8266 chip in Russia where I have found the solution. They have compiled the special AT firmware which fits in the 512KB flash and is most actual. Also, they have written the best tool in Java for work with ESP8266 modules as I know. It is very good tool for testing connected chip, sent AT commands and check their responses but not only for that... I used Esplorer parallel (two HW modules with the same firmware) with Espruino IDE during my efforts to modify your original module "ESP8266WiFi" (see picture). Warning: there are small differences between real AT responses and responses according Espressif documentation.Here are the right links ...
...firmware 512KB for ESP8266-01... version ATv0.25 from 12.06.2015
http://esp8266.ru/download/sdk/AT25-SDK112-512k.bin
... AT instruction set EN... version ATv0.25 from 12.06.2015
http://esp8266.ru/download/esp8266-doc/4A-ESP8266__AT%20Instruction%20Set__EN_v0.25.pdf
... Esplorer
http://esp8266.ru/esplorer-latest/?f=ESPlorer.zipGordon, I have tried to adapt your module "ESP8266Wifi" for above mentioned AT firmware but as I have written, my actual ability to do it in JS is very low. All above mentioned facts brought me to the idea that you or somebody else with corresponding capability could write new version of "ESP8266WiFi" module.
Please, do you think it would be possible for you to find some time to do this job?
PS: I'm sorry for my English, I'm not a native speaker.
If I understand the contents of discussion I would recommend to look at nodeMCU
https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en
There is a complete set of network functions defined that could be an inspiration for you.
This should have some advantages:
a/ Gordon could probably implement all by using "require" if ESP modul with AT commnads is used with Espruino,
b/ Neil could implement these functions direct in JS for ESP (the functions are already written by creators of nodeMCU),
c/ the users of both HW solutions will use the same language and interface.
P.S. Sorry, English is not my mother language.