One button TV remote (Attiny85/Arduino)


Let me introduce you to my One button TV remote, its perfect for kids that want to put their TV shows on but are too young to learn how to use the remote or if your too lazy to keep entering these pesky channel numbers.  first you flip the switch to turn it on then press the small black button which sends out a pre set channel number then select to should you what’s on that channel before sending out the back button press to remove the channel info.  If you press the button again it moves down the pre set channel list until it loops back round to the first one in the list. I made this for my daughter to flip thought the kids channels on the TV easier.

This is my first project that uses an Attiny85 as I wanted to get away from the Arduino stigma plus it only needed a few pins so a good choice. If you too are looking to move to using an Attiny85 check out my blog post on Attiny85 HERE.

It was quite a learning curve going from using an Arduino to using the Attiny85 because I had to modify the existing IR librays because of storage constraints. You can get the modified RC6 Attiny85 IR library HERE. It also makes it harder to prototype on the Attiny85 because of lack of serial monitor so I would serges bashing out the code on a Arduino first then burning it to Attiny85 for testing.

Here is the One button TV remote laid out on breadboard to test the code out.




I was originally going to use the CR2032 battery shown here but the remote sucked too much power since it had to be run at 8Mhz duo to the IR libray and I hadn’t learn about sleep mode yet so I’m going with 2 AA batteries for now. I also added a switch to turn it off and on later.

Normally with my Arduino projects of late I’ve made a Arduino nano shield out of perfboard like I did with THIS project (LED candle replacement) but this time I thought I would learn how to make my own PCB. Luckily for me Chris Gammell of contextual electronics had finished his KICAD taster courses on PCB design on YouTube you can catch that HERE so I could start learning to design my own PCB for this project. Also unlike my past projects I was going to put it in a real project box so it would look more professional than usual.

Here is what my finished board looks like before I sent it off to be spun at OSHpark where for they will spin 3 boards at 2 layer for only $5 per square inch including free shipping plus you get a cool sticker to boot. These boards cost me $6.65 which is a bargain

ii (1)

I was so excited when a purple padded envelope turned up at my door. After tearing it open I was greeted by these 3 fellows that were smaller than I expected but really detailed and high quality. I couldn’t believe that I had designed these myself and they worked, not bad for my first board.


Next up I need to find a project box so I spent hours looking for the perfect project box or so I thought. The problem with looking for project boxes is they only ever give you the external dimensions which is useless for my needs. I went with one that was roughly the size I needed but after it arrived I measured it up and found that my AA battery holder wouldn’t fit. I would need to switch to a AAA battery’s which I detest but needs must. Even after switching to a AAA battery holder was still going to be a tight fit.

The fit was so tight in the end that I had to shave down the battery holder


Here are the half assembled boards


And after everything was attached ready to be installed into the project box


here is my board mounted with stand off’s in the project box. I decided to use the project box upside down to give it a cleaner looks and it made it easier to change the battery’s when they go flat


The switch (on the left) couldn’t be mounted on the board due to the size of the button I was using on the top side. I made a big design mistake putting the IR led coming out the front of the box and the putting the status LED going thought the top, this made it next to impossible to get the board into the box without bending the status LED. I’ve learnt a lot from this mishap.


The battery holder is just wedged between the board and the bottom of the project box which is a bit lame but works


Bottom of the project box, I think it would be been too busy if I had all the box screws and the mounting screws on the top


All the code is available over at my GITHUB including all the files to get the board made. This will work on a arduino if you want to just breadboard it up.

A quick video of the one button TV remote in action


9 responses to “One button TV remote (Attiny85/Arduino)

  1. Pingback: Nes blow cart | Facelesstech·

  2. Pingback: Random Remote | Facelesstech·

  3. Hai,

    I think the IR LED is incorrectly shown on the breadboard
    I have built but have no result yet
    The IR LED flash and ordinary LED lights briefly at the press of the button

    Kind regards

    • You are correct the IR led resistor should be connected to GND not VCC, Thanks for pointing it out. I hope this helps you out in your project

  4. Which library you used to capture ir signals from remote control? I tried with some TV devices but IR remote library can’t decode

    • Hi I used this library HERE What brand of tv remotes have you tried, I can rememeber the library only being able to decode a set amount of brands of remotes.

      Also just double check you have wired up the IR reciver correctly.

      Hope this help you out

      • Hi, thanks for the tip, I tried with this library but no success, I have tried with Dish Network and AT&T u-verse devices.

        I also tried with raw capture and send on a Samsung TV, but no success too. There is a data processing for raw capture?

      • Hi I just download the library myself to see if I could get it to work. I used the IRrecord in /examples/IRremote then opened the serial monitor and I could see it was picking up my SKY remote. Just make sure you have the BAUD rate set to 9600

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s