Main Content

In this project we are going to be making something super useful! It is a wireless keyboard that you can connect to your PC and assign each button any shortcut or key sequence you want! I have made it in a way where you can customise the keyboard to meet your exact needs, for example, the number of buttons you want and easily configure the buttons to do whatever you want. It is also made to be very efficient to run on a coin battery for a long time! I have also made a video showcasing this keyboard and I go through each step, so check that out if you are interested. It’s actually a very nice and simple project to do. So let’s get into it!

Before we get to the components you will need for this project, I think it is a good idea to just explain how this keyboard will work so you can fully understand what is going on. The idea is that we will have a transmitter side and a receiver side. The transmitter is the side where all the buttons are connected to, and the receiver side is connected to your computer via a USB connection. The way we will communicate between the transmitter and receiver wirelessly is by using a radio signal. This is illustrated in the image above. This should now give you an idea how the keyboard works.

Now for the components/supplies!

We need two micro-controllers, one for the transmitter side, and one for the receiver side.

For the transmitter, we will be using the Attiny84 micro-controller. It’s super small, inexpensive, can be used just like any Arduino, and most importantly, it consumes very little current, which is needed because the transmitter side will run on a battery, and we want it to last as long as possible of course!
For the receiver side, we will be using the Pro Micro, you can pretty much use any Arduino for this, however, it has to have HID support. I recommend using the Pro Micro.
Now to communicate between these two micro-controllers, we said we will be using a radio signal, and to get that we will use the nRF24L01 radio module. You need two of these, one for each micro-controller.

To power the Attiny85, we need a battery, I have chosen the CR2450 coin battery, it provides 3 V and has a capacity of 500 mAh, which is great for such small size. You will also need its battery holder.

Because the voltage of a battery is not stable and goes down overtime, we will need to use a voltage regulator to keep the voltage the same no-matter what voltage the battery is at. The voltage regulator used is the MCP1700 3.3V, with two capacitors (100 or 1000 µF and 100,000 pF) soldered directly on it to keep the signal smooth and deal with voltage spikes.

You will also need some buttons! You can pretty much use any kind of buttons you want, but since we are first going to make it on the breadboard, use the normal breadboard push buttons to start with. After we have got it all working on the breadboard then we can get all fancy and use proper buttons! For now just the normal breadboard push buttons are perfect.

That’s all the components you will need! As you can see, this will be a very simple project but very very useful and practical.

Here is just a list of all the components without any explanation for convenience.

- Attiny85
- Pro Micro
- nRF24L01 (x2)
- CR2450 coin battery (or any battery), and its battery holder.
- MCP1700 3.3V voltage regulator, with two capacitors soldered on it (100 or 1000 µF and 100,000 pF).
- Buttons (Any kind).”

Link to article