Introduction: Blinky Fish - Kickstarter Project

Instructions and documentation for the Blinky Fish Kit from March 2013 Kickstarter project.

A PDF copy is attached to this step.
  • Step-by-step assembly instructions
  • Code example
  • Eagle files
  • Fabrication files
  • Invoices
Note: I didn't include instructions for soldering or installing the Arduino software.  Let me know if you have any trouble.

***

Step 1: The Parts

Here are the parts to make one blinky fish.
1 - Blinky Fish board
3 -  Red LEDs
3 -  220ohm resistors
1 - 10Kohm resistor
1 - right angle header with 6 pins
1 - push button
Some solder

Here is the soldering iron I am using:  Hakko FX888D-23BY Digital Soldering Station FX-888D FX-888

Step 2: Large Images

Here are the large images that shipped with the class room  kits.

Step 3: LEDs

LEDs have to go in like this, or they will not work.

Step 4: Resistors: 220ohm

Step 5: Resistor: 10K

Step 6: Button

Step 7: Header

Step 8: Connect to Arduino

Step 9: Arduino Code


Here is the code shown in the Kickstarter video.   Hold the button down and the LEDs light up one at a time, release the button and they go off one at a time.


You can copy and paste the code below into the Arduino program, get it here --  http://arduino.cc/en/Main/Software


//****ARDUINO CODE *******// blinky_1  //LED'S on one at a time// LED'S OFF one at a time//Pinsint Led1 = 11;
int Led2 = 10;
int Led3 = 9;
int Button = 12;
int PullUp = 13;

int ButtonState = 0;
int oldButtonState = 0;

voidsetup() {
  pinMode(Led1, OUTPUT);
  pinMode(Led2, OUTPUT);
  pinMode(Led3, OUTPUT);
  pinMode(Button, INPUT);
  pinMode(PullUp,OUTPUT);
  digitalWrite(PullUp, HIGH);
}

voidloop() {

  ButtonState = digitalRead(Button);

  if (ButtonState != oldButtonState){
    if (ButtonState == HIGH){
      digitalWrite(Led1, HIGH);
      delay(300);
      digitalWrite(Led2,HIGH);
      delay(300);
      digitalWrite(Led3,HIGH);
      delay(300);
    }
    else{
      digitalWrite(Led3,LOW);
      delay(300);
      digitalWrite(Led2,LOW);
      delay(300);
      digitalWrite(Led1,LOW);
      delay(300);
    }
    oldButtonState = ButtonState;
  }
}

Step 10: More Code - Larsen Scanner

Here is a fun sketch from Kathy, who is a Kickstarter backer --- Thanks Kathy!!

when the button is pressed, it will turn the leds on and blink them like a Larsen Scanner. And if you hold down the button for a few seconds, it'll turn it off.

/////////////////////  ARDUINO CODE //////////////////////////////////////
/*Combines code from "Getting Started with Arduino" by Massimo Banzi
http://shop.oreilly.com/product/9780596155520.do */
/*
from Kathy on Kickstarter - 4/7/2013

when the button is pressed, it will turn the leds on and blink them like a Larsen Scanner. And if you hold down the button for a few seconds, it'll turn it off.
*/

int button = 12; //button on pin 12
int pullup = 13; // use pullup on pin 13

int button_state = 0; // see if button has been pressed
int val = 0; // used to store the state of the input pin
int old_val = 0; // previous value of "val"
int delay_time = 250; // how fast or slow the leds blink

void setup(){
// set up leds as output
for (int i = 11; i > 8; i--){
pinMode(i, OUTPUT);
}
pinMode(button, INPUT); //set up button as input
digitalWrite(pullup, HIGH); // set up the pullup to be on
}

void loop(){
{
val = digitalRead(button); //read if the button is pressed

//check to see if there is a change
if ((val == HIGH) && (old_val == LOW)) {
button_state = 1 - button_state;
delay(10);
}
old_val = val;
if (button_state == 1){
for (int i = 11; i > 8; i--){
digitalWrite(i, LOW); // if the leds are on and the button is pressed, turn them off
}
}
else {
blinky_fish(); // if the leds are off and the button is pressed, turn them on
}
}
}

void blinky_fish(){
//blink the leds on and off in sequence like KITT in Knight Rider (aka Larsen

for (int i = 11; i > 8; i--){
digitalWrite(i, HIGH);
delay(delay_time);
digitalWrite(i, LOW);
}
for (int i = 9; i < 11; i++){
digitalWrite(i, HIGH);
delay(delay_time);
digitalWrite(i, LOW);
}
}

Step 11: Eagle Files That You Can Change

Here are the designs in a format that you can can open and change.

A sample version can be downloaded here http://www.cadsoftusa.com/download-eagle/

The schematic is Blinky_2.sch
The board design is Blinky_2.brd


Step 12: Fabrication Files

These are the file that you send to the manufacturer when you order printed circuit boards.

Each file shows a layer of the circuit board.

You can view the actual files with a gerber viewer, but they are difficult to change correctly -- I am using GerbV Gerber File Viewer http://gerbv.gpleda.org/

Step 13: Parts




Here is a large order of parts from DigiKey -
This table does NOT include the 10K resistor and the circuit boards.

                     

Index

Quantity

Part Number

Description

Customer Reference

Unit Price USD

Extended Price USD

       

1

1000

160-1853-ND

LED RED 5MM RND  DIF

RED LED

0.05711

$57.11

       

2

2500

CF14JT220RCT-ND

RES 220 OHM 1/4W 5% CARBON FILM

220 RES

0.00675

$16.88

       

3

100

952-2328-ND

36 POS SIL VERT PIN HDR

RA HEADER

0.7425

$74.25

       

4

300

450-1804-ND

SWITCH TACTILE SPST-NO 0.05A 12V

BUTTON

0.07584

$22.75

       

5

1

KE1132-ND

SOLDER NO-CLEAN .025" 23AWG 1LB

SOLDER

123.61

$123.61

       

6

1

SMDSWLF.020 4OZ-ND

SLD WIRE NO-CLEAN 96.5/3/.5 4OZ.

1

$21.75

$21.75

       
         

Subtotal

$316.35

       
         

Shipping

unknown

       
         

Estimated Sales Tax

$19.77

       
         

Total

unknown

       
                     

Step 14: Order Printed Circuit Boards From China

Here are the details of the PCB order.

This is from Golden Phonix PCB  -- they have 'quick quotes' here.

This is the manufacturer used by the SparkFun company BatchPCB -- they are good for small orders especially if you are ordering multiple designs.

Step 15: To Buy One Now...


A few people have asked about buying this, the Kickstarter project is over.  I thought I would try selling them right in the instructable... but that didn't work.

So, here is link that goes to a webpage, that only has the paypal button to buy the kits.

https://sites.google.com/site/shopmarcnow/


You can get either the Blinky Fish Kit alone, the FishBowl "Fish Out of Water" kit alone, or get both.  Shipping is $2.  If you are not in the USA.... I'm not sure what will happen....

Each kit is to make ONE thing (the kickstarter rewards included parts to make a whole bunch, that is why the price here is a little lower)


You can get either the Blinky Fish Kit alone, the FishBowl "Fish Out of Water" kit alone, or get both.  Shipping is $2.  If you are not in the USA.... I'm not sure what will happen....

Each kit is to make ONE thing (the kickstarter rewards included parts to make a whole bunch, that is why the price here is a little lower)