Introduction: Use Eagle to Make Custom Sensor Shields With Example Project

About: Graduated Systems Engineer from the University of North Carolina at Charlotte. Currently working as a manufacturing engineer. I have mostly used this site for Arduino projects and coding.

Have you ever wanted to have complete control of your electronics and home outlets but in a classy DIY kind of way. Have you ever started doing a project and then looked at your hopelessly tangled ball of wires, micro-controllers, sensors, relays, and butt spliced janky wire connections wrapped in 3 rolls of ripped up electrical tape so you can trouble shoot why the green LED lights up instead of the red one?

....well, do I have an instructable for you.

Hey, Billy Mays here, and I've got a solution for your cluster problem that's so effective you'll stick that hodgepodge of PCBs' and wires into the slap chop and happily restart any DIY electronic project. Not only are we going to do that, but were going to set you up with this easy and classy starter project from which you can expand the concepts in this instructable into other projects.


Main points

  • How to use Eagle to develop custom Arduino shields to house various sensors and circuits to remove clutter and unappealing hand made boards.
  • How to select various pin headers so that any arduino type module can be attached to the custom shield.
  • How to apply custom text to your shield
  • How to generate files necessary to send to custom PCB manufactures to be made and sent to your home.
  • Complete an Arduino project that uses 2 Arduino micro-controllers that communicate via RF antennas to turn an LED strip on/off. One arduino will be a transmitter that uses an RC522 RFID reader to read an RFID ring and send a signal to the Arduino receiver that will turn the lights on and off.


Parts List: (All items are linked to a place to purchase them)

Step 1: Design Your Very Own Custom Arduino Shield (Schematic)

For this step we are going to be designing a custom arduino shield to attach both the RC522 RFID reader as well as the NRF24L01 antenna to drastically decrease wires, hold your modules directly to your board, and add a professional look to your project. In the future if you have a project that needs a relay, an NRF240L01 and some other random components you can custom build it with this solution for cheap. I have included a ton of pictures as a step by step guide to this step in the instructable. Feel free to roll through them for a visual reference on how to complete this step.

  • Download Eagle

The first step is to download the Eagle software. The software can be found here.

  • Download the SparkFun/Adafruit Eagle library

The SparkFun Eagle library can be found here.

The Adafruit Eagle library can be found here.

Click on the clone/download button on both websites and download the .zip file. Then unzip the file and move it in the next step.

  • Add the SparkFun/Adafruit library to the Eagle software files

This can be done by taking the files downloaded from the github website from the previous step and adding it to the libraries file in Eagle. Navigate to your Eagle folder, it may be in documents or program files, and find the library folder. The folder pathway looks something like this (Documents or ProgamFiles)/EAGLE/Libraries.

After the file is located inside of the EAGLE library folder and unzipped from the github download, open the Eagle program. You will be on the control panel once the program opens. Click the options menu from the toolbar and select "Directories...." The screen that pops up will have a textbox at the top with a filepath in it and has the word Libraries written next to it. Make sure the pathway says this "$HOME\EAGLE\libraries." You can however save your library somewhere else and use a semi colon between the two pathways to have libraries in more than 1 location.

Once you have the file path set click ok and return to the control panel. From here click the libraries drop down and then click the libraries drop down underneath the first libraries folder and make sure your newly added libraries are there. Once you can see the newly added libraries here right click the second library folder and click use all. This should activate all of the libraries in this folder.

  • Start a new project

From the Eagle control panel click the projects drop down. Underneath this folder will be another folder called projects, just like the library folder. Right click the second projects folder and click new project. This will add a new project with the Eagle logo "E" beside it. Type in a name for your new project.

  • Create a new schematic

Once you have a new project right click the project and click new, then click Schematic. This should open up a blank schematic in a new window.

  • Add your schematic modules ****The bottom paragraph here is important***

Once the new schematic window is open you will want to click the add module button on the tool bar on the left hand side. See the pictures from this section for a visual reference.

From this window you will be able to search through all modules from your included libraries. The first module you will want to add is the arduino foot print. Search for the following: "*Shield*". Please see the picture associated for a visual reference. IT IS IMPORTANT TO NOTE THAT THE * SYMBOL IS A WILDCARD SEARCH ON EAGLE. THIS MEANS THAT THE LIBRARY WILL SEARCH FOR ANY LENGTH OR TYPE OF CHARACTERS BEFORE AND AFTER THE WORD SHIELD IN THIS EXAMPLE. Once the search completes click one of the shield patterns and ok to add it to the module.

Repeat this steps for a 1x8 pin header, a 2x4 pin header, and a 1x2 pin header. We will add 3 other modules for some power and GND buses later. Search *head* to find the list of pin headers. See the pictures from this step for a visual reference. Once you have all 4 modules, The Arduino Uno, The 1x8, the 2x4, and the 1x2 pin headers you will be ready to begin netting.

*Important

The way this is going to work is the arduino module will act as the main portion of the shield. It will place all the pins in position for the modules to be placed on too. The 1x8 pin header module will be used with the RC522 module. If you look at the RC522 module it has a 1x8 pin out on the board. We will end up sliding this module straight onto the 1x8 pin out. The 2x4 pin headers are for the RF antenna module. The antenna will sit straight down onto this pin out. The 1x2 pinout is for Vin and GND to power the Arduino and act as a common ground between all the modules.

  • Netting Your Components

To add electrical connections between your Arduino shield pins and the modules, the RC522 and RF antenna, you will need to "net" them. Netting is essentially creating a virtual wire between 2 points of connection that will be added to the physical board later. Think of the netting lines as wires. Note you can right click while making nets to change the way the wires are drawn.

*The rest of this section is for netting. Feel free to use the pictures from the section as a quicker reference then reading this.

To begin netting click the net button on the left side tool bar that looks like a green side ways "L." See the pictures from this section for a visual reference.

  • Connecting the 1x2 pin set that is the power input to the Arduino and modules.

Connect one side of the 1x2 pin to the Arduino Vin. Then right click the line and under the pop up window select name. Then name the line Vin.

Connect the other side of the 1x2 pin to one of the Arduino GND pins. It doesn't matter which one. We will be doing a GND pour to cover all GND pins. Right click the line and go to name again. Name this wire "GND."

  • Connecting the 1x8 pin set to the Arduino that is the RC522 module

Connect the 3.3V pin from the Arduino to the end of one side of the 1x8 pin set.

Connect digital pin 2 from the arduino, usually noted as "D2" to the next pin on the 1x8 pin set.

Connect the other GND pin to the third spot on the 1x8 pin set.

Connect digital pin 7 from the Arduino to the 4th spot on the 1x8 pin set.

Connect digital pin 3 to the 5th spot on the 1x8 pin set.

Connect digital pin 4 to the 6th spot on the 1x8 pin set.

Connect digital pin 5 to the 7th spot on the 1x8 pin set.

Connect digital pin 6 to the 8th spot on the 1x8 pin set.

This concludes all netting to the 1x8 pin set that will be used for the RC522 Module.

  • Connecting the 2x4 pin set to the Arduino that is for the RF Antenna module.

Connect the top left pin to the 3.3V wire. You can connect this to the pre-existing wire that is connected to the 1x8 pin set. You will notice a circle appear when you link the wire and the program will ask you if you want to merge the wires. Select yes

Connect the top right pin to GND. Once again you can connect to the pre-existing GND wire going into the 1x8 pin set. Merge the wire into the GND wire.

Connect the second from the top left pin on the 2x4 pin set to Arduino digital pin 9.

Connect the second from the top right pin on the 2x4 pin set to Arduino digital pin 8.

Connect the second from the bottom left pin on the 2x4 pin set to Arduino digital pin 11.

Connect the second from the bottom right pin on the 2x4 pin set to Arduino digital pin 13.

Connect the bottom right pin on the 2x4 pin set to Arduino digital pin 12.

This concludes all netting for the 2x4 pin set that will be used for the RF Antenna module.

  • Creating 3 power banks, 3.3V, 5V, and GND

Something that is typically in short supply on any micro-controller is the 5v, 3.3v, out puts and ground. When you build a custom shield you typically always want to have a few extra slots for various stuff. By adding three 1x5 pin sets you can easily make extra sports for power output and GND.

Open up the add module screen and search *head* again and find the 1x5 pin sets.

Once you find them, add 3 of them across the bottom of the schematic.

Connect all the pins in each pin set together. For example on the pin set you want to be GND, tie each of the pins on the same module together.

After each module is tied together tie them into their corresponding net, or wire. the GND will attach to the GND wire, the 5v will tie into the 5v output of the Arduino board, and the 3.3v will tie into the 3.3v wire you used to power the other modules. Please see pictures attached to this example for a visual reference.

Step 2: Design Your Very Own Custom Arduino Shield (PCB)

Once your schematic is done it is time to actually make the board. This step will require you to move all the part modules onto the board and route the wires. I will also show you a nifty trick to make a power and GND pour that will cover the entire board so you can cut back on your routing. Routing is the internal copper or conductive pours inside of the PCB that is essentially represented by the netting or green lines from the last step. In most circuits the majority of the routes are power and GND, which is where the full board pours come in handy.

Some things to note:

  • This board will be a 2 layer board. Most custom PCB manufacturers do 2 layer boards for cheap.
  • We will be uploading this board to a manufacturing company called OSH park
  • The layers are split up into 2, the top and bottom.
  • A silkscreen is the print, text, and images on the board. There is a top and bottom silk screen. These are noted as layers tPlace and bPlace.

*All steps have a picture representation in the step. You can step through the pictures to avoid read time and check what your doing.

STEPS:

  • Generate your PCB board

To generate your PCB click on the Generate/Switch to board button. This is on the top toolbar. Check the pictures for a visual reference.

When you click this button if you do not have a file for the board already the program will ask you if you wish to create one. Click yes.

  • Placing modules

Once the board opens you will see a large black work area. The dark black area is the actual board. Your modules should be sitting off to the side with yellow lines running between them. The yellow lines are the netting, green lines from your schematic, connections. You will want to use the move and rotate tool from the toolbar on the left hand side of the screen to place your components on top of the Arduino foot print. See pictures for a visual reference. Keep in mind what your modules look like and what they need to do as you place them. You don't want to make a board and then modules not fit because the pin sets are too close together or interfering with each other.

  • Routing

Routing is the act of placing conductive lines in your board to connect the different modules. It is essential the same thing as the netting lines from the schematic. You will want to route all of your yellow lines except for the 3.3V and GND lines because we are going to do pours for those. Essentially since the board is 2 layers we will make 1 entire side of the board 3.3V and the other GND and then insulate your single routing lines from contacting them.

Please note the layer button on the top tool bar. You can route on either the top or bottom layer. They should be the first 2 layers on the drop down. Any routing can cross over a route on the other layer but may not cross a route on the same layer. Top layer routes are red and bottom layer routes blue for my program. So red and blue routes may cross each other but red can not cross red and blue can not cross blue as this would cause a cross connection in the board.

Once your routes are done use the move tool to shrink the dark black area down to the smallest size you can. This will save you money and create a better final product, as well as not waste tons of PCB. The dark black area is essentially the outline of your final product. Use the move tool and drag the line around the outside edge of the dark black area.

Once you have all nets routed with the exception of the 3.3V and GND nets you will be ready to make your polygon pours.

  • Making polygon pours

To make a polygon pour click on the pentagon on the left hand side tool bar. See the pictures for a visual reference.

Make sure you are on either the top or bottom layer before you begin drawing your polygon.

Draw a rectangle around the entire board out in the workspace area that is not the actual board. As you draw the line will be solid but when you finish and reconnect it back to where you started it will turn dotted.

After you complete the polygon, the program will ask you for a serial name. Type in the corresponding serial name to the net you made in the schematic sketch. For example if you draw a polygon on the top level and want it to be the 3.3V net from the schematic you will need to make sure the name matches. Check your schematic by going back to it and clicking the green line that is the 3.3V wire and checking what the name is. The same can be done for the GND polygon. In this example the names are "3.3V" and "GND".

  • RatsNest

To check everything you will want to run a rats nest. Do this by clicking the rats nest icon on the tool bar on the left hand side of the window. This should drastically altar the appearance of your board. Please see pictures for a visual reference. Notice how the entire board turns red and blue in most sections. This is showing where those pours have been made. Notice how the red routes that were single from your first route are now outlined in blue. This is because the top level pour is being automatically isolated from your single routes to make sure you don't have a cross connection. Feel free to hide/show layers in layer settings to see how it all goes together. To make sure you did this step correctly zoom in on any 3.3V or GND pins and make sure there is a corresponding cross of the same pour level on it. Please see pictures for a visual reference.

  • Adding text and images

You can add text or images to the top or bottom of the board. This is done by selecting either the tPlace or bPlace layer and using the text tool on it. The text tool can be found on the left hand side toolbar and is the letter A. If you want to include an image just make sure it is saved as a 16 bit map file and use the internal ULP script to upload it. Do this by clicking the ULP icon on the top tool bar and selecting "import-bmp." This will allow you to select the file and input some variables for how fine of detail the image should be. Various manufacturers have different abilities so check with their website. For OSH park, the company being used in this instructable, they highly suggest less than 400. Once the image uploads use the group button from the left hand tool bar to select the whole image at once. Then click on the move tool and hold down ctrl and right click the image to drag and drop. Don't forget to delete the file path that is created when you make the image.

  • Saving your CAM file

After you are completely done with your board file you will be ready to export a CAM file. This will create a zip file at a destination of your choosing, inside the project by default, for you to upload your board to a website.

First click the generate CAM button on the top tool bar. See the pictures for a visual reference.

From there a window will pop up showing you all the files that will be generated. Click ok.

Choose a place to save the .zip file and remember where so you can upload to the OSH park website. I suggest using the default location inside the Eagle projects folder.

  • Uploading and ordering on OSH park

There are various places online that will make your PCB board for you. I am a fan of OSH park and they have great prices and I have never been unsatisfied with their products.

Go to their website here.

From there make an account if you do not already have one and then go back to the main page.

Use the large rectangle on the home screen to either drag your .zip file to it or click browse for files and chose it that way.

Once you do this the website will automatically begin processing your .zip file.

After it processes it will show you a review of your board and ask you to add a name and description. Make sure the board looks correct here. It will also tell you the cost of the board. Pay attention to any warnings at the bottom of the page. Some warnings are fine and some are not. You will have to decide if you get one. Then click next.

The next page is the most important page to review. It will tell you exactly where all the holes will be drilled. Where conductive material will be poured. Where all your routes will be made. The overall dimensions of the board. The silks screens. All of this is both for the top and bottom.

Click either save or order depending on what you want. Saving will put it on your profile where you can order later and order will take you straight to the ordering page.

Don't forget to share your board so that anyone can order it. You aren't compensated for this but ya know, open source is the best.

Conclusion:

  1. Click the schematic/board transition button on the top toolbar to create your board file.
  2. Use the routing tool on the left hand tool bar to connect all pins that are not ground and the power supply voltage you are commonly using.
  3. Remember you have 2 layers and routes on different layers can cross but not routes on the same layer.
  4. After routing is done use the polygon tool to draw a rectangle around the outside of your board and name it the same name as the net wire used on the schematic.
  5. Click the rat nest tool on the left hand tool bar to double check all routes and polygon pours.
  6. Add any text or images to the board on either tPlace or bPlace.
  7. Use the CAM generator to make your .zip file that will be uploaded to a manufacture's website.
  8. Upload your .zip folder to the OHS website and review it carefully. Then save or order your board.

Congratulations, if you ordered the board you have a new custom Arduino shield to be delivered to your home or business. You are ready to move on to the other steps, which you can complete while your board is being made.

Step 3: Setting Up the RFID Ring and RC522 Scanner

For this step you will need an Arduino, an RC522 RFID module, and your RFID ring. You could also use any RFID tag if you didn't get the ring.

First, download this RFID library. It's not the most popular one but it works well for this project because it has you call out all the pins and works with the RF Antenna module well.

The RFID Library for this can be found here.

Once downloaded, unzip the file, and add it to your Arduino library.

Next hook up your RC522 module to an Arduino and upload the sketch below. Make sure to change any pins to be the same ones you made for your custom Arduino shield if your doing this portion while you wait for that delicious custom shield to come.

Once your code has compiled open your serial comm and use it to figure out what the RFID code on your ring is. Write this RFID tag number down or save it so that you can use it in the final code.

*Special note, these RFID rings are made of metal so it will block how easily the reader can pick up the code. If the ring doesn't scan right away make sure the NRF text written on the side of the wring is moved to the outside and closest to the scanner.

Connection Chart:

RC522 - Arduino

Vcc - 3.3V output

RST - digital pin 2

GND - GND

MISO - digital pin 3

MOSI - digital pin 4

SCK - digital pin 5

NSS (SDA) - digital pin 6

IRQ - digital pin 7

<p>/*******************************************<br>* function:get the id of RFID key
* RFID SunFounder Uno
* VCC 3.3V
* RST 2
* GND GND
* MISO 3
* MOSI 4
* SCK 5
* NSS 6
* IRQ 7
****************************************/</p><p>#include"rfid1.h"
RFID1 rfid;//create a variable type of RFID1</p><p>uchar serNum[5]; // array to store your ID</p><p>void setup()
{
Serial.begin(9600); //initialize the serial
rfid.begin(7, 5, 4, 3, 6, 2);  ////rfid.begin(IRQ_PIN,SCK_PIN,MOSI_PIN,MISO_PIN,NSS_PIN,RST_PIN)</p><p>
delay(100);//delay 1s
rfid.init(); //initialize the RFID
}
void loop()
{
uchar status;
uchar str[MAX_LEN];
// Search card, return card types
status = rfid.request(PICC_REQIDL, str);
if (status != MI_OK)
{
return;
}
// Show card type
rfid.showCardType(str);
//Prevent conflict, return the 4 bytes Serial number of the card
status = rfid.anticoll(str);</p><p>if (status == MI_OK)
{
Serial.print("The card's number is: ");
memcpy(serNum, str, 5);
rfid.showCardID(serNum);//show the card ID
uchar* id = serNum;
if( id[0]==0x88 && id[1]==0x04 && id[2]==0x43 && id[3]==0x60 ) 
{
  Serial.println("hit");
}
Serial.println();
Serial.println();
}
delay(500);</p><p>rfid.halt(); //command the card into sleep mode 
}</p>

Once you have this step completed you are done with the RC522 module until the final build.

Step 4: Putting Together the Wall Transmitter

Once you have your RFID number on your ring or tag and have received your custom shield you are ready to finish the wall transmitter. This step will require you to attach the power supply, upload the final wall transmitter code, attach the RC522 to your custom shield if you have not already, and attach the RF Antenna module to your custom arduino shield. I would also highly suggest building some kind of case for your board or at least put the Arduino uno and your shield into an Arduino case that typically comes with the board and mounting that to the wall.

  • The power supply

Depending on the power supply and how the end looks you will need to do one of two things. If your power supply has the barrel jack end and is between 5 and 12 volts DC congratulations your done. Plug it into the Arduino barrel jack and your ready to go.

If your power supply dosen't have the barrel jack and your using something from another project then you will need to solder the red, hot wire, from the power supply into the 1x2 pin that is connected to Vin on your custom shield. You will then need to solder the ground wire from your power supply into your 1x2 pin header that is for GND.

Either way make sure your Arduino has a clean and proper DC 5v-12v supply. You shouldn't need anything more than a standard 2 amp supply.

  • Plug in all modules

Plug in both the RF Antenna and RC522 Module. Make sure you don't turn either component around backwards or else it won't work. Once you plug in both modules download the code below and upload it to your Arduino. The only code you will have to change is the actual RFID number to match yours. The line of code:

if( id[0]==0x88 && id[1]==0x04 && id[2]==0x43 && id[3]==0x60 )

will need to be changed. Here my RFID tag number is 88044360. So whatever your number is change accordingly. You will need to do your first 2 digits where the 88 is and then the next 2 digits where the 04 is and so on. After that the code should compile and work correctly. You can use my Serial.println code to check your serial monitor to make sure it works correctly.

<p>/*******************************************<br>* function:get the id of RFID key
* RFID SunFounder Uno
* VCC 3.3V
* RST 2
* GND GND
* MISO 3
* MOSI 4
* SCK 5
* NSS 6
* IRQ 7
****************************************/
//Libraries
#include"rfid1.h"
#include <nrf24l01.h>
#include <rf24.h>
#include <spi.h></spi.h></rf24.h></nrf24l01.h></p><p>//Set up
RFID1 rfid;//create a variable type of RFID1
uchar serNum[5]; // array to store your ID
const byte address[6] = "00001";
RF24 radio(8, 9);
int InOut = 0;</p><p>void setup() {
  // put your setup code here, to run once:v
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
rfid.begin(7, 5, 4, 3, 6, 2); ////rfid.begin(IRQ_PIN,SCK_PIN,MOSI_PIN,MISO_PIN,NSS_PIN,RST_PIN)
delay(100);//delay 1s
rfid.init(); //initialize the RFID
pinMode(A0, OUTPUT);
}</p><p>void loop() {
  // put your main code here, to run repeatedly:
  Serial.println(InOut);
//Look for Look for rfid ring
uchar status;
uchar str[MAX_LEN];
// Search card, return card types
status = rfid.request(PICC_REQIDL, str);
if (status != MI_OK)
{
return;
}
// Show card type
rfid.showCardType(str);
//Prevent conflict, return the 4 bytes Serial number of the card
status = rfid.anticoll(str);</p><p>if (status == MI_OK)
{
Serial.print("The card's number is: ");
memcpy(serNum, str, 5);
rfid.showCardID(serNum);//show the card ID
uchar* id = serNum;
if( id[0]==0x88 && id[1]==0x04 && id[2]==0x43 && id[3]==0x60 )  //Change this line of code to your RFID number
{  
Serial.println("HIT");
digitalWrite(A0, HIGH);
if(InOut==0){
    const char text[] = "ALL ON";
    radio.write(&text, sizeof(text));
    InOut = 1;
    Serial.println("All On");
    delay(3000);
}else if(InOut==1){
    const char text[] = "ALL OFF";
    radio.write(&text, sizeof(text));
    InOut = 0;
    Serial.println("All Off");
    delay(3000);
}</p><p>digitalWrite(A0, LOW);
}
delay(500);</p><p>rfid.halt(); //command the card into sleep mode 
}}</p>

Once it all seems to be working correctly it is time to move on to the receiver and LED strip portion of the instructable.

Step 5: Putting Together the LED Receiver

The LED strip will be attached to your arduino, a power supply, and another RF antenna to receive the on/off command from the wall transmitter. Depending on how many lights you have, will change your decision based on if you need an Arduino Mega/Uno, and the size of your power supply. My project was running LED strips around the entire top of my room which was about 800 LEDs, or 2.5 rolls of LED lights. Another major portion of calculating power requirements will be how bright you run your LEDs'. I don't run my LEDs' very bright so therefore it doesn't require many amps to run. The brightness can be adjusted in the source code for this step. I wouldn't set brightness at anymore than 50 or so.

For fewer lights, less than 150:

  • Arduino Uno
  • 4 amp power supply

For lights greater than 150 but less than 400

  • Arduino Uno
  • Large power supply, something with 20 amps or more

For more than 400 lights

  • Arduino Mega
  • Large power supply with 40 amps or more. Maybe even 60 amps if 800 or more LEDs.

*Keep in mind its a good rule of thumb to have more amps than less. The LEDs will only use the amps they need and therefore if you guess too low if will cause the circuit to fail but if you have more amps than you need you just have excess amps to spare.

Do you need a DC Buck Converter?

The circuit is fairly simple to put together. But considering the different power supplies may supply different DC voltages you will need to consider this while building the circuit. Typically wall plug in power supplies, like the 4 amp one in the small light set up puts out 12 volts of DC. This is fine for your Arduino but will destroy your LED strip. If you try and use the 5v output on the Arduino uno there is a good chance the amp load will become too great and burn up your Uno. Therefore you will need a DC Buck converter to step the 12 DC volts down to 5 DC Volts. From here you can run the 5V output to both the Arduino and the LED strip. If you have the large power supply then it should have a 5 volt regulator so the DC Buck converter is not needed. I have attached various Fritz schematics for each situation to this step.

If you have a lot of LEDs' how do you wire them?

If you have a lot of LEDs be sure to power them correctly. Typically you want 20 amps of power per roll of LEDs. It is also important to remember that as power moves through the strip there is a small drop in voltage from light to light. If you allow the voltage to drop too low it will impact the brightness of the LEDs and eventually even cause them to not turn on. It is important to inject power along the LED strip. This can be done in the middle or even at the end of the strip. So if you are using an entire roll of LEDs then it is a good idea to inject 5v power and GND at both ends of the strip. If you are using 2 rolls make sure to inject power and GND between the 2 rolls and at each end of the chain. If you are using 3 rolls, inject power between all rolls and at each end of the roll.

Once you have your power supply figured out it is time to get the circuit ready. Simply apply 5v power and GND from your power supply into the Arduino and the LED strip. DO NOT POWER YOUR LED STRIP WITH THE 5V PIN OF THE ARDUINO UNLESS YOU HAVE VERY FEW LEDS AS THE AMPS COULD EASILY OVERHEAT YOUR ARDUINO. Then attach the RF Antenna to the Arduino Uno using the schematic pictured in this step.

From here upload the code provided in this step to test your circuit. If the lights come on when you scan your ring at the transmitter station then you have successfully completed this tutorial. You can also use your ring to turn the LEDs' off. Please note there is a 3 second delay between being able to turn the lights on or off. This is to keep your ring from scanning multiple times in one attempted scan.

Step 6: Project Complete

This should complete your project. Enjoy your classy new ring controlled LED lights. Also remember to use Eagle and OSH park to build custom shield for a higher quality and aesthetically pleasing project.

Sensors Contest

Participated in the
Sensors Contest