Usually, as soon as I have soldered a PCB I want to see it working.

So I though to burn into the ATMEGA328P-PU of the gigino kit also a test program, so you can see that your board is up and running without flashing anything.

 

To run properly the test you shall attach a led between D13 pin and the GND pin, it should blink within the following time intervals:

1000 ms

900 ms

800 ms

700 ms

600 ms

500 ms

400 ms

300 ms

200 ms

100 ms

Every time the led goes off, the sketch will print a counter on the serial, so you should connect your serial cable to gigino board to see this output.


//  giginoTest is written by Luigi D'Andrea (www.xappsoftware.com)
//  It is distributed under the BSD license

//  Redistribution and use in source and binary forms, with or without modification, 
//  are permitted provided that the following conditions are met:
//  
//  Copyright (c) 2012, Luigi D’Andrea (www.xappsoftware.com)
//  All rights reserved.
//  
//  * Redistributions of source code must retain the above copyright notice,
//    this list of conditions and the following disclaimer.
//  * Redistributions in binary form must reproduce the above copyright notice, 
//    this list of conditions and the following disclaimer in the documentation
//    and/or other materials provided with the distribution.
//  * Neither the name of the http://www.xappsoftware.com web site nor the names
//    of its contributors may be used to endorse or promote products derived from
//    this software without specific prior written permission.
//  
//  THIS SOFTWARE IS PROVIDED BY http://www.xappsoftware.com AND CONTRIBUTORS
//  “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
//  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
//  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
//  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
//  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
//  IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


int i = 0; // Used to print an incrementing value on the serial

void setup()
{
  Serial.begin(115200);
  pinMode(13, OUTPUT);   
}


void loop()
{
  for(i=0;;i++)
  {
    // Led on pin 13 on
    digitalWrite(13, HIGH);
    delay(1000-100*(i%10));
    // Led on pin 13 off
    digitalWrite(13, LOW);
    delay(1000-100*(i%10));
    Serial.println(i);
    if(i==1000)
      i=0;
  }  
}