LinkIt ONE + IR Reciever




Posted in TechnologyMicrocontrollers

Introduction: LinkIt ONE + IR Reciever

This instructable will step you through how to get an infrared receiver working with the LinkIt ONE and print out the receivers input.

Let's Begin!

Step 1: Materials

  1. LinkIt ONE micro controller
  2. Breadboard
  3. Breadboard wires
  4. Infrared receiver
  5. Infrared Controller of some kind (Like a TV remote)
  6. IR_Recv_LinkIt_ONE library for arduino IDE

Step 2: IR Recv Library Installation

  1. Download the .zip file from here:
  2. Extract the folder to your desktop
  3. Move the extracted folder to your main arduino libraries folder

Installation of the library is the same as you would with any other arduino library

Step 3: Wiring

If you have the module I have:

  1. "-" pin on module to GND on LinkIt ONE
  2. Middle in on module to 5V on LinkIt ONE
  3. "S" pin on module to D2 on LinkIt ONE (MUST BE D2!!!!)

If you have the individual receiver : (Going from left to right when looking at receiver)

  1. Left pin on module to D2 pin on LinkIt ONE (Must be D2)
  2. Middle pin on module to 5V on LinkIt ONE
  3. Right pin on module to GND on LinkIt ONE

For some reason the library requires the infrared input to be through pin D2 (Took me forever to figure it out lol)

Step 4: Code

Use the file I have uploaded. It simply receives the infrared value and then spits out the value it received into the Serial Monitor as a string of numbers.

Note: You may have to delete the RobotIRRemote library in your arduino libraries folder if the arduino IDE compiler complains about it

Step 5: Use It!

Simply upload the code to your LinkIt ONE and then open the serial monitor and start sending it values using any infrared remote you have lying around the house!

Feel free to comment any problems you have, I am always willing to help out as best I can!



    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Spotless Contest

      Spotless Contest
    • Trash to Treasure

      Trash to Treasure

    We have a be nice policy.
    Please be positive and constructive.





    Ive been trying the IR control on the linkit one for a while now and while I can get the Arduino to work the clock speed on the Linkit one is different so as yet I have had no luck. I have used the Library you list, Can you suggest anything from your trials as to what could be going wrong.


    5 replies

    Are you using my code as well? or are you using your own

    Iv downloaded and used your code as a starting point but as yet not been able to get it to operate.

    This is the error message

    Warning: platform.txt from core 'MediaTek ARM7 EJ-S (32-bits) Boards' contains deprecated"{compiler.path}{}" {} "{build.path}/{archive_file}" "{object_file}", automatically converted to"{compiler.path}{}" {} "{archive_file_path}" "{object_file}". Consider upgrading this core.
    In file included from C:\Users\HUKBMBEAR\Documents\Arduino\libraries\IR_Recv_LinkIt/IR_Recv_LinkIt.h:5:0,

    from D:\Videos\Working_Reciever\Working_Reciever.ino:2:

    C:\Users\HUKBMBEAR\AppData\Local\Arduino15\packages\LinkIt\hardware\arm\1.1.17\cores\arduino/Arduino.h:38:19: fatal error: vmdcl.h: No such file or directory

    #include "vmdcl.h"


    compilation terminated.

    exit status 1
    Error compiling.

    and this is your code

    // test code for IR Recv LinkIt ONE
    #include <IR_Recv_LinkIt.h>

    int ir_dta[15];

    void setup()
    Serial.println("Serial is working");
    IR.begin(2); // initialize

    void loop()
    Serial.print("code: ");
    for(int i = 0; i<ir_dta[D_DATALEN]; i++)

    Just tried compiling mine again and got errors as well...

    When I made this instructable I was using arduino 1.6.4 and when I just tried compiling now i was using 1.6.5. It may be possible that the update killed the library so I would suggest you try downgrading to 1.6.4 and trying to compile again. Let me know if that works.

    Thanks I was thinking along those lines will let you know

    I actually just reinstalled the library and tried it again and it worked.... So I don't really know. Still let me know if downgrading works.