Hot answers tagged

5

The ESP WROOM32 is an ESP32, not an ESP8266. You have PlatformIO configured for an ESP8266, specifically the ESP12e, and there's no way that's going to work. You'll want something more along these lines: [env:espwroom32] platform = espressif32 To choose the board - if you're using a breakout board, you'll need to be more specific about it - what model is it?...


5

Code using the Arduino Wire library is generally portable between processors, but there are pitfalls to watch for. One that I'm aware of is a difference in the Wire libraries for the ESP32 and ESP8266. The TwoWire::begin() method for the ESP32 has prototype: bool TwoWire::begin(int sdaPin, int sclPin, uint32_t frequency); whereas for the ESP8266 it is: ...


5

I take this to mean that you do not want to have to ask the user of the code to configure a boolean flag. The ESP8266 Arduino package provides -DARDUINO_ARCH_ESP8266 -DESP8266 command-line options these while calling g++. These effectively #define feature test macros as though they were at the beginning of the source code. For ESP32 it does likewise with -...


5

The best way to handle this exception is to identify what's using so much space on the stack and rewrite your code to avoid it. The three most common ways you'd use too much stack space are: large local variables - for instance, declaring a large array as a local variable inside a function, like: #define VERY_LARGE_STRING_LENGTH 8000 void loop() { char ...


4

Those boards have an inherent weakness in that they don't provide enough decoupling capacitance for the module. Not all modules are quite the same, and some have more internal decoupling than others (not by design, just due to component tolerances). I have found that unless you provide adequate decoupling of your own some modules work just fine and some don'...


4

Well after I posted this question, I kept googling. Literally hours of googling at this point. Then I stumbled across this example: https://github.com/T-vK/ESP32-BLE-Keyboard I wrote that sketch to my ESP32, paired my iPhone and it immediately starting controlling music playback on my phone. After looking at the code, it's so simple that I'm embarrassed I ...


4

Thanks to @Majenko I was able to find what I was looking for on the internet from this link. When I googled "captive portal" instead of the phrases that I was using I found a lot more examples. This code opens a "captive portal" once I connect to the esp32 access point. #include <WiFi.h> #include <DNSServer.h> const byte ...


4

If you provide a password for you network, it will be encrypted. Thats the point of the password. When you look at the function description in the WifiAP.cpp file of the Wifi class for the ESP32, the description suggests, that it will be encrypted with WPA2, which is currently the standard in Wifi encryption. (Though that can depend on the actual library, ...


4

There are no programmers for ESP32. It only accepts Serial upload over bootloader. Versions of IDE before 1.8.13 displayed programmers for all board support packages, that is why a programmer could be selected. Now only programmers for package of the selected board are available. But programmers are used only with the "Burn bootloader" or "...


4

No. You're way off. If the output can provide 12mA at 3.3V that equates to (P=VI) 39.6mW. Boosting the voltages does not increase the power. Assuming a 100% efficient boost circuit (which does not exist) you would just be boosting to 12V at 39.6mW - which means (I=P/V) 3.3mA. You can't magic more power out of thin air - if you could we'd all have "free ...


4

As this image from Okdo Page on LED Driving shows, there are two ways to drive an LED from a GPIO output pin: In the Active HIGH case, a HIGH output on the GPIO will turn the LED on since that will source current out of the pin and through the LED into ground. In the Active LOW case, a LOW output on the GPIO will sink current from the +V supply into the pin....


4

As @timemage explains in a comment, you cannot pass a capturing lambda to a function that expects a plain pointer to function. There is, however, a way out of this: the Ticker class provides an overload of the attach() method that allows you to provide a parameter of any type to tour callback: template<typename TArg> void attach(float seconds, void (*...


4

Your problem is, that you try to provide a HEX value, but you are actually providing a decimal value. When you just write a whole number like 32, it will be interpreted by the compiler as a decimal number. The decimal number 32 is equal to HEX 20, which is a space character in ASCII. Solution: Write your number as decimal value like this: int i = 0x32; The ...


4

I was able to fix the issue by editing the boards.txt file and adding the following lines: lolin32.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) lolin32.menu.PartitionScheme.huge_app.build.partitions=huge_app lolin32.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 This will add a "Huge APP" partition scheme to WEMOS ...


4

I see multiple problems with your setup: You only take a measurement every 100ms. That measurement takes the voltage during a very short time span. But the lowest string on a guitar in standard tuning has 82.41Hz (E2). You are measuring at 10Hz. According to the Nyquist–Shannon sampling theorem you need to measure at at least twice the frequency of your ...


3

I came across the same issue on my experiments. What sorted the issue for me was powering the ESP-32_CAM from the 5V pin on the programmer. Take the cable off the 3V and plug it into the 5V pin on the cam. Then use the jumper on the programmer to select the 5V. I hope this makes sense and that it helps someone.


3

Solution for if this occurs on a known working ESP-32-cam with PSRAM (i.e. example sketch with face recognition works ok). If you're using anything other than PIX_FORMAT_JPEG, try reducing xclk_freq_hz. In my case, it suddenly worked fine with PIX_FORMAT_RGB888, FRAMESIZE_VGA and xclk_freq_hz = 5000000 (4x lower). ( @Vraj P, this might not apply directly to ...


3

Not sure if you found it, but there I created an SNMP Manager: https://github.com/shortbloke/Arduino_SNMP_Manager There is also an SNMP Agent: https://github.com/0neblock/Arduino_SNMP I know this is a bit later than when you requested this info. But posting here in case it's still helpful to you or others that stumble over this question.


3

WiFi with WPA2 (which is what you get when you specify a password) is encrypted. As long as your HTTP requests only go over that connection and nowhere else then yes, they are encrypted and as secure as WPA2 (which isn't unbreakable, but not easy to break). HTTPS adds encryption for use over the internet which in general is not encrypted.


3

I think you're getting confused between the ESP32 and the ESP8266. There is no need to connect GPIO16 to reset on the ESP32. Instead the ESP32 has the "ULP" - Ultra Low-power Processor in it (essentially the RTC processor) which is what sends wakeup signals to the ESP32 cores. It is this which wakes the system up after an hour. The ULP can also ...


3

The older version of Arduino IDE. 1.8.12 worked.


3

I don't know what you need that Preferences thing for, but I would use SPIFFS/FAT anyway. Simply store the certificate in a file in flash and read that file when you need it. The required space is no problem as you can choose the size for file system in the partition table and also you can upload the file (there is a plugin in the arduino IDE for this ...


3

Is this a sensible solution to the problem? No, unfortunately not. The size of the buffer is limited by the available RAM on your chip. Jumping between multiple buffers or cores will not change that, since it is a hardware limitation. I am hesitant to implement anything that simply relies on an improvement in SD write speed, as I will likely need to ...


3

I would suggest using a 12V controller, and then adding a 3.3V switching regulator using the 12V supply. That would be 2 off-the shelf components and you're done.


3

I looked for information about it in the documentation, but I couldn't find it. Well, some of their documentation says: The TWAI controller’s interface consists of 4 signal lines known as TX, RX, BUS-OFF, and CLKOUT. These four signal lines can be routed through the GPIO Matrix to the ESP32’s GPIO pads. And that sort of seems to be backed up by their ...


3

There is a way of doing it that's ESP32 specific. However it means changing how you define your I2C object. The ESP32 system is set up so that if the TwoWire instance is destructed the I2C bus is released. But you can't do that with the way you normally define the object. So instead you have to use dynamic allocation to control it: TwoWire *I2Clightmeter; ...


3

If 32 is a HEX number its DEC number will be 50 which is a 2 in Arduino chars I still don't understand is how you will receive numbers which has a A,B,C,D,F in HEX numbers like J which is 4A in HEX these commands should work but not sure for character which has a English letter in HEX representation. My code int i = 32; // what ever number String string = ...


3

0x1000 is the "second stage" bootloader. This is the code that is responsible for loading the code according to the layout specified in the partition table. In ESP-IDF, the binary image which resides at offset 0x1000 in flash is the second stage bootloader. Second stage bootloader source code is available in components/bootloader directory of ESP-...


3

Found the Adafruit NeoPixel is the reason for the problem (or the way it is implemented above is not the best). Solved with the fastLED library as below: #include "FastLED.h" #define NUM_LEDS 128 #define DATA_PIN 14 #define BRIGHTNESS 10 CRGB leds[NUM_LEDS]; int delayval = 10; // delay for half a second boolean N0[8][8] PROGMEM = {{0,0,1,1,1,1,0,0}...


2

Just spotted this, but if any one else finds it: You have one CAN speed set to 125kb on MCP2515 the other to 100kb on the VP230. That's why you won't get anything! Mark


Only top voted, non community-wiki answers of a minimum length are eligible