Pages

Friday, December 4, 2015

Raspberry Pi & Arduino talking nicely!!!


This is a picture of success!!!
Once again many thanks have to go out to Tony DiCola of Adafruit for publishing his most AWESOME tutorial on Programming an Arduino using the Raspberry Pi GPIO
This enabled me to upgrade to Avrdude 6.1 from the Adafruit Repository and then program the Arduino thru the ICSP header from the GPIO pins.
.... And the bonus is that I can leave my serial connection from the Raspi to the Arduino connected while the programming is taking place!!!!!
So follow his steps to download the new version of Avrdude to your Raspi and hook up the pins from the GPIO header to the Arduino ICSP header.
Test run the program to ensure it can see the Arduino and you're off!
You need to directly upload a .hex file using Avrdude, so the Arduino IDE will do the converting/building for you from .ino to .hex.
I've been using Arduino-mk to upload my .ino sketches (since I like using the command line), so now I just use Arduino-mk to make the sketches, and Avrudude61 to upload them.

The following steps outline Tony's process:

Step 1 - Add the Adafruit repository to the Raspi list using the command:
curl -sLS https://apt.adafruit.com/add | sudo bash

Step 2 - Install the new version of Avrdude by running the following:
sudo apt-get install avrdude 

Step 3 - copy the /etc/avrdude.conf file to my home directory and rename it ~/avrdude_gpio.conf

Step 4 - add the following test to the end of the .conf file in my directory:

# Linux GPIO configuration for avrdude
# Change the lines below to the GPIO pins connected to the AVR. 
programmer
    id = "pi_1"; 
    desc = "Use the Linux sysfs interface to bitbang GPIO lines"; 
    type = "linuxgpio";
    reset = 12; 
    sck = 24; 
    mosi = 23; 
    miso = 18;
;

Step 5 - run the following command to confirm connection to the Arduino:
sudo avrdude -p atmega328p -C ~/avrdude_gpio.conf -c pi_1 -v

Step 6 - Once successful, goto a directory with the .hex file you want to upload to the Arduino and run the following command:
sudo avrdude -p atmega328p -C ~/avrdude_gpio.conf -c pi_1 -v -U flash:w:Blink.cpp.hex:i 
>>> and you should be able to watch Avrdude upload the sketch and verify it.

++++++++ Oh Yeah, and this is my first post done completely on my Rapsberry Pi 2 in the picture!!!! A little slower than I'm used to, but works great!!! +++++++

No comments:

Post a Comment