Sunday, March 3, 2024

ESP32 cam and MB code uploaded however nothing in Serial Monitor


Not a difficulty.

Any absolutely launched model of the two.X IDE together with the unique 2.0.0 launch ought to work. For those who’re having an issue today it’s in all probability since you’ve chosen the improper board inflicting issues as defined under.

On the time the unique reply was given the two.0-rc9.1 launch candidate was present. IDE model 2.0-rc9.3 bundled arduino-cli model 0.27.0-rc.1 which accommodates code to make the related settings work. So each model kind the official 2.0.0 launch to present (model 2.1.1 as of this replace).

Unique Reply

Briefly, use the 1.X sequence IDE as an alternative of the two.X sequence IDE. As of writing, this could be IDE model 1.8.19.


In model 1.8.4 help for a board properties known as .serial.disableDTR and .serial.disableRTS had been added.

Sure boards, just like the ESP32-CAM mixed with the ESP32-CAM-MB require this characteristic to ensure that the Serial Monitor to see site visitors (really it is worse than that, which I am going to clarify under). The present 2.X sequence IDE (2.0-rc9.1 as of writing), which has a very completely different code base, seems to not have re-implemented this characteristic. Presumably they’ll ultimately.

If you set up the 1.X sequence IDE, be sure you check the Serial Monitor with the ESP32-CAM chosen. It might be counterintuitive that testing an Arduino UNO as your chosen board would not simply work, given that you simply’re solely utilizing the Serial Monitor and never really compiling or importing. However it should, no kidding, fail to work as this board’s definition doesn’t specify these .serial.disableDTR and .serial.disableRTS properties that the ESP32-CAM board description does.

In case you are questioning, ESP32 add instrument controls DTR and RTS itself irrespective of those board definition properties that have an effect on the Serial Monitor and Serial Plotter. That is why your importing works however your Serial Monitor fails underneath the present IDE 2.0 launch candidate.

With out going into element on what DTR and RTS are imagined to do, and what they are often made to do, and so on, typical working configurations for a serial port are such that when the port is open these alerts are going to go lively. The ESP32-CAM-MB board design is such that having each lively DTR and RTS each lively is successfully pushing down each the GPIO0 and fairly crucially the EN/RESET buttons. In different phrases, with out this extra fiddling that the 1.X sequence IDEs (with right board chosen) and esptool do, opening the serial port has the impact of holding your ESP32-CAM in reset (or NOT-enabling it if you happen to like). So not solely are you not getting any serial site visitors, the board is solely not executing any code in any respect.


You have got different choices additionally, however every type of requires a proof in its personal proper. However, I may give you hints as to what they’re:

It’s potential to proceed utilizing the two.0 IDE to do your improvement and add however use one thing else as an alternative of the two.0 IDE’s Serial Monitor. However it should introduce complexity, confusion, and annoyance into your setup. No matter that “one thing else” is should permit for the disabling for DTR and RTS. Notice that disabling DTR and RTS is not merely turning off stream management; that won’t manipulate them and it’ll ignore their counterpart alerts, however it should additionally go away them within the improper state. One candidate is IDE 1.x’s Serial Monitor. One other is RealTerm, which can permit you to clear DTR and RTS (in that order) to then work as a serial monitor. In any case you have to to shut the serial connection your self prior to every add as the two.0 IDE will likely be unable to do this in your behalf as it will usually do its personal inside monitor.

You too can interrupt the DTR an RTS alerts in {hardware} earlier than the get to the ESP32-CAM board. Having performed that, it not issues whether or not any software program controls DTR and RTS, however you then have to manually function GPIO0 and EN/RESET your self to enter the bootloader. To perform that you will both want to make use of a large number of jumpers and the ESP32-CAM-MB (or every other 3.3V serial transceiver) not mounted to the ESP32-CAM and assemble push button circuits for GPIO0 and EN/RESET. Alternately you may bodily modify the ESP32-CAM-MB in a method that interrupts DTR and RTS from the transceiver however retains operational buttons. This may be performed by desoldering a pair of diodes or chopping the traces on the best way to the buttons and headers.

It might additionally solely take just a few properly positioned strains in one of many 2.0 IDE’s javascript/typescript to crudely hack in a disabling of DTR and RTS, if you happen to do not care what else it breaks. If I get bored perhaps I am going to look into that. Doing it correctly in response to the proper board properties is a extra concerned undertaking although.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles