Building your own CoreIR transponder

Creating your own CoreIR transponder from off-the-shelf components…

coreirlogosmallWhat you’ll need:


Got all that? Great, let’s get started!


First, cut the wiring on your two LEDs like seen below, if you look closely, you should see two sets of notches on your led wires, the second set (further from the led itself) is where you want to cut with scissors. You’ll also want to bend the side that has the ‘smaller’ filliment inside the led bulb (we call that the anode) about 90 degrees out, why will be clear later on:














Next we take the 4S balance connector and cut off the back pins as close as we can to the plastic case, this will help keep potential shorts from occurring as we put everything together later on.




Ok, so we prepped our LEDs and our balance connector, lets prepare the transistor next. place the transistor so that the flat side is facing *up* and the ‘legs’ are facing tward you, then take the leg all the way to the right and bend it back tward the transistor until its flush with the plastic housing, creating an L shape, as seen below. You’ll also want to trim this bent leg a bit, so that it only has at most a few mm extending from the plastic transistor housing.













This next step is optional, but it’ll give you a much better end result… ‘tin’ (that is, put some flux and then solder on to) the pins on the arduino we’ll be using later. Pin 5, all ground pins, vcc, and raw.




Got it? Good! Keep that soldering iron nice and hot, and solder the 9.1ohm resistor (either direction, there is no wrong way) onto the VCC pin, while propping it up against the orange chip, the lower you can go here, the flatter your end result (transponder) will appear. Be sure not to touch the reset or A3 pins though!













So far so good, now its time to install the transistor we previously prepped. With the flat side still facing upwards, solder the leftmost leg to ground, and the middle leg to the 5 pin before bending the transistor down flat against the Arduino (but don’t touch any metal bits with those legs):














Remember that wire I made you buy, here’s where it goes… Attach two wires, one to RAW and one to GND, and make sure they are long enough to just come past the far end of the board (the end without the usb connector). Be sure to keep track of which goes where if you use the same color wire for both pins!










This next part may seem silly, but trust me, it matters. Place a small strip of electrical (or other kind, I prefer electrical) tape to the top of the usb connector, this will shield it from the wiring we will be soon placing on top of it, preventing shorts.











Nice! Things are going to start looking like a transponder soon… Now lets solder our first LED onto the board. You’ll want the anode (that’s the bit you bent outward, the smaller wire inside the led bulb side) to get soldered to the top of the resistor, while the cathode (the straight bit) to lay flat against the tape we just placed down. Aim the LED out at a 90deg angle as best you can for best results, and also note that the closer to the usb connector you get, the more crash resistant your transponder will be.












One more time… Now we attach the second LED in a similar fashion. Cathode to cathode and anode to anode, creating a triangle of awesome led power. Be careful here not to break your led’s off of your resistor, that solder point can get a bit fragile until we’re all done.











More silicone wire time! Take a very small amount of wire and solder the cathodes (the straight led pins at the top of the board) to the transistor (the black square thing with three legs). Be sure not to have the exposed parts of the wire touch anything else, as I know things are getting a bit cramped for space by now…












Let there be ligh….. I mean power! Connect the two wires you attached earlier, the ones going to RAW and GND pins, to your balance connector. (I found that tinning the pins on the balance connector made a huge impact here on ease of soldering). The RAW pin wire goes to the right-most pin if your looking at the balance connector from the back, as if it was facing away from you. The GND pin wire goes to the pin two to the left of that. If you have trouble just reference the pictures… A LOT! You don’t want to mix these two wires up, as that’ll fry the board and parts you so painstakingly installed earlier.


(Bonus wiring shot, just to make sure you don’t blow stuff up)



Almost there, only a few more steps… Place a small dab of hot glue on the back of the transponder, and then quickly press the balance connector into place, making sure the two ‘grooved’ bits in the white plastic case are facing upward tward you. If you can’t get it just right, don’t worry, this is just to help the next part get easier.




Glue ALL THE THINGS! (Ok, not really, be sure to leave the balance connector, leds, and usb connection exposed). Protip: I find the black hot glue to be much stronger and much stiffer than standard transparent glue. Don’t be afraid to really glob on the glue on the center of the board, the led’s should still shine through the balance connector, and you realllllly don’t want to have a short when you strap your first battery to this thing.




Now grab yourself a copy of the software and get to flying!

(PS. A detailed write-up of installing/updating the software to follow soon)






19 responses to “Building your own CoreIR transponder”

  1. Gert Avatar

    Awe-some! Thanks.

  2. BadSide84 Avatar

    Hello Michael,

    Thank for sharing this idea, i have only one question, i find SMD 10ohm resistor instead of your SMD resistor you think is good?

    Thank you

    1. Michael Rickert Avatar
      Michael Rickert

      Yup thats totally fine. The resistor can vary a bit without having a negative affect on range. It also doesnt have to be an smd resistor. As long as you dont mind the larger size of the regular resistors you can use those too and they are a bit easier to solder.

      1. Glenn Avatar

        Thank for sharing this! I have a question after making this tranponder do i have to program or flash the board using the micro usb port? Can you make a instructions on how to flash and put a i.d# .is it possible this design of yours will read in trackmate timing system? Thank in advance i hope you answer all of my questions.

  3. Djp Avatar

    Hi Michael,
    again let me add to the thanks for doing this, really very handy for our race events.
    I wonder if I can trouble you for your view on a fault I am having on some of these being built working better than others?
    All built as per instructions but some are not illuminating very brightly, when viewed through a camera they can barely be seen, whereas others are nice and bright. The dim ones seem to work but with a range in cm’s rather than meters.
    Any thoughts on what could cause this, the voltages all check out and the components are the same other than different OEM providers of the pro micro.
    Any thoughts would be appreciated.

  4. John Avatar

    I am curious what version of the arduino IDE you used? I am using 1.6.8 and notice that the precompiler directives to detect which processor is selected don’t seem to be working. I am using the Arduino Nano with the 328p, but “#define atmega” never gets set. If I just do a #define atmega then the debug Serial.println get turned on, so it appears that the IDE is not quite working right?

    Anyways nice work on the code!

    1. Michael Rickert Avatar
      Michael Rickert

      I just tested this with version 1.8.3 using the ‘arduino nano’ board and it compiled ok here.

      You can always grab a precompiled version from here:

      Are you grabbing from source or trying to use the 2.0 release?

      1. John Avatar

        I was grabbing from source, it compiled just fine but for some reason none of the debug output was working, as soon as I added “#define atmega” then the debug output started working. I will have to try with a new version later and see if that works better. No biggie was just curious. The debug helps as I’m trying to write some software in python that will decode the transmission back into the ID, but first writing one to convert the ID into the transmitted data (mostly just for practice lol). Eventually I will then convert that back to C more than likely.

      2. Marne Avatar

        Thank for sharing this! I have a few question to ask. After Making this transponder do i have to flash the board using the micro usb? And how to flash or install or put a i.d # of this transponder? It is compatible to Trackmate timing system that also uses i.r transponder? Thank you in advance

  5. TJ Avatar

    Any chance you could make a circuit diagram?

  6. tony Avatar

    Hey dude,
    Been trying to resurrect this for more boards, specifically to fabricate something smaller (based on 328p) to have a cheaper (but professional looking) ilaps transponders.

    I’m having range issues for some reason using the TSAL6400 (940nm, fC 100ma, fV1.35V 25degree) LEDS recommended on the git, I’m using a 10ohm resistor (surely it should be closer to 40ohm?). Range limited to abut 30cm…

    I’ve switched the timer to Timer1 (16 bit PWM) using pin13 (OC1A).

    Any ideas?

    1. Michael Rickert Avatar
      Michael Rickert

      In your newly fabricated boards do you have an external crystal oscillator? The internal oscillator on the 328p is really, really bad for very precise things like for example, ir led communications. It will usually function _sort of_ for about 1-2 seconds then the timing will drift and it will start to miss about 90% of the sends.

      1. Tony Avatar

        Hey Michael,
        Thanks for replying, yeah it’s got an external 16Mhz Crystal; essentially these are stripped down “pro mini’s” (happy to share the schematic)

        I think you may have hit the nail on the head here, I’ll check I’ve set the fuses correctly.


  7. Tony Avatar

    So it turns out I was being a complete idiot and I was using an older version of the CoreIR. Compiled the against 2.0.1 and the prototype boards work fantastically well.

    Will fabricate some cheap boards (slow boat from China), can I send you some?

  8. Tony Avatar

    Did you ever get the tiny85 to work with CoreIR?

    (I noticed there’s a kicad PCB file in 2.0.1 zip for one)

    1. Michael Rickert Avatar
      Michael Rickert

      It’s currently untested. I never had time to place an external oscillator on one to test and see if it would work.

      1. Marne Avatar

        Sir this diy transpoder will work with trackmate timing system?

  9. Tim Dorscher Avatar
    Tim Dorscher

    I assume the two LEDS are meant as the gates the drones go through are on either side? I am asking as I am trying to make one for an RC car where the gate will always be overhead. Just wondering if I can get away with one LED instead of the two and if the two may cause an issue?


  10. stu Avatar

    how do you flash the software?

Leave a Reply

Your email address will not be published. Required fields are marked *