I’ve got a TV in my garage that I use to test things out on, I lost the remote for it, when I did find it it had seen better days. This got me thinking that I should just make my own with just the basic functionally that I need. Join me below to see how it worked out
- Arduino pro mini
- MX cherry blue keys x5
- GX-12 5pin connector
- TP4056 USB C charger
- DD0505MD DCDC boost
- IR LED 940nm
- IR receiver
- 3 way switch
With most projects I try to introduce A new part or a new way of doing something, This time its the MX cherry blue keys I’m using as buttons. I could have just used boring clicky button which would have made it much smaller but I wanted to try using these as button to see how well they work. I have also got a 3d printer while doing this project which makes it easy to make custom key caps for it.
I was going to use a Arduino pro micro because it has USB HID built in so I could use this in other ways but the IR library I use doesn’t play well with the ATmega32U4. Since I’m using a arduino pro mini I will need to find a way of programing it. In the “Accidentally a lightsaber” project I used the GX-12 5pin connector with an adapter to a FTDI board. I’m going to reuse this adapter and 5pin GX-12 connector because the male GX-12 port is about the same size as a MX cherry blue with a key cap on top.
As I was making this project feature creep creept in, I thought I might as well add a IR receiver because if I wanted to change the what the buttons did later on I could use the remote itself to capture new IR codes. I wanted to be able to put the remote into two different modes with two switches. I also didn’t want to have 2 switches as it might confuse the user, I found a 3 way switch I has ordered for a different project. This way I could have the switch in the central position to be off then slide to the right for on then all the way over to the left for IR receiver mode. This would also mean that when it was in IR receiver mode it wouldn’t also be running off batteries or getting charged when connecting the FTDI cable.
To extend the range of the IR LED I used a 2N2222 transistor which I managed to get wrong when doing the footprint, But luckily I wired it up with some bodge wires and hide it under the PCB. It took me awhile to track down this problem.
The rest of the hardware was laid out currently so no more headaches during the hardware bring up
This is the first time I’m going to 3d print an enclosure for a project, This is a relief because it used to be a bug bear to find a suitable sized box and also add expense to the project. When I was designing the PCB I was going to have the battery under the board but while designing the case I decided to just put the lipo battery on top of the Arduino to save space. I also didn’t want this to be a boring box so I added a handle to the side and rounded off all the edges.
I designed the case in two parts, I made the bottom which was pretty basic, It was the top half that had all the details and cut outs in. I needed a cut out for the IR LED, IR receiver, switch and charging port. Also I needed the cutout for the keys and the gx-12 port. This took a few iteration to get right but thats the beauty of 3d printing. After finally getting it right I added the handle and a embossed name on the front and embossed label over the power switch. To fix the two sides together I used M3 nylon nuts and bolts. I made a tight nut hole in the base and sunk the bolt heads into the top of the side. In future I might try self tapping screws when I order some.
The key caps I found on thingiverse, I bought them into freecad and embossed the different icons for volume up and down, Source, Screen off and On/Off. I used a paint pen to fill in the embossed icon. This is where 3d printing really did make this project possible. Before getting the 3d printer I really didn’t know how I was going to do the key caps. I’ve put the key cap files in the github link below.
Github link – https://github.com/facelessloser/cherry_remote