Chat freely about anything...

User avatar
By dhouston
#73612 If you look at the schematic for the WeMos D1 mini you'll see it uses the same reset method as NodeMCU. It also has the pullups, pulldowns, etc. you mention. There's a link to the schematic about midpage at...https://wiki.wemos.cc/products:d1:d1_mini

I also would expect the Espressif Downloader to take note of any problems. It has had no complaints. See the Tools link at...https://www.espressif.com/en/products/hardware/esp32/resources
User avatar
By eriksl
#73643
wogoos wrote:Why not use a single chip Atmega328 as General purpose IO controller and hook that one up to an ESP. All Your have all possible interfaces available and can do the prepossessing on the Atmega. Simple and easy.

I have considerded this several times over the past few times. I have some 328's lying around and also a programmer (no Arduino in this house!). I have been maintaining a suitable firmware for it as well, that can read and interprete a variety of i2c sensors.

Why didn't I persuit this path: the esp8266 can do everything I need. It lacks quite a bit that a 328 has in hardware, but the faster cpu core (32 bits 80 or 160 Mhz vs. 8 bits 8-20 Mhz) makes up for that.

I made an implementation of PWM in software that just as good as the hardware implemention in the 328, in most situations. Besides that, you can get to choose your GPIO's freely and you can have up to 32 channels, where the 328 can only have two at 16 bits and two at 8 bits. For a reasonable speed at 16 bits with the 328, you need to have the cpu running at 16-20 Mhz, which it can do only at 5 V. The esp8266 has no trouble there.

The same goes for the I2C interface. I made an implementation in software and it works really great. In no way it has less functionality than the hardware implementation of the 328 and is more flexible and easier to use. I only think the 328's I2C clock can be cranked up even more, the highest I can get is somewhere around 500 kHz (which is already too fast for normal and fast I2C), the 328 might be able to get that to some 2 Mhz.

So then the question remains, what are we still missing that the esp8266 can't implement in software?
User avatar
By INYRMind
#77592 Hi, looks like a very promising project. Thank you for make that available.

I got a build error:
Code: Select allCC ota.c
In file included from ota.h:4:0,
                 from ota.c:1:
ota.c: In function 'application_function_flash_select':
util.h:232:53: error: expected expression before ')' token
  string_format_flash_ptr(dst, fmt_flash, __VA_ARGS__); \
                                                     ^
ota.c:768:2: note: in expansion of macro 'string_format'
  string_format(dst, "ERROR flash-select: no OTA image\n");
  ^
Makefile:333: recipe for target 'ota.o' failed
make: *** [ota.o] Error 1

Looks like my compiler dont like "__VA_ARGS__", as far as I know this is not a standard.

Code: Select all$~/esp8266-universal-io-bridge$ /opt/esp-open-sdk/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc --version
xtensa-lx106-elf-gcc (crosstool-NG crosstool-ng-1.22.0-60-g37b07f6f) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


By the way I am using ubuntu 18.04. I just cloned and compiled the sdk previously succesful.

Thanks!