Bootloader Authoring Information Request

HopWorks
Mon Aug 27, 2018 8:39 pm
I have paired a ESP8266 Wemos D1 Mini Pro to a Blue Pill clone (PC13 LED type) which is no major accomplishment really, but it is cool because I can control the STM32F103 using my MQTT Mosquitto network using simple serial commands. I already have OTA firmware update ability with the ESP8266, but I do not have such a thing for the STM32F103. I want to be able to upload code to the STM32F103 OTA also, but this is where I run into a snag.

I figure I either need to find a way to emulate a STLINK SWD interface using the ESP8266 to program the STM32F103, or write my own bootloader for the STM32F103 to accept code data from the ESP8266 and my wireless network. I have never done the latter and was wondering where I would start to learn the skills needed for what looks like a very complex en-devour. I do not mean to trivialize the effort at all. I can imagine the research, pain, and suffering that has gone into bootloaders for the STM32F103 already. I just want to write something simple that will allow me to upload to it via STLINK initially, and then use it to upload code through the ESP8266.

I need a place to start to research. Even a bread crumb trail would be appreciated. I plan to deploy this pair of modules in my projects inside and outside of my house, and would rather update them (probably brick them) via my wireless network instead of crawling into the attic with a laptop and STLINK interface to it’s SWD.

Thank you for your time! I know I came to the right place!!


mrburnette
Mon Aug 27, 2018 8:51 pm
https://www.stm32duino.com/viewtopic.php?t=3003

HopWorks
Mon Aug 27, 2018 8:58 pm
Thank you sir!!! This is very close to what I am looking for, and the wiring setup is exactly how I have the two systems connected!!
Very fast reply!! I really appreciate it! I googled this for the last few months, intermittently, and ran into dead ends.

I KNEW I came to the right place!


mrburnette
Mon Aug 27, 2018 9:11 pm
[HopWorks – Mon Aug 27, 2018 8:58 pm] –
Thank you sir!!! This is very close to what I am looking for, and the wiring setup is exactly how I have the two systems connected!!
Very fast reply!! I really appreciate it! I googled this for the last few months, intermittently, and ran into dead ends.

I KNEW I came to the right place!

Thank you, but the truth is you need to take a googling refresher course: stm32 upload ota esp8266 site:stm32duino.com
https://www.google.com/search?q=stm32+u … 2duino.com

This site-centric search is described in my new user post: http://stm32duino.com/viewtopic.php?f=2&t=3111

Ray


HopWorks
Mon Aug 27, 2018 9:32 pm
You are right. I had no idea about that “site:” feature. I will read up and make sure I exhausted all research efforts before reaching out.

Thanks again! There is now hope for my master plan with my IoT en-devours.

Gary


HopWorks
Mon Aug 27, 2018 9:45 pm
[mrburnette – Mon Aug 27, 2018 9:11 pm] –

[HopWorks – Mon Aug 27, 2018 8:58 pm] –
Thank you sir!!! This is very close to what I am looking for, and the wiring setup is exactly how I have the two systems connected!!
Very fast reply!! I really appreciate it! I googled this for the last few months, intermittently, and ran into dead ends.

I KNEW I came to the right place!

Thank you, but the truth is you need to take a googling refresher course: stm32 upload ota esp8266 site:stm32duino.com
https://www.google.com/search?q=stm32+u … 2duino.com

This site-centric search is described in my new user post: http://stm32duino.com/viewtopic.php?f=2&t=3111

Ray

FYI – The google search you linked me was missing the “:” after “site” and when I replaced it, had very different results. Embarrassed that I did not know about the “site:” feature, I set out to look for other google search features and happened upon a site that lists this feature, and 30 more.
https://blog.hubspot.com/marketing/goog … earch-tips

I hope this helps others to find what they are looking for. I for one am grateful for the feature you shared with me! It will change how I research for sure!!


mrburnette
Mon Aug 27, 2018 9:52 pm
[HopWorks – Mon Aug 27, 2018 9:45 pm] –
<•••>
I hope this helps others to find what they are looking for. I for one am grateful for the feature you shared with me! It will change how I research for sure!!

No need to be ’embarrassed’ … I just pointed it out so that you would learn the feature and be able to assist others in the forum.

I’m old and have to set limits on my involvement – the forum needs new, energic, and knowledgeable members to move it forward. You’ll find some super knowledgeable and helpful folks here.

Regards,

Ray


HopWorks
Mon Aug 27, 2018 10:02 pm
The link you suggested for my OP is a wealth of information! The solution is not supported on a Windows 10 system yet unfortunately, and all my linux systems are headless.

With that said however, I have been intrigued at projects that are command-line-based, and I have been itching to try that. Maybe I will setup one of my laptops as a Linux OS with GUI and try my hand at this approach. Maybe even in a VM on my main Windows rig.

Whatever scheme I get comfortable with, I still have the desire to get my ESP8266 and STM32F103 devices to be able to be programmed using PlatformIO and not Arduino IDE. So far, even with updates, I have not been successful. For the STM32F103, it has been a failure via STLINK and STM32DUINO bootloaders. And I have had no success with the ESP8266 either. Since the approach you linked doesn’t support Windows yet, trying that with PlatformIO (on VS CODE) seems to be hopeless, for today anyway.

I have a lot to learn, and in the meantime, the Arduino IDE is my fall back platform. It is VERY nice to know that the ability is out there though. When my design gets to that point, I’ll work at pushing past that hurdle. After all, my next three projects are not terribly inconvenient to take a laptop to and plug in to update.

Thanks again Mr Burnette for the enlightenment and information!!


mrburnette
Mon Aug 27, 2018 10:31 pm
HopWorks (is this hops like in beer?)

I’m an old MCSE but I’ve been on Linux Mint for years. Still, I have 1 Windows 10 Pro system… just cannot be involved with programming and not occasionally have a Windows workstation.

Recently, I have been playing with the 32-bit Raspbian (Debian Stretch) x86 Desktop OS. I have two HP mini 110’s running and I am shocked with the experience! I wrote about it here: https://www.hackster.io/rayburne/raspbi … ld-netbook Yes, one can run YouTube videos (windowed) without stutter and the little dual-core Intel Atom is not max’d out.

Also, you should know that the low-priced Zero-W Raspberry supports supports USB HID jnput: https://www.hackster.io/rayburne/one-bu … -pi-zero-w

The ESP-8266 is a remarkably flexible uC, so I could imagine a project where the Espressif uC and some Linux toys could provide a neat solution. An easy test is to just use two 8266’s as a wireless modem (ESP32 also has BT.)

Ray


HopWorks
Mon Aug 27, 2018 11:01 pm
Yes sir! I have 4 RPI Zero W’s with 32gb sandisk cards each. The idea was to have them interact via MQTT. Then I could test all my MQTT needs in a hive mind environment and see where the weaknesses were, and learn from that. At the end, they were re-purposed to do other things… record radio shows, gather data via data mining of a few sites (weather, etc), act as controllers moving files. Take pictures, timelapse, etc. I had more hardware than tasks.

I have 2 Odroids Xu4’s that I am absolutely in love with. One acts as a media NFS server for the house through fire sticks.

Also have several ESP32 modules of different flavors. Even more ESP8266 modules, including just the SOC module part. I then discovered that the pinouts were not 0.1″ spaced and they are waiting for me to learn how to design my own boards. I know there are adapters, but I have so many that I decided to save them for stronger prototype.

Have about 100 STM32F103 boards (blue and black) that vary slightly. Also have development boards from ST like the Nucleo STM32F411RE, the Discovery F411E, Discovery STM32l152c (all in pairs), beaglebone Blacks, RPI’s in quadcore, and all the way back to the original. Teensy boards, Pro Minis (ATMEGA328P) … too many to count, a giant library of PIC devices. I started on a 18f4550. Serial USB adapters, ST Link devices, PIC programmers, a ridiculous collection of logic devices. All I do is write code and try things. Throw one at a need I have here and there.

I feel I have more hardware than I have knowledge for sure, so I have a bucket list of goals, and writing bootloaders is one of those items. :)

I didn’t know about the HP mini 110. I need to look at that. Right now I pack a Toshiba dual core I5 in a back pack, and have a beefier Dell I7 in my so-called lab where my scope and other test equipment is.

Sorry for the flood. I do not often meet peeps I can share this collection with.


Rick Kimball
Tue Aug 28, 2018 12:11 am
[HopWorks – Mon Aug 27, 2018 8:39 pm] –
I figure I either need to find a way to emulate a STLINK SWD interface using the ESP8266 to program the STM32F103, or write my own bootloader for the STM32F103 to accept code data from the ESP8266 and my wireless network.

The other alternative is to use the stm32 ROM based factory loaded usart bootloader. The guy over at jeelabs already did the hard work. You would have to add the esp8266 OTA update and then send it down the serial port of the stm32f103.

https://github.com/jeelabs/embello/blob … f1init.ino

Read about the Poor-man’s boot loader upload https://jeelabs.org/book/1546c/


mrburnette
Tue Aug 28, 2018 12:16 am
[Rick Kimball – Tue Aug 28, 2018 12:11 am] –

[HopWorks – Mon Aug 27, 2018 8:39 pm] –
I figure I either need to find a way to emulate a STLINK SWD interface using the ESP8266 to program the STM32F103, or write my own bootloader for the STM32F103 to accept code data from the ESP8266 and my wireless network.

The other alternative is to use the stm32 ROM based factory loaded usart bootloader. The guy over at jeelabs already did the hard work. You would have to add the esp8266 OTA update and then send it down the serial port of the stm32f103.

https://github.com/jeelabs/embello/blob … f1init.ino

Read about the Poor-man’s boot loader upload https://jeelabs.org/book/1546c/

Good find, I had seen the article and forgotten about it. Age!

Ray


mrburnette
Tue Aug 28, 2018 12:30 am
[HopWorks – Mon Aug 27, 2018 11:01 pm] –
<•••>
I didn’t know about the HP mini 110. I need to look at that. Right now I pack a Toshiba dual core I5 in a back pack, and have a beefier Dell I7 in my so-called lab where my scope and other test equipment is.

Sorry for the flood. I do not often meet peeps I can share this collection with.

The HP Mini 110’s must be 10+ years old. They shipped with Windoz XP Home. I upgraded the 1G RAM to 2G and replaced the old noisy rotary disks with cheap SSD’s (and tuned the Debian install to minimize wear on the SSD.)

Old PC’s like the HP Mini, I find are very useful for working with the Raspberries both by SSH and VNCviewer. The mini’s are a far cry from my two I7 8G development boxes or the two I5 backups. But sometimes it is good to use an old machine to appreciate the newer machines.

I’m eclectic and my rambling project page proves it. Of course for every project posted, there are many, many that got put aside due to interference from the budget or the wife. :D

Your supply of Blue & Black Pills is likely the reason the buy-price spiked once or twice. :lol:

Ray


flyboy74
Tue Aug 28, 2018 6:36 am
Sorry for the flood. I do not often meet peeps I can share this collection with.

Holy smokes I think I maybe jealous.

As for updating the code to the STM32 via the ESP8266 I would think this could be easily done via the UART boot loader. You could have a a FTP server running on your ESP8266 that downloads the bin file for the STM32 to the ESP8266 flash then the ESP8266 could have a pin that is connected to the reset of the stm32 and another pin of the ESP8266 can be connected to the boot pin of the stm32 that way the ESP8266 can reset the STM32 into boot mode and upload via UART boot loader. This wouldn’t require much coding to make it work.


flyboy74
Tue Aug 28, 2018 6:39 am
Also if your trying to make things very small I use these modules https://www.electrodragon.com/product/wroom-32/ they just need a 3.3v power supply with some little 0603 caps for stability and a 10k pullup on the EN line to run :)

I mainly use the slightly larger Wrover with the extra 4mb psRAM see https://www.electrodragon.com/product/e … sed-esp32/
and usually program it with this https://www.aliexpress.com/item/ESP32-t … autifyAB=0 before dropping it into what ever project it is going to run in :)


mrburnette
Tue Aug 28, 2018 12:36 pm
[flyboy74 – Tue Aug 28, 2018 6:36 am] –
<…>
You could have a a FTP server running on your ESP8266 that downloads the bin file for the STM32 to the ESP8266 flash then the ESP8266 could have a pin that is connected to the reset of the stm32 and another pin of the ESP8266 can be connected to the boot pin of the stm32 that way the ESP8266 can reset the STM32 into boot mode and upload via UART boot loader. This wouldn’t require much coding to make it work.

Interesting. Sounds a little convoluted since the TFTP session would write to flash on the ESP first. Philip published an article about FTP’ing to the old AVR 328 but I have personally never tried this.
https://www.freetronics.com.au/pages/ho … 4U_uR-YXeQ

If we were to configure the ESP8266 as serial (WiFi) modems, then the bootloader handshaking should work if the latency was not too great. There are numerous articles, including at least one Instructables, about how to use BT to upload over a wireless serial link:
https://sites.google.com/site/waynehold … -bluetooth

Ray


flyboy74
Tue Aug 28, 2018 8:34 pm
Interesting. Sounds a little convoluted since the TFTP session would write to flash on the ESP first

So far all my ESP stuff has been in MicoPython not in C but of course anything that can be done in MP can be done in C since MP is written in C.

The MP port that I use has a built in FTP server and it is very fast (much faster than serail UART for transfering files from PC to ESP32) also MP by standard makes use of any available flash as FAT file storage much like a SD card. Also has a builtin MQTT client. So in MP it is 1 line fo code to start up the FTP server to that will accept the BIN file and save it to FLASH then a couple of lines of code to put the STM32 into boot mode then a small loop that opens the bin file and sends it to the serial port when it receives the MQTT message to do so. To do all this in MP would be less than 20 lines of code.


HopWorks
Tue Aug 28, 2018 9:18 pm
[mrburnette – Tue Aug 28, 2018 12:30 am] – I’m eclectic and my rambling project page proves it. Of course for every project posted, there are many, many that got put aside due to interference from the budget or the wife. :D

Your supply of Blue & Black Pills is likely the reason the buy-price spiked once or twice. :lol:

Ray

I went to your project page and I will definitely make time to read through it. There is a lot of interesting projects there, and some are very similar to some of my project ideas. You have been busy!!

To be honest, I thought the blue pills were a lot cheaper when I started buying them. It was when they shot up to around $1.75 USD per that I started grabbing 25 or more at a time, worried that they would go much higher. After all, price up the parts on the board, especially the STM32F103C8T6, and the cost of making the boards. It is way higher, even in reasonable bulk quantities. Anyway, I had so much fun with my first five that I just KNEW I was going to be using these in a lot of projects. It is one of the reasons I have so many Pro Mini ATMEGA328P’s. Although they have been effectively replaced by the STM32 on my bench, I’m sure they will prove useful in lower-level project ideas I have. Especially where effect lighting using the WS2812B is concerned. The Pro Mini’s replaced most of my work on Microchip PIC’s.

I am lucky about budget and my wife. I work at a small computer station off our living room where she watches movies, baseball, and TV shows we like, and I work on projects. We interact a lot and she is very patient when I have to recite a revelation I just had. The only nag I have on my time is documenting, and I need to get a lot better at that. To be honest though, the contributions out there (and here) are a lot better than anything I really have to offer. At least yet. Right now I am working on a cat box controller for an automated litter box we have. Simple stuff really, but I wanted to add features, make it part of my MQTT network, and be able to get data from it. Like when triggered, temps of the motors, etc. I don’t want it running 24/7 so I am triggering cycles when a cat trips it. More on that later.


HopWorks
Tue Aug 28, 2018 9:23 pm
[flyboy74 – Tue Aug 28, 2018 8:34 pm] –
Interesting. Sounds a little convoluted since the TFTP session would write to flash on the ESP first

So far all my ESP stuff has been in MicoPython not in C but of course anything that can be done in MP can be done in C since MP is written in C.

The MP port that I use has a built in FTP server and it is very fast (much faster than serail UART for transfering files from PC to ESP32) also MP by standard makes use of any available flash as FAT file storage much like a SD card. Also has a builtin MQTT client. So in MP it is 1 line fo code to start up the FTP server to that will accept the BIN file and save it to FLASH then a couple of lines of code to put the STM32 into boot mode then a small loop that opens the bin file and sends it to the serial port when it receives the MQTT message to do so. To do all this in MP would be less than 20 lines of code.

I am very intrigued by this! I am learning Python, but to use it on my home Debian linux server as scripts. I’m a big Monty Python fan also! I am very interested in your work, and I heard a LOT about MP. It has been mostly C, C++, PHP, Javascript, and jQuery for me. My recent discovery of SQLite has made a lot of this much more elegant for me at the embedded level.

Thanks for the heads up!!


HopWorks
Tue Aug 28, 2018 9:41 pm
[flyboy74 – Tue Aug 28, 2018 6:39 am] –
Also if your trying to make things very small I use these modules https://www.electrodragon.com/product/wroom-32/ they just need a 3.3v power supply with some little 0603 caps for stability and a 10k pullup on the EN line to run :)

I mainly use the slightly larger Wrover with the extra 4mb psRAM see https://www.electrodragon.com/product/e … sed-esp32/
and usually program it with this https://www.aliexpress.com/item/ESP32-t … autifyAB=0 before dropping it into what ever project it is going to run in :)

THANK YOU! That price on a 16mb is amazing! It’s right there with the Wemos D1 Mini Pro (ESP8266) and I have not seen a ESP32 with 16mb of memory yet.
I am definitely going to chase this. Granted, my project that will be the base of all my projects consists of an ESP8266 and 1 or more STM32F103 modules, maybe a ATMEGA328P also, and even PIC devices, but the first two platforms is the core. It is worth the cost to have something beefier like the ESP32 at the start of it all for my more complex projects.

I actually entertained using a simple ESP8266-01 module in my final design since wifi connectivity was my only need. They make STM32F103 boards now with ports for this version of ESP8266, along with other ports for the NRF24L01 (Mini STM32F103C8T6 ARM System Development Board STM32 51 Core). At around 4 bucks though, it’s worth it to pair a simple blue pill with what you mentioned.

THANKS!


HopWorks
Tue Aug 28, 2018 9:44 pm
[Rick Kimball – Tue Aug 28, 2018 12:11 am] –

[HopWorks – Mon Aug 27, 2018 8:39 pm] –
I figure I either need to find a way to emulate a STLINK SWD interface using the ESP8266 to program the STM32F103, or write my own bootloader for the STM32F103 to accept code data from the ESP8266 and my wireless network.

The other alternative is to use the stm32 ROM based factory loaded usart bootloader. The guy over at jeelabs already did the hard work. You would have to add the esp8266 OTA update and then send it down the serial port of the stm32f103.

https://github.com/jeelabs/embello/blob … f1init.ino

Read about the Poor-man’s boot loader upload https://jeelabs.org/book/1546c/

I did not know any of this. Thank you for the links! I want to keep it simple and stupid, and this looks bare metal. I now have a ton of stuff to research and no longer at a brick wall. THANK YOU!


HopWorks
Tue Aug 28, 2018 9:56 pm
All really interesting suggestions that I will definitely explore over the next few days. As far as whether to feed the STM32 through the ESP8266 directly, or to cache the bin, check the integrity, then upload to the STM32… with 16mb on the Wemos D1 Mini Pro, it seems there is enough room for the BIN since it is 64k-128k.

The code I have in the ESP8266 already is pretty small. It is managing, not controlling hardware directly. That may change later on, but I like the marriage between the ESP and the STM32.


mrburnette
Tue Aug 28, 2018 11:21 pm
[HopWorks – Tue Aug 28, 2018 9:18 pm] –
<•••>
It is one of the reasons I have so many Pro Mini ATMEGA328P’s. Although they have been effectively replaced by the STM32 on my bench, I’m sure they will prove useful in lower-level project ideas I have.
<•••>

Do not give up on the Pro Mini… I suggest going through them (a few at a time) with a test jig to make certain that they will be stable at 3.3V. I often use the home oven to test at around 150F (to simulate attic temp in the deep South) and the refrigerator (or freezer) to simulate outside Winter conditions. What is of concern is two-fold: will the oscillator 1) start and 2) will the clock frequency at 16 MHz be stable enough for the intended use. By specs, the oscillator should be run at 12 MHz – 8 MHZ but I have found that hand selected units will work great at 16 MHz. By lowering the Vcc to 3.3V, the 328P becomes a very interesting addition to distributed uC projects; for example sensor interfacing, protocol conversion, etc. The sleep modes of the ATMEGA328P and ATTINY85 are well documented, so very useful for solar & battery projects.

[HopWorks – Tue Aug 28, 2018 9:18 pm] –
<•••>
The Pro Mini’s replaced most of my work on Microchip PIC’s.
<•••>

…and now Microchip owns Atmel. What a strange world.

Ray


flyboy74
Wed Aug 29, 2018 12:09 am
THANK YOU! That price on a 16mb is amazing! It’s right there with the Wemos D1 Mini Pro (ESP8266) and I have not seen a ESP32 with 16mb of memory yet.

Do be aware that the Wroom modules have extended flash RAM if you look at the and the Wrover modules have both extended flash RAM and psRAM for use of stack/heap

At around 4 bucks though, it’s worth it to pair a simple blue pill with what you mentioned.
Yes the 2 together make a nice combo as the ESP32 has the 2.4GHz radio and the fast 240Mhz dual core processor with big RAM and the STM32 have the low latency interrupts with high pin counts and a few peripherals that the ESP32 doesn’t have.

Also do be aware that the ESP modules aren’t complete dev boards but designed to be plug and play embedded modules (will require soldering and need the caps on power supply and pullup resistor on EN line)

I am very intrigued by this! I am learning Python,
Python and C also work together as a combo quite well as the the places were python is weak C is strong and python is easy in the areas C is hard


mrburnette
Wed Aug 29, 2018 12:59 am
[flyboy74 – Wed Aug 29, 2018 12:09 am] –
<•••>
Yes the 2 together make a nice combo as the ESP32 has the 2.4GHz radio and the fast 240Mhz dual core processor with big RAM and the STM32 have the low latency interrupts with high pin counts and a few peripherals that the ESP32 doesn’t have.
<•••>

In the Arduino incardination, the ESP32-core utilizes FreeRTOS to manage tasks across both cores. By default, the Espressif WiFi libraries run on the first core and the Arduino core code runs on the second core. Therefore, the Arduino programmer does not need to worry about relinquishing time for the RF section as is the case for the ESP8266. In fact, there are surplus cycles on the first processor to off-load some non-critical Arduino code!
Example: https://www.hackster.io/rayburne/esp32- … both-cores

Ray


HopWorks
Wed Aug 29, 2018 8:14 am
[flyboy74 – Wed Aug 29, 2018 12:09 am] – Also do be aware that the ESP modules aren’t complete dev boards but designed to be plug and play embedded modules (will require soldering and need the caps on power supply and pullup resistor on EN line)

I want to try a couple of these. One with the PCB antenna, and one with the external connector. I need a board though that will allow me to mount this on that converts the 1.27mm to 2.54mm (0.1″) spacing for prototyping. What do you use flyboy? I would imagine there are pre-made ones with caps and the pullup resistor, but if not, I can handle that. I like that the connections are all brought out to the sides instead of having only 14 per side and the remaining 10 on the end. Thanks for the heads up!

[mrburnette – Wed Aug 29, 2018 12:59 am] – In the Arduino incardination, the ESP32-core utilizes FreeRTOS to manage tasks across both cores. By default, the Espressif WiFi libraries run on the first core and the Arduino core code runs on the second core. Therefore, the Arduino programmer does not need to worry about relinquishing time for the RF section as is the case for the ESP8266. In fact, there are surplus cycles on the first processor to off-load some non-critical Arduino code!

I had not looked at FreeRTOS yet because I use timers and their interrupts a lot, and multitask (somewhat) through flags set by interrupt handlers. I like the solid timing and learned to code around that approach. The ESP32 will probably change that for me, especially after what I just read. It makes sense really because of the size and power, and its roll in my system. Once again this thread has helped peel back a layer for me with a lot of research and discovery to do. It is going to be a busy day!


flyboy74
Wed Aug 29, 2018 8:26 am
I need a board though that will allow me to mount this on that converts the 1.27mm to 2.54mm (0.1″) spacing for prototyping. What do you use flyboy?

I use this for my Wrover modules (with psram) https://www.aliexpress.com/item/ESP32-t … autifyAB=0 I am sure they also make somehting similar for the Wroom module as well. It has all the pins broken out and a 3.3c AMS1117 linear regular and needed caps and pullups as well as the auto boot select circuits and a CP2104 serial to USB converter. The Wrover module use plugs in to it then plug the usb into your computer and your ready to program and protoytpe then when you got it osrted you can then just solder it to what ever your going to use it on. :)


flyboy74
Wed Aug 29, 2018 8:44 am
Also be very careful with what pins you connect stuff to on the ESP32 modules as all pins are broken out including the pins that r running at 1.8v for the external RAM and also beware that on startup the ESP32 not only checks the status on pin 0 (boot pin) but also checks the status of the pin that starts up the voltage regular for the 1.8v pins (off memory it is pin 12 but please check the datasheet), if the voltage select pin is pulled to wrong status during startup then ti will fry the RAM. Once startup is complete you can use both the boot pin and voltage select pin as you want. The ESP32 modules do have a week pullup on the voltage select pin for it to be in correct status for startup as long as you don’t wire something to the pin that pulls it to wrong status. You can burn to ROM fuse fixed selection then the startup status of the pin will no longer matter

If you r wondering how I know about this voltage sect pin on startup it is because I fried a couple of these modules before I worked it out :(


mrburnette
Wed Aug 29, 2018 12:33 pm
I have not utilized this provider previously, but the pricing looks good and > $49 is free shipping. I may give ’em a try as the Aliexpress links that previously offered free shipping has now opted to utilize customer paid shipping which changes the purchasing equation.

Seem they have the 4M in stock and the 8M available with a short wait period.
https://gridconnect.com/esp-wrover-32-combo.html

For those that need a little example of SPIFFS on an 8266, check this out as I put the entire OUI data into flash for off-line searching.


HopWorks
Thu Aug 30, 2018 9:40 pm
[mrburnette – Wed Aug 29, 2018 12:33 pm] –
I have not utilized this provider previously, but the pricing looks good and > $49 is free shipping. I may give ’em a try as the Aliexpress links that previously offered free shipping has now opted to utilize customer paid shipping which changes the purchasing equation.

Seem they have the 4M in stock and the 8M available with a short wait period.
https://gridconnect.com/esp-wrover-32-combo.html

For those that need a little example of SPIFFS on an 8266, check this out as I put the entire OUI data into flash for off-line searching.

Oh my God! I had no idea what you were talking about until I started reading. I knew that MAC addresses had to follow some sort of scheme, but had no idea about OUI! This really puts it all into perspective AND an awesome way to use an 8266!! Also a great tool to have, even on a home linux server!!! I like the way you write and I wish all projects followed the same standards.

You are also very professional when it comes to the code not holding your hand. My term for that is “idiot-proofing” but you have given me a whole new Politically Correct way of expressing it. :D


mrburnette
Sat Sep 01, 2018 3:12 am
[HopWorks – Thu Aug 30, 2018 9:40 pm] –
<•••>

When writing code, I believe that the code style and comments should provide sufficient details about the code-section intent to be obvious to a “fair to good” programmer. It should also help the programmer to recall what s/he was thinking when they come back a year later to review it!

I was looking over something I wrote 5 years ago and my impression was, “… how clever …” The older I get, the more I refer to code from the past. But I was not always that diligent – In uni, back in the dark ages of punch cards and batch jobs, I wrote all my Fortran without notes or flowcharts. I would do the documentation after I finished the program: it nearly drove my professors crazy.

Ray


Leave a Reply

Your email address will not be published. Required fields are marked *