I need to use an atmega328p on a circuit that will be powered by a battery and will be “talking” (serial communication Tx/Rx) with the esp8266 (operates only @3.3v).
In order to interface directly (no voltage divider, no level shifter, no diode in series etc) with the esp8266 the atmega needs to send 3.3v on the Tx pin.
For a quick moment I though that by powering the atmega on the vcc line with 3.3v the output of the HIGH signals would be 3.3v as well, but of course not; so I realized that I need to burn a version of the bootloader that sets the atmega328 at 3.3v and use the corresponding crystal value of < 10 MHz. Also I would need to change the value of the BOD to a suitable value or disable it
I found 2 tutorials on the Arduino website that explains how to burn the bootloader on a blank atmega chip and another one that explains how to do it using the internal 8MHZ oscillator as a clock.
But they don’t apply to my question ( and also they provide hardware configs that are supposed to work with older version of the Arduino IDE, so I am not sure if the current 1.8.5 version will work).
Can somebody provide an updated method on how to accomplish this.? I have seen videos on youtube using such configs like the moteino for example so it is doable .
But I only have a blank chip and don’t want to 'brick" it following the wrong procedure. I appreciate the help in advance!