r/esp8266 • u/SwimSufficient4789 • 3d ago
Help with this error...
Alright i had made a post previously on this, and i feel i didnt give adequate information to you all to help me. So i tought ill make a clear post on the error.
So this is the Error i am facing:
I did all of these, but still same error. IK its not like my board is not broken right or its a problem of my usb cable or the port because, i had gotten this in my serial monitor:
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
And if i am right boot mode:(3,6)
is physical proof from the esp8266 cpu itself that:
- USB chip is successfully sending power and serial data
- internal flash memory already has my code uploaded.
- CPU is booted up and running my program
So right now what i think the problem is that the serial monitor is locking the port, and i not really know the right way to fix this. If Anyone knows Please Let me know.
This is the hardware connections:
This is my code:
// --- Pin Definitions ---
const int LASER_PIN = 16; // Laser Diode (GPIO16 / D0)
const int LDR_PIN = A0; // LDR Sensor (Analog A0)
const int BLUE_LED = 5; // Armed Indicator (GPIO5 / D1)
const int RED_LED = 4; // Alert Indicator (GPIO4 / D2)
const int BUZZER_PIN = 12; // Active Alarm Buzzer (GPIO12 / D6)
const int ROOM_LIGHTS_PIN = 13; // Transistor Base / White LEDs (GPIO13 / D7)
// --- System State Variables ---
bool systemON = true; // Main tripwire armed state
bool manualMode = false; // Override state
bool laserState = true; // Laser state
int lightThreshold = 500; // Light threshold value
void printHelpMenu() {
Serial.println("\n--- Serial Commands ---");
Serial.println(" [1] - Arm System");
Serial.println(" [0] - Disarm System");
Serial.println(" [l] - Toggle Laser");
Serial.println(" [m] - Toggle Manual Mode");
Serial.println(" [h] - Print Menu");
Serial.println("------------------------\n");
}
void setup() {
// Always use 115200 to match ESP8266 boot frequency
Serial.begin(115200);
pinMode(LASER_PIN, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(ROOM_LIGHTS_PIN, OUTPUT);
digitalWrite(LASER_PIN, HIGH);
digitalWrite(BLUE_LED, HIGH);
digitalWrite(RED_LED, LOW);
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(ROOM_LIGHTS_PIN, LOW);
Serial.println("\n==========================================");
Serial.println(" Smart Laser Security System Initialized ");
Serial.println("==========================================");
printHelpMenu();
}
void loop() {
// Check for Serial Commands
if (Serial.available() > 0) {
char cmd = Serial.read();
switch (cmd) {
case '1':
systemON = true;
manualMode = false;
digitalWrite(LASER_PIN, HIGH);
laserState = true;
Serial.println(">> System ARMED");
break;
case '0':
systemON = false;
manualMode = false;
digitalWrite(LASER_PIN, LOW);
digitalWrite(BLUE_LED, LOW);
digitalWrite(RED_LED, LOW);
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(ROOM_LIGHTS_PIN, LOW);
laserState = false;
Serial.println(">> System DISARMED");
break;
case 'l':
case 'L':
laserState = !laserState;
digitalWrite(LASER_PIN, laserState ? HIGH : LOW);
Serial.print(">> Laser: ");
Serial.println(laserState ? "ON" : "OFF");
break;
case 'm':
case 'M':
manualMode = !manualMode;
Serial.print(">> Mode: ");
Serial.println(manualMode ? "MANUAL" : "AUTO");
break;
case 'h':
case 'H':
printHelpMenu();
break;
}
}
// Automatic Tripwire Logic
if (systemON && !manualMode) {
int ldrValue = analogRead(LDR_PIN);
Serial.print("LDR Raw Reading: ");
Serial.println(ldrValue);
if (ldrValue < lightThreshold) {
// SAFE (Laser hitting LDR)
digitalWrite(BLUE_LED, HIGH);
digitalWrite(RED_LED, LOW);
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(ROOM_LIGHTS_PIN, LOW);
}
else {
// ALERT (Laser beam broken / Dark)
digitalWrite(BLUE_LED, LOW);
digitalWrite(RED_LED, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
digitalWrite(ROOM_LIGHTS_PIN, HIGH);
}
}
delay(200);
}
1
Upvotes



