forlotto wrote:Not to be too critical of your work but it appears that the soldering work could be checked over a bit. Are you holding the pin low to program the flash.
Trust me, you are not wrong about my soldering work! As I mentioned I'd never soldered 0805 components before this board, and I found it (find it!) challenging to say the least! Especially for me .1uF and 10uF caps, which have tiny tiny little solder pads.
That said, I'm getting better I think, and the second board I put together (while still crap!) was a lot better than the first.
I'm using .032" rosin-core solder, although I also have .015" solder, but I've found the .032" actually to be a bit easier to work with.. not sure if it's because there is more "flux" in it, or what.
And yes, for the time being I'm holding GPIO15 to low while I program, and holding GPIO15 to low when I boot in "normal" mode, and also holding GPIO2 to high when I boot. Which is a pain. But next rev i'll add some pull up/pull down resistors.
forlotto wrote:Provide details of what you are doing. What you are using for programming hardware/software/firmware etc...
Well, I posted this in the Arduino forum so it may not be a huge surprise to learn that I'm using the Arduino IDE to flash the board. I'm using the latest "stable" arduino board library, the board I have selected is the "Generic ESP8266 Module", and the programmer (which apparently doesn't matter) I have selected is "Arduino as ISP" (I think this was the default, I don't think I actually set anything here).
As for software, I have everything in github, and it can be seen here: https://github.com/develpr/mitchine (and before anybody comments, I'm 100% aware and OK with the fact that I have the boards wep key committed in plain text. I'll even tell you that I don't plan on changing it, so feel free to come over and hack my esp configuration ).
As for details of what I'm doing: I have my board hooked up to an FTDI adapter. I have RX/TX/VCC/GND hooked up. RESET and CH_PD are on pull up resistors (4.7k aka 4k7!). Before I plug the thing in, I ground GPIO15. Then I plug the thing in. I think after boot I can remove the GPIO15->GND connection, but I don't, I just click the program button and let it do it's thing.
forlotto wrote:To be honest you may want to consider using a nodemcu by the time you figure in the cost of the board, cost of the time, etc not to mention the ability to have access to all GPIO's etc and easily programmable.
Well, to be honest I don't fully understand how using nodemcu itself is going to fix some of these problems. Do I not still need to have a similar setup in terms of pull up/pull downs on GPIO15/GPIO2?
Regardless, my impression so far is that nodemcu is not quite as stable as the arduino code. It's a bit "higher level." Frankly, if anything I'd go the other direction, and use pure C or whatever to flash the thing, and write everything in C.
At the end of the day, you're probably right about the fact that there are easier ways to do this. For example, I could have just used test boards that I already actually own, instead of building my own PCB. But a BIG part of the reason I'm doing this is for the learning experience. I think it's fun, and it's a skill that I am happy to be building towards.
I'm still a complete newb who has done a lot of really stupid things, but I've also learned a TON along the way. I started this project not even really knowing what an ESP8266 was, nothing NOTHING about how to program one, knowing really nothing about what a "pull up" or "pull down" was (something I still don't fully understand... but closer ).
At the end of the day, despite the frustration I feel from time to time (often!) I went this route because it was a good mix of "easy" and "the result will look nice with a simple, single PCB" and "you'll learn a lot of new stuff".
Anyway, for now, I'm going to keep going in this direction. I'd even go so far as to say that it's this way, or no way. If I can't overcome whatever problems I"m having with the board design/soldering newbness/issues with software... well, I won't let that happen .
Also, a small update/something strange I've experienced:
I was having a hell of a time flashing a working version of my code onto my custom board, so I switched over to using a test board that I KNEW worked because I had done it before. I was still having issues! And I've kept everything under source control so I'm fairly certain nothing changed in my code.
All of this was on my rMPBP (mac).
So I went back to my windows 10 machine because I remembered that i had most recently been using that to flash. I'm about 99% sure I have the same version of the arduino/esp8266 board in the board manager. And again, I have the same exact software under source control. But when I used this computer to flash, everything worked fine!
To be clear, I was able to successfully flash with my mac, and the board would start up and broadcast an SSID/network. But as soon as I tried to connect to it, there was an exception/error/whatever, and the board would crash. When I used the windows 10 computer with what I believe to be the same software, I was able to connect/configure my board/etc.
Any thoughts or opinions on this? Is this something common, or something perhaps being caused by "bad power" from my macbook pro vs the windows 10 laptop? I really have no idea what might be causing it... For now, I have a solution ("use the windows 10 comptuer to flash"), but I really don't like not knowing what hte cause of my issue would be... I'm paranoid I edited some of the arduino board related code or something that I DONT have under source contorl, and then forgot about it, or something.