[platformio] default_envs = Upload_UART ; Default build target ; Common settings for all environments [env] platform = atmelavr framework = arduino ; TARGET SETTINGS ; Chip in use board = ATmega328P ; Clock frequency in [Hz] board_build.f_cpu = 16000000L ; BUILD OPTIONS ; Comment out to enable LTO (this line unflags it) build_unflags = -flto ; Extra build flags build_flags = ; SERIAL MONITOR OPTIONS ; Serial monitor port defined in the Upload_UART environment monitor_port = ${env:Upload_UART.upload_port} ; Serial monitor baud rate monitor_speed = 9600 ; Run the following command to upload with this environment ; pio run -e Upload_UART -t upload [env:Upload_UART] ; Serial bootloader protocol upload_protocol = arduino ; Serial upload port upload_port = COM4 ; Get upload baud rate defined in the fuses_bootloader environment board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} [env:Upload_UART_Forwarded] ; Serial bootloader protocol upload_protocol = custom ; Serial upload port upload_port = COM5 ; Get upload baud rate defined in the fuses_bootloader environment board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} upload_flags = -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf -p$BOARD_MCU -P${env:Upload_UART.upload_port} -carduino -v -V -D upload_command = python switchDevice.py ${env:Upload_UART_Forwarded.upload_port} && avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i ; Run the following command to upload with this environment ; pio run -e Upload_ISP -t upload [env:Upload_ISP] ; Custom upload procedure upload_protocol = custom ; Avrdude upload flags upload_flags = -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf -p$BOARD_MCU -PUSB -cusbasp -D ; Avrdude upload command upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i ; Run the following command to set fuses ; pio run -e fuses_bootloader -t fuses ; Run the following command to set fuses + burn bootloader ; pio run -e fuses_bootloader -t bootloader [env:fuses_bootloader] board_hardware.oscillator = external ; Oscillator type board_hardware.uart = uart0 ; Set UART to use for serial upload board_bootloader.speed = 115200 ; Set bootloader baud rate board_hardware.bod = 2.7v ; Set brown-out detection board_hardware.eesave = yes ; Preserve EEPROM when uploading using programmer upload_protocol = usbasp ; Use the USBasp as programmer upload_flags = ; Select USB as upload port and divide the SPI clock by 8 -PUSB -B8