K8 One Button Remote with Arduino Nano

This is a post for K8 juggling equipment owners who are also into electronics. If you haven’t already read it, here is here is why I made my own K8 IR remote.

If you don’t do electronics, but own K8’s, try the animated demo! (instructions below).

K8 One Button Remote

The circuit is quite simple. A 9v battery powers the Nano via Vin pin. A transistor receives output from the Nano, and this triggers a large current in the 3 connected infrared LED’s. The reason for the transistor is to maximize the signal, output of Arduino is only 5v but we need more for better signal range. You may notice that there is no resistor on the LED’s. IR pulses are extremely short ON/OFF pulses and so are not likely to blow up the LED’s in this implementation. I did have one connected previously but the range suffered.

I made a fun web program to demonstrate the functionality, you can see it here:


The demo works best on PC but you can see it on a mobile.

How to use it: click on some of the remote buttons, then press the big grey square at the bottom right to start (scroll down/across if you can’t see it). Press the bottom right square again to cycle through the saved patterns.

Refresh the page if you want to try again. Some of the buttons are not implemented yet (eg. Demo)
My favorite is probably fade, followed by no. 5 which is my favorite K8 pattern anyway.


This transmitter (at least with the IR LED’s I have) is more powerful than the K8 remote I received from them.

The code I will post in another article, however it is really simple, while the button is being pressed, the saved signal is sent, once per second (not more – one of my K8 balls has stopped receiving I believe due to too many signals sent*)

Stop pressing the button and the remote is off (saving battery of course) and next time the signal will be a different one, depending on the program.


*I am not a K8 engineer but their equipment stores the last pattern in memory. I believe that a piece of EEProm memory is overwritten each time the signal is received, so take care to not send too many signals, or your equipment may stop working. On Arduino chips EEProm memory is rated for 100 000 rewrites, obviously this is a minimum but evidently I exceeded this in some experiments.

Leave a Reply

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