Hello, I am trying to use up a Adafruit Trinket 5V/16MHz in today’s project.
Only problem is that PlatformIO doesnt seem to want to push firmware to the device. Arduino IDE works fine though. After uploading with PlatfromIO, the board just loops through the bootloader animation quickly, whereas uploads w/ArduinioIDE run normally
Here is my platformio.ini:
[env:trinket5]
platform = atmelavr
board = trinket5
framework = arduino
upload_protocol = usbtiny
And the log of upload:
Executing task: platformio run --target upload
Processing trinket5 (platform: atmelavr; board: trinket5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/trinket5.html
PLATFORM: Atmel AVR (5.1.0) > Adafruit Trinket 5V/16MHz
HARDWARE: ATTINY85 16MHz, 512B RAM, 8KB Flash
DEBUG: Current (simavr) External (simavr)
PACKAGES:
- framework-arduino-avr @ 5.2.0
- tool-avrdude @ 1.60300.200527 (6.3.0)
- toolchain-atmelavr @ 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 5 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/trinket5/src/led/led.cpp.o
Compiling .pio/build/trinket5/src/main.cpp.o
Archiving .pio/build/trinket5/libFrameworkArduinoVariant.a
Compiling .pio/build/trinket5/FrameworkArduino/CDC.cpp.o
Indexing .pio/build/trinket5/libFrameworkArduinoVariant.a
Compiling .pio/build/trinket5/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/HardwareSerial0.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/HardwareSerial1.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/HardwareSerial2.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/HardwareSerial3.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/PluggableUSB.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/Print.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/USBCore.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/WInterrupts.c.o
Compiling .pio/build/trinket5/FrameworkArduino/WMath.cpp.o
In file included from /home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/Tone.cpp:37:0:
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/Tone.cpp: In function 'void TIMER2_COMPA_vect()':
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/Tone.cpp:538:5: warning: 'TIMER2_COMPA_vect' appears to be a misspelled 'signal' handler, missing '__vector' prefix [-Wmisspelled-isr]
ISR(TIMER2_COMPA_vect)
^
Compiling .pio/build/trinket5/FrameworkArduino/WString.cpp.o
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c: In function 'attachInterrupt':
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c:198:8: warning: #warning attachInterrupt may need some more work for this cpu (case 1) [-Wcpp]
#warning attachInterrupt may need some more work for this cpu (case 1)
^~~~~~~
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c: In function 'detachInterrupt':
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c:312:8: warning: #warning detachInterrupt may need some more work for this cpu (case 1) [-Wcpp]
#warning detachInterrupt may need some more work for this cpu (case 1)
^~~~~~~
In file included from /home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c:29:0:
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c: In function 'INT1_vect':
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c:373:15: warning: 'INT1_vect' appears to be a misspelled 'signal' handler, missing '__vector' prefix [-Wmisspelled-isr]
IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_1)
^
/home/USER/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c:373:1: note: in expansion of macro 'IMPLEMENT_ISR'
IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_1)
^~~~~~~~~~~~~
Compiling .pio/build/trinket5/FrameworkArduino/abi.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/hooks.c.o
Compiling .pio/build/trinket5/FrameworkArduino/main.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/new.cpp.o
Compiling .pio/build/trinket5/FrameworkArduino/wiring.c.o
Compiling .pio/build/trinket5/FrameworkArduino/wiring_analog.c.o
Compiling .pio/build/trinket5/FrameworkArduino/wiring_digital.c.o
Compiling .pio/build/trinket5/FrameworkArduino/wiring_pulse.S.o
Compiling .pio/build/trinket5/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/trinket5/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/trinket5/libFrameworkArduino.a
Indexing .pio/build/trinket5/libFrameworkArduino.a
Linking .pio/build/trinket5/firmware.elf
Checking size .pio/build/trinket5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [ ] 1.8% (used 9 bytes from 512 bytes)
Flash: [=== ] 33.4% (used 2734 bytes from 8192 bytes)
Building .pio/build/trinket5/firmware.hex
Configuring upload protocol...
AVAILABLE: usbtiny
CURRENT: upload_protocol = usbtiny
Looking for upload port...
Uploading .pio/build/trinket5/firmware.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e930b (probably t85)
avrdude: reading input file ".pio/build/trinket5/firmware.hex"
avrdude: writing flash (2734 bytes):
Writing | #avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
## | 100% 1.94s
avrdude: 2734 bytes of flash written
avrdude: verifying flash memory against .pio/build/trinket5/firmware.hex:
avrdude: load data flash data from input file .pio/build/trinket5/firmware.hex:
avrdude: input file .pio/build/trinket5/firmware.hex contains 2734 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.73s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x00aa
0x00 != 0x38
avrdude: verification error; content mismatch
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done. Thank you.
*** [upload] Error 1