With all the preparations completed, Umote can finally take shape for this application. The final product can be broken down into four major subsystems that need to be made and integrated in their final form – IR interface hardware, Enclosure, Power Supply, and Switches and Control Wiring.
IR Interface Hardware
The IR interface hardware needs to be arranged so that it can be mounted behind a clear window within the enclosure. In the final design I decided to integrate the IR LEDs and IR receiver onto a small PCB that could be located remotely from the controller.
I modified the prototype design by including two LED transmitters controlled by the 2N222 transistor. As I don’t know the environment that Umote will be used in, doubling the transmitting LEDs means a stronger signal will be available at the receiver. There is nothing special about this transistor used, as long as it can act as a switch for the power to the IR LEDs. The 2N222 fitted the bill and I had one in my parts box. The receiver was connected directly to the Arduino input – lesson learned from my earlier prototype experience – and is powered from an Arduino output so it can be switched off to save power.
Once the circuit was drawn in Eagle CAD, it was converted to a 30 mm square printed circuit board (PCB) design. As this was a simple PCB, I routed it manually using wide traces, making it easier to later mill on the CNC. The PCB could also be made using a generic prototype board with hand soldered links, but this was a good excuse to practice my CNC PCB manufacturing skills as well as developing a working design that I could reuse in future projects.
The board at the end of milling process is shown in the figure below – note the ‘practice’ run on the right where the spot drilling generated by the pcb-gcode Eagle ULP was a bit heavy handed! The second run did not include spot drilling and work fine from start to end.
The final step for this PCB was to load, solder and test the new components arrangement by placing this board in the prototype system. Testing this on a working system gave me confidence that it was a functioning board and would work once integrated with the rest of the system. Problems at that point are then more likely to be wiring related than anything else.
The enclosure is a basic box sized to fit the buttons (see Part 1) and the depth of the switches. One face of the box also a small transparent perspex window at the front for the IR signals to pass through, a USB charger slot and mounting holes for the on/off switch.
I decided to make the basic box from 7 mm plywood, with an outside 3 mm plywood veneer. This gives strength whilst allowing for a nicer finish to the box and, more importantly, the thinner material makes it easier to cut out the details. The figure below shows the completed internal structure, with cutouts made larger than required. The perspex window is sandwiched in a recess, covered by the outside veneer. The corner reinforcements are also used to attached the top.
The top of the box is cut from an inexpensive plastic kitchen cutting board. For accuracy (and neatness!) this was draw up on Cut2D and machined using my ShapeOko CNC. A similar process was followed for the front panel openings.
After the parts were cleaned up, the perspex window and four veneer sides were glued to the box, adjusting the mitered corners of the veneer for an accurate fit. Threaded inserts were inset into the corner and a small plastic ledge was hot-glued inside the USB cutout to support the battery charger.
Finishing the veneer flush to the top and bottom with a trimmer router, sanding and two coats of clear polyurethane finished the box construction, ready for final fitout.
The design of the power supply followed simple requirements.
Umote is powered by a Li-ion battery, so a charging circuit is needed. The very inexpensive (around $1 each on eBay) TP4056 module fits this requirement superbly for 3.7V batteries. The module has a USB connector at one end and all the circuitry for charging the batteries, with terminals and status LEDS, all built onto a very small board.
The Arduino Nano, runs at 5V, so another module, also purchased on eBay, is used to step up the voltage from 3.7 to 5V. Despite its small size, the step-up converter can handle up to 1A, far more than is needed on this project.
With all the components of power system decided, the parts were added and wired into the finished box, shown below.
The on/off switch controls the power going to the step-up converter. The TP4056 is hot glued onto the support that was prepared earlier, with the USB port flush to the outside face. Also, the ‘charging’ LED was removed from the module and wires extend the LED indicator to the front panel – the red LED stays on while charging and turns off when completed. The ‘done’ LED still lights in the box but is not visible.
The step up module is easy to use inline as it has wire solder pads at either end of the board. In this application it sits loose on the base, protected by heat shrink tubing.
Switches and Control Wiring
The Arduino Nano is mounted on a terminal adapter board. This adds a few dollars to the project but means that processor can be removed without rewiring. The terminal adapter was installed at the back of the Umote box, oriented so that the Arduino Nano USB connector would be at the top (for easy access if required).
The IR module was installed in front of the perspex window, making sure that both the IR LEDs and the receiver were centered in the window. The IR PCB was then wired back to the terminal board using a ribbon cable with connectors at the PCB end.
The final step was to mount the switches through the holes on the top and run the wires from the switches to the screw terminals. My wires were twisted pairs, with one a solid color and the other white with a stripe of the same color. To make wiring consistent, the solid color was used for the switch input and the stripe for the LED output. This made things progress logically, but cutting, stripping and screwing down is a tedious process at best …
Once the wiring was completed and checked for correctness, the Nano was mounted in the socket and the software tested against the new hardware. Aside from a few changes to the I/O pins that had made the wiring easier, it all worked like the prototype.
While the physical configuration of this remote control is designed for specific use by a disabled individual, the software and systems used to make this are generic and can be used in many other IR remote control applications.