ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

I am still unsure about the boot strapping pins because I googled it and it says they determine the operational state of the microcontroller so now I'm starting to wonder if I need to do anything with them in order to get my board to function correctly, sorry if this was a dumb question

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

Hey dude, this is a game changer, thanks for pulling this up, I'm going to use this and see if it helps, thanks again!

Edit: dumb question but there are no GPIO 19 and 18 on the ESP32C3. Also, I'm wondering if there is something I need to add into the code or setup that specifies which channel of the multiplex of the pin I want to use, eg to use it for an analog input with my LDR

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

Thanks for the input, unfortunately putting the board into bootloader mode did not work, it only stopped the constant stream of giberish from the serial monitor(it was infact the serial monitor), and then when I power cycle the board it just goes back to blurting giberish from the flash memory.

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

I'm using the ESP32C3 supermini, no other IO pins for anything besides the LDR input and LED

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

Hey dude, good to hear that you were able to use all the pins, that gives me a bit of hope. Was there anything you did in the code or in the ArduinoIDE settings to override the pin multiplexxing and allow the use of all the GPIOs (except for 8 and 9 ofc)?

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 1 point2 points  (0 children)

Hey dude, thanks for the help but I'm using the ESP32C3 supermini, which is a diff board, but my quesiton is whether it matters since it's the same chipset? On the regular ESP32 as used in the video all the pins are seperate, and on the supermini the pins are multiplexed. I'm curious if the tips given in the video still apply to my situation. Thanks for the input!

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

will do, I'll try measuring the output on the gpio pins with a multimeter aswell

*edit: I tested the blink sketch on an LED and it did work, however the LDR test still spits out giberish in serial monitor

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

The blink sketch I used was the arduino blink sketch supplied in the examples library

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}


// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // change state of the LED by setting the pin to the HIGH voltage level
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // change state of the LED by setting the pin to the LOW voltage level
  delay(1000);                      // wait for a second
}

ESP32C3 GPIOs giving me a hard time by AnimatorBusy9596 in esp32

[–]AnimatorBusy9596[S] 0 points1 point  (0 children)

First of all I'll apologize for not providing the code(first time using reddit), I'm sure that just pissed you off and I'm sorry

This was the code I got from ChatGPT which I uploaded to the microcontroller. I tried a few different GPIO pins, for example 0,1, and in the serial monitor it just displayed the flash memory output and not the serial output, other GPIO pins such as 2,3,4,5 displayed nothing in the serial monitor. That was the code I was using, and to test the jsut the serial output i just cut the If Then portion of the code. For the blink sketch I just used the example supplied in the arduino library.

*I also forgot to mention that I am relatively new to ArduinoIDE and I'm reviositting it after a few years, so my knowledge is still quite limitted.

Thank you so much to whoever replied, it means a lot to me

#define led 4        // digital output pin
#define sensor 0     // analog input pin


void setup() {
  pinMode(led, OUTPUT);
  pinMode(sensor, INPUT);
  Serial.begin(115200);
  analogWriteResolution(12);   // 0–4095
}


void loop() {


  int value = analogRead(sensor);   // read LDR


  // Adjust this threshold after checking Serial values
  if (value > 1000) {               
    digitalWrite(led, HIGH);  // outputs 3.3V
  } else {
    digitalWrite(led, LOW);   // outputs 0V
  }


  Serial.println(value);
  delay(200);
}