As a remote controller for the Sumo robot (see “Zumo Robot with Magnetic Encoders“) we have used so far a combination of NXP FRDM-KL25Z board and a Joystick Shield (see “Joystick Shield with nRF24L01 driving a Zumo Robot“). That solution was not ideal, so this weekend I created a 3D printed prototype:

The concept is using the following parts:

tinyK20 Board (NXP Kinetis ARM Cortex-M4 running at 48 MHz)

190 mA LiPo Charger from Adafruit (https://www.adafruit.com/product/1904)

3.3V step-up/step-down converter (https://www.pololu.com/product/2122)

1.6″ Nokia 84×48 pixel LCD (“Snake Game on the FRDM-KL25Z with Nokia 5110 Display“) (http://www.dx.com/p/arduino-1-6-lcd-display-screen-for-nokia-5110-red-silver-140226)

5 push buttons (up, down, left, right, center)

On/Off Power switch

ARM SWD debug port

USB port for bootloader, shell and USB CDC connection

For the push buttons I’m using the microcontroller internal pull-ups. The LCD uses a connector to the front board:

To LiPo battery gets charged from the 5V tinyK20 USB port. A 3.3V step-up/step-down converter supplies the 3.3V to the tinyK20 board from VBat:

All the components fit into the 3D printed enclosure:

The external debug circuit (to use the tinyK20 as debugger) is removed to shrink the box size:

Below is a rendering of the 3D model for the enclosure:

Summary

With this project I have handy remote controller unit with nRF24L01+ wireless transceiver, battery charger and 5 push buttons to navigate trough menus or play games like Tetris or Snake.

The Eclipse/Kinetis Design Studio project is available on GitHub. The 3D model is posted on Thingiverse. The next step would be to integrate everything into a PCB. Then every student group could use such a tinyK20 board with their robots. Or to use it as a gaming platform. Or as a remote controller to open the garage door :-).

Happy Remoting 🙂