Uploading to AVR using Raspberry Pi GPIO (avrdude GPIO reset)

I am trying with

env.Replace(UPLOADER="/usr/bin/avrdude")

that is the version avrdude default for raspberry pi and linuxspi programmer if it is available, but platformio does not detect it

I’ve just checked and it works for me

pio run -t program -v
[Fri Aug 26 16:22:00 2016] Processing uno (extra_script: extra_script.py, platform: atmelavr, board: uno, framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Framework incompatible library /Users/ikravets/.platformio/lib/MODSERIAL_ID218
Framework incompatible library /Users/ikravets/.platformio/lib/Servo
Framework incompatible library /Users/ikravets/.platformio/lib/TextLCD
More details about "Library Compatibility Mode": http://docs.platformio.org/en/latest/librarymanager/ldf.html#ldf-compat-mode
Collected 37 compatible libraries
Looking for dependencies...
Project does not have dependencies
Current build targets ['program']
before_upload(["program"], [".pioenvs/uno/firmware.hex"])
before_upload
BeforeUpload(["program"], [".pioenvs/uno/firmware.hex"])
/path/to/hacked/avrdude -v -p atmega328p -C "/Users/ikravets/.platformio/packages/tool-avrdude/avrdude.conf" -c arduino -U flash:w:.pioenvs/uno/firmware.hex:i
sh: /path/to/hacked/avrdude: No such file or directory
scons: *** [program] Error 127
  1. Please verify that you use extra_script.py above
  2. You should use program target
  3. The script should contain env.AddPreAction("program", before_upload).
  4. Try uploading with --verbose.

Working, but I have the next error

scons: *** [program] /sys/class/gpio/gpio22value: Permission denied

I am run with sudo

sudo pio run -t program -v

Could you try to restart RPi?

Yes, if not restart i have the next error

scons: *** [program] Device or resource busy

Please try to disable “after” uploading

# env.AddPostAction("program", after_upload)

Same error
scons: *** [program] /sys/class/gpio/gpio22value: Permission denied

Could you flash this board without PIO?

Working!!

My platformio.ini is:

[env:attiny85]
platform = atmelavr
framework = arduino
board = attiny85
board_f_cpu = 800000
upload_flags = -C /etc/avrdude.conf -P$UPLOAD_PORT -b 10000
upload_protocol = linuxspi
upload_port = /dev/spidev0.0
extra_script = extra_script.py

Thanks!

Aaaaa /etc/avrdude.conf :slight_smile: Yep, the config also should be used a correct.

My congrats! That was really interesting for me to resolve this task with PlatformIO. Now I understand how is PlatformIO powerfull :blush: