Reseting the Arduberry


#1

Hello,

I’d like to be able to reset my Arduberry under program control. I would be interested in how to do this in the following ways:

  1. From the Arduberry via a SW function call
  2. From the Pi using a Python Script
  3. From the Pi via a running C language program

In all cases, I’d prefer to trigger a Hard reset (i.e. full restart of the Arduberry as is done when a new sketch is uploaded. I am current using all of my Arduberry I/O pins for other applications so I’d like to find a way to do this in such a way the that D0-13 on the Arduberry are NOT required. I do have plenty of I/O pins available on my Raspberry Pi 2 B. I am guessing that cases 2 and 3 are already in place as the Arduino programmer on the Pi seems to be able to reset the Arduberry when a sketch is loaded.

-Fred


#2

Hi,
The reset pin on the Arduberry is connected to GPIO8 CE0 so it can be reset either by toggling the GPIO8 or with the avrdude utility which is the preferred way by running this on the terminal avrdude -c gpio -p m328p. You can also call this function via subprocess in python and there must be a similar method to run it in C too.

Let me know if this helps.

-Karan


#3

Hi Karan,

Thank you very much for your help. The avrdude reset works fine from the Raspberry Pi. I am sure that toggling GPIO8 will too. This solves part of my question. Is there a way to cause the Arduberry to reset from code running on the Arduberry? I’d like to find a way to do this without using I/O pin on the Arduberry as I’m using all of the available D0-13 pins in my application.

Thanks,

  • Fred

#4

Hi Fred,
If you just want to reset the Arduberry, they you should manually toggle the GPIO8. It is connected to the Reset pin on the Atmega328, so it won;t affect any of the pins from 0-13. The avrdude command does send some data on pins 10-12 when the MCU is reset.

-Karan


#5

Hi Fred,
If you just want to reset the Arduberry, they you should manually toggle the GPIO8. It is connected to the Reset pin on the Atmega328, so it won;t affect any of the pins from 0-13. The avrdude command does send some data on pins 10-12 when the MCU is reset.

-Karan