Arduino Custom Wireless Keyboard! |

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มิ.ย. 2024
  • In this video I show you how to make any size custom wireless keyboard using any Arduino micro controller board. It's a perfect Arduino project! Here, the Attiny84 is used with the nRF24L01 radio module. You can also 3D print a case for it, or use the one I created. In this project, first we start by creating a prototype keyboard using a breadboard, then show you an idea of how you can combine the Arduino micro controllers with all the wiring and buttons to make a complete custom wireless Arduino based keyboard.
    Comment below on what project you want me to do next! It could really be anything!
    I made sure the keyboard draws the least amount of current by using an Attiny micro-controller and the nRF24L01 module. At the end, the total current consumption was 1.284 mA, which meant the keyboard can last for 16 days using a single coin battery, the CR2450. However, this is assuming the keyboard is on 24/7, but in practise, the keyboard, like any other wireless device, will be turned off when not in use, for example before going to bed. So a more realistic value will be that the wireless Arduino keyboard will last approximately 30 days.
    This arduino custom wireless keyboard was setup using a transmitter and a receiver. With the receiver micro-controller always connected to the computer, so it doesn't really matter which is used, but I have used the Pro Micro. For the transmitter, we need a micro-controller that has low current consumption, so the Attiny micro controllers work great for this kind of project. I have chosen the Attiny84 for the breadboard prototype version, and the Attiny88 for the final version for the 3D printed case.
    Components required for the project:
    - Attiny84/85/88 (or any low current consuming MC).
    - nRF24L01, two of them.
    - Pro micro, or any micro-controller with HID support to act like the receiver.
    - Some buttons, any, I have used linear Cherry MX switches.
    - CR2450 coin battery, and its battery holder.
    - A 3.3v voltage regulator, I have used the MCP1700, with 1000µF (could be 100µF) electrolytic capacitor, and a 104Z ceramic capacitor, soldered directly on to the MCP1700 voltage regulator, between the GND and VCC pins.
    To design all the 3D models I used Fusion 360, and printed them using the Creality CR6 SE 3D printer.
    Remember to Subscribe! :) I have over 50 amazing projects planned!
    Link to the code and 3D models:
    github.com/ProjectsWithRed/wi...
    Instagram, Twitter, Facebook:
    @projectswithred
    0:00 Intro
    0:27 Components
    02:32 Wiring
    02:46 Arduino
    04:33 Demo
    05:53 3D printing
    06:59 Outro
    #arduino #arduinoproject #keyboard #wireless #3dprinting #wirelesskeyboard
  • แนวปฏิบัติและการใช้ชีวิต

ความคิดเห็น • 169

  • @ProjectsWithRed
    @ProjectsWithRed  2 ปีที่แล้ว +2

    Remember to subscribe so you don't miss future projects! They are only going to get better and better!
    Comment below of any projects you want me to make! It could be anything.

  • @mehdisajjadi1679
    @mehdisajjadi1679 3 ปีที่แล้ว +3

    I’ve been looking for this for a long time 👍 well done

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว +2

      Thanks! Remember to subscribe if you haven't already :)

  • @TiNredstoner
    @TiNredstoner 2 ปีที่แล้ว

    Really nice and simple project ! Btw, instead of using the regulator with that coin cell, you can connect it directly to mcu and use the brown out detection feature to keep mcu off when battery is really low (2.2, .3 ish volt)

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว +1

      Cool, I never knew about that, good to know!

  • @Wesley5n1p35
    @Wesley5n1p35 ปีที่แล้ว +1

    I got it working by using the right caps and making sure everything was wired properly. Also for the button library It is the Michael Adams one but make sure you are using the Master Mad Leech Fork for it compile correctly. Thank you so much for this project its been a blast so far and I cant wait to see what else I can do with it!

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      Perfect this is great to hear! Thank you for mentioning the fix, I will pass it on to people who come across the same issue 👍🏼.

    • @Wesley5n1p35
      @Wesley5n1p35 ปีที่แล้ว

      @@ProjectsWithRed rn the cheapest mcu is the mh attiny88. You can use micronucleus to program em quick. Only problem is that its 16mhz 5v. Trying to figure out how to force 1/4/8mhz for 2.3-3.3volt usage which would be perfect for the coin cell.

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      @@Wesley5n1p35 If you use this library(github.com/SpenceKonde/ATTinyCore) to upload code to the Attiny88, you can just select the clock speed to be 8MHz in the Arduino IDE, which will make it work with 2.7-5.5V. Check out the project repo (github.com/ProjectsWithRed/wireless_keyboard), and refer to the "How to upload code to Attiny MCs" heading to get more info on exactly how to do that.

  • @farmerbug7343
    @farmerbug7343 2 ปีที่แล้ว +2

    Great project! wish you could do a stream deck clone (to use, for example, in switching cameras in zoom, and many more keyboard shortcuts)

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว +2

      Thank you very much! It is like a stream deck, you can assign any shortcut you want on each key. So you just need to, for example, for switching cameras in Zoom, figure out what shortcut that is in Zoom and assign a key to it.

  • @joestyles4639
    @joestyles4639 3 ปีที่แล้ว +3

    Great stuff!

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      I am glad you like it! Remember to subscribe if you enjoyed the video :)

  • @2150dalek
    @2150dalek 2 ปีที่แล้ว +2

    Great intro tutorial! I will have to try this. But my goal is to make a remote control for a robot with 20 or less buttons.

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Cool! Remember to subscribe if you haven't already so you don't miss future projects 👍🏼.

  • @majinkeyboards
    @majinkeyboards 3 ปีที่แล้ว +2

    Just subbed, you are awesome, thank you.

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      Thank you! I really appreciate that.

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      For the capacitors used. It's not a noob question at all. I used 1000μF and 104Z capacitors with the MCP1700 voltage regulator.

    • @majinkeyboards
      @majinkeyboards 3 ปีที่แล้ว

      @@ProjectsWithRed I actually got the Attiny88 and all the other parts but not the same capacitors. I used a 104 and a 220uF. The attiny seems to have broke my usb (drivers) lol. Now everything I plug in is not recognized. I think I will just use another chip instead of attiny. No information about the tiny88 setup and installing it is a pure nightmare.

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      @@majinkeyboards I am sorry to hear that you are having these problems. I am more than happy to help you. It's easier if you get direct contact with me through Instagram dms, it's @projectswithred. Send me a message there and I can help you.

  • @Enderkruemel
    @Enderkruemel 10 หลายเดือนก่อน

    Just use an esp32, it has Bluetooth build in and also can send the Batterie level. Also it is way cheeper and easy work with. Also no reciver is needet , only an pc with Bluetooth/or Bluetooth Adapter. Also use an Lithium cell(like 18650 or small lipo) , with tp4056 as charger and protection for the Batterie.

  • @SoemarkoRidwan
    @SoemarkoRidwan 3 ปีที่แล้ว +3

    Please consider using QMK firmware with this setup. It'll be a game changer in the custom keyboard community

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว +3

      Unfortunately I am not familiar with the QMK firmware, and will not have the time to look into it and make another version of this keyboard, however, feel free to contribute to the repository! :)

  • @TheMochizmo
    @TheMochizmo ปีที่แล้ว

    Thank you! I got this to work. Is there a way to assign mouse button clicks? Or is there a number value for left/right click?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      Good stuff! Unfortunately the HID library doesn't support mouse clicks.

  • @solferino1977
    @solferino1977 10 หลายเดือนก่อน

    You are great!!!

  • @minus5m
    @minus5m ปีที่แล้ว

    Thank you very much for this awesome tutorial! One question: Will the receiver show up as a regular Keyboard on the PC?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      You are welcome! The receiver will show up like a normal Arduino connected to the PC.

    • @minus5m
      @minus5m ปีที่แล้ว

      @@ProjectsWithRed thank you!

  • @ohwii
    @ohwii ปีที่แล้ว +1

    Hey, that is great project. If I understood correctly it is possible to build a full sized keyboard with this set up. is it possible to have two transmitters to the same receiver or do I have to get a second receiver? And is it possible to use qmk on the receiver?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      Hello, yea you should be able to. Things to keep in mind will be which microcontroller to use to support all the digital pins, however you could use a GPIO expander to expand the number of GPIO pins of the microcontroller. Yes you can have multiple transmitters. I don't know about qmk support.

  • @RushMyEx
    @RushMyEx 3 ปีที่แล้ว +1

    Very interesting and good calm tutorial!
    What about Deep Sleep? You could wake the MC up everytime a button is pressed. I'm new to this. Does it work with the ATTinys ?

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      Thank you! Yes you could use something like deep sleep, however, since the current consumption was so low even when it is active, I did not implement any deep sleep as it was not needed. Remember to subscribe if you haven't already! :)

    • @RushMyEx
      @RushMyEx 3 ปีที่แล้ว +1

      @@ProjectsWithRed subcriped now. Deep sleep would extend batterylife up to one year in this case.

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      Awesome! It will for sure increase the battery life but it might add a delay on button presses because the radio signal is reset every time it wakes up, unless there is a way to overcome that which I am unfortunately not aware of.

  • @reiisbrunoo
    @reiisbrunoo ปีที่แล้ว +1

    this is just amazing! with this scheme I can put other types of buttons and analog sensors for example?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      Thanks! Yes of course, you can use the micro-controller for anything else you want as well, just keep in mind the total current consumption, keep it low so it lasts long on battery.

    • @reiisbrunoo
      @reiisbrunoo ปีที่แล้ว

      @@ProjectsWithRed Nice, I have an idea to make a joystick this way and this video gave me good ideas! Hope this works with the joystick library too hehe

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      @@reiisbrunoo My next project actually involves making a joystick so that might also help you out :)

    • @reiisbrunoo
      @reiisbrunoo ปีที่แล้ว +1

      @@ProjectsWithRed OMG 😱 I'm extremely looking forward to it!

  • @ronen124
    @ronen124 2 ปีที่แล้ว +1

    awesome idea

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Thank you! Remember to subscribe if you like these kinds of projects! :)

    • @ronen124
      @ronen124 2 ปีที่แล้ว +1

      @@ProjectsWithRed sure thing, I already had subscribed to your channel

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      @@ronen124 Love that! Hopefully a great community is made here, and you are now part of it as it is started!

  • @pixobit5882
    @pixobit5882 2 ปีที่แล้ว

    you could also use 2x 1.5V AA batteries in series with a capacity of around 2.5mAh. this would last at least a year.

  • @ChristianWhitesBianchi
    @ChristianWhitesBianchi 2 ปีที่แล้ว +1

    Did you try to measure response times? I.E. time it takes from when you hit the button and when the event reaches the computer? I wonder if it is significantly slower than commercial keyboards.

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว +1

      I did not. However, I would say maybe 10ms delay if you want add a number to it, but it feels instant, there is no noticable delay at all. I have a commercial wireless keyboard and I would say it is the same. Remember to subscribe if you enjoyed or found the video useful!

  • @belenhedderich3330
    @belenhedderich3330 ปีที่แล้ว +1

    Hello thanks for the project For the receiver part can I use Atmega328P? The Attiny88 prices are way up. what would be the limitations? Running it at standard 8 mhs clock?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      Technically you can replace the Attiny88 with any micro-controller (MC), however, you need to be mindful of the current consumption of the MC. The Attiny88 was chosen because it has very low current consumption hence why it can be used for a very long time with a small battery in the relatively small housing. If your chosen MC has a high current consumption, consider using a bigger battery, but you will probably have to make the keyboard housing bigger to accommodate the space required for the bigger battery, or use the same battery but you will have to change the battery more frequently.

  • @mystereit73
    @mystereit73 2 ปีที่แล้ว +1

    Thank you very much! I'd need 2 sets of these for commanding 2 pc in an exhibition... Is there a way to choose different frequencies for the 2 transmitters so that they don't disturb each other?

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      You are welcome! Yes you can do that. You just need to choose 2 different radio addresses in the code. If you look at both the transmitter and receiver Arduino sketches, there is a variable called "ADDRESS", just ensure that it is different for each of the keyboards.

    • @mystereit73
      @mystereit73 2 ปีที่แล้ว

      @@ProjectsWithRed wonderful! thank you so much... this is exactly what i needed!

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว +1

      @@mystereit73 Perfect, I am glad I could help. Remember to subscribe if you enjoyed or liked the video! :)

  • @damascenoalisson
    @damascenoalisson 2 ปีที่แล้ว +2

    Would it be possible (and easy?) to use two transmitters for a single keyboard? This would be perfect for a wireless split keyboard

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Yes that is very much possible. It won't be too hard to do. Just look up nRF24L01 multiple transmitters, and you will find plenty of tutorials you can follow. From there you can easily modify the code for this project to accommodate for the two transmitters.

  • @raulballesteros4942
    @raulballesteros4942 2 ปีที่แล้ว +1

    Great project,
    If I use an Atmega 328 the wiring is the same?

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Thank you! The Atmega 328 unfortunately doesn't support native HID support, you can still use it but the wiring and code will be slightly different.

    • @raulballesteros4942
      @raulballesteros4942 2 ปีที่แล้ว

      Would be great If you made the same project witb an Atmega 328 Thanks

  • @liamjoseph992
    @liamjoseph992 7 หลายเดือนก่อน

    Hi, if you were to use arduino pro micro with built in wifi and bluetooth recievers, could you no longer have the recievers as in your build and instead just have the arduino in the keyboard directly linking to PC bluetooth??
    Many thanks

    • @ProjectsWithRed
      @ProjectsWithRed  7 หลายเดือนก่อน

      Yes if you have a Arduino pro micro with built in WiFi and bluetooth with HID support, then you can do it this way.

  • @Velocity_AU
    @Velocity_AU ปีที่แล้ว

    I want to attempt to have this be a arm mounted system for macro controls, and how would it go adding a rechargable battery and port to it?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      You can open the stl file in a 3D modelling software and make any minor modifications needed.

  • @craiggilbert5795
    @craiggilbert5795 2 ปีที่แล้ว +1

    Hey, Is it possible to shift CE to pin 5 and add an extra button to pin 10 on the Attiny84?

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Yes that is possible, you can use any digital pin for the CE 👍🏼.Just have a look at the AttinyCore library pinout to see which digital pin number you need to use in the Arduino code. Remember to subscribe if you haven't already so you don't miss future projects! :)

  • @Wesley5n1p35
    @Wesley5n1p35 ปีที่แล้ว

    One more question, im using an Attiny85 but im wondering what pins to substitute for on Attiny85. I figured out Miso to Mosi/ GND and VCC But couldnt figure out CSN and CE pins and where they connect to the Attiny85. Also If I connect those then I have no pins left on the ATTINY85 besides the reset pin which you cannot use. Any Ideas and thank you!

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      Yea I think you will just be left with 1 pin to use if any. I would suggest using the Attiny84.

  • @jamesmillerjo
    @jamesmillerjo ปีที่แล้ว +1

    As far as I know, LDO regulator cannot step up and only steps down voltage but you are using MCP1700 LDO to convert 3v coin cell to 3.3v power.
    Is it possible because of capacitors, or just MCP1700 can do 2.3v to 3.3v?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      The MCP1700 is rated for 2.3V-6V input voltage for a fixed 3.3V output voltage. The capacitors are there just to make sure the signal is smooth and deal with voltage spikes 👍🏼.

    • @jamesmillerjo
      @jamesmillerjo ปีที่แล้ว

      @@ProjectsWithRed Document seems insufficient....
      2.3v minimum written might be for other family varient ic which has output voltage less than 2.3v. Linear regulator inherently has no capability of boost.
      I think your build luckily had a attiny have some tolerance and could run successfully about 3v(

  • @ahmedeskafi8670
    @ahmedeskafi8670 2 ปีที่แล้ว

    in which pins should i connect the other buttons ? in case i use the attiny 84 like you

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Any pins, just refer to the datasheet of the micro-controller to see which pins you can use, and then just simply change the pin numbers in the code.

  • @Wesley5n1p35
    @Wesley5n1p35 ปีที่แล้ว

    Can I make this work with a 100uf Electrolytic Capacitor without the 104Z ceramic capacitor soldered on to it? and what would happen if I tried to run it without it.

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      It would work without the capacitors but it won't be as stable.

  • @bamajoe411
    @bamajoe411 ปีที่แล้ว

    Is it possible to modify this to work with something such as a “Seeed Studio XIAO nRF52840” to remove the need for the receiver and connect to the computer directly with Bluetooth?

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      Yes you should be able to do this with no issues, however, do keep in mind the current consumption of the micro-controller you are going to use as you will need a different/bigger battery to power it for a reasonable period of time.

  • @batuhankutoglu3115
    @batuhankutoglu3115 4 หลายเดือนก่อน

    Can I use Attiny88 development board? Is it same with the normal attiny88 microcontroller?

    • @ProjectsWithRed
      @ProjectsWithRed  4 หลายเดือนก่อน +1

      Yes, you can use any Attiny88 board.

  • @apiratchai
    @apiratchai ปีที่แล้ว

    So now you are using 2 pins per key. Would it be possible to do this in matrix to allow multiple keys to work while using same amount of pins like QMK does?

  • @MrVikramr
    @MrVikramr 3 ปีที่แล้ว +1

    Hi, Nice one.. But can you replicate the same with ESP32. will it not be easier? I am a noob and I am planning to make a macropad with capacitive touch and rotary encoder..and there is no clear video on this..

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      Yes you could do it easily with the ESP32 using the bluetooth library for the ESP32. However, the problem with using the ESP32 is the power draw, it uses way too much current, so you will need a big battery to make it practical for a wireless device.

  • @paulb36utube
    @paulb36utube 3 ปีที่แล้ว +1

    Now to figure out how to program the at tiny

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      I am glad you made this comment! I just updated the repository for instructions on how to upload code to the Attiny microcontrollers. It's very easy to do and you can program the Attiny MCs just like any Arduino.

  • @kando999
    @kando999 2 ปีที่แล้ว +1

    Hi, here is another idea, perhaps the same but with a small backlit LCD or OLED screen.

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      That's a great idea! I will for sure add this to potential future projects. It will probably have to be wired and not wireless because of the current consumption of the screen, but that's a decent trade-off.

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Remember to subscribe if you haven't already if you like these kind of projects! :)

  • @RavikumarTulugu
    @RavikumarTulugu 2 ปีที่แล้ว +1

    google search led me here, nice project !!!! i am trying to do the same for a quad, can you give the capacitor ratings ?? i see they are no where mentioned .... Thanks

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว +1

      Thank you! May I ask what you searched to get to this video? I just realised this too, my bad, I will add them now. I used a 1000µF (could be 100µF) electrolytic capacitor, and a 104Z ceramic capacitor. I soldered them directly on to the MCP1700 voltage regulator, between the GND and VCC of the MCP1700.

    • @RavikumarTulugu
      @RavikumarTulugu 2 ปีที่แล้ว

      @@ProjectsWithRed i have trouble making nrf working with 3.3 lipo battery , i was researching on google for mcp1700 and your video showed up

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      @@RavikumarTulugu Cool! I am glad I could help. Remember to subscribe if you enjoyed or found the video useful! :)

    • @RavikumarTulugu
      @RavikumarTulugu 2 ปีที่แล้ว

      @@ProjectsWithRed 100 uf capacitor doesnt seem to work, are you sure ?? i am using a 100 uf cap and i dont recieve any packets from tx. tx is a working one.

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      @@RavikumarTulugu Since I don't know much about your project, I can't really help, since there could be other problems and not an issue with the capacitor used.

  • @cwtjones
    @cwtjones 2 ปีที่แล้ว +1

    hi, can you please suggest a microcontroller that can accommodate 20 to 40 buttons? I am totally new to this.

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Hello, I would suggest the Attiny88, it has 28 pins, it's actually the one I ended up using for mine. However, you don't have to be limited by the number of pins on a microcontroller, you can connect a multiplexer to the microcontroller which will allow you to connect multiple buttons to the same pin.

    • @cwtjones
      @cwtjones 2 ปีที่แล้ว

      @@ProjectsWithRed thanks for prompt reply. I just found out we can wire them in matrix. I forgot to ask about combine key, can i press 2 or 3 button at the same time, for example, shift + control + alt? I know the key can be assigned with multiple value, just thought if i were to build a non-macro keyboard.

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว +1

      @@cwtjones No worries! Yes you can do that, just remember to increase the "MAX_SHORTCUT_KEYS" variable in both the transmitter and receiver code the more keys you use.

  • @thisfeatureisbad
    @thisfeatureisbad ปีที่แล้ว

    What about the latency? I wanted to make myself an osu! 2-button keypad, but I'm afraid I would just scrap that idea and go wired. I hate cables on my desk.

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      There is no noticeable latency, you experience instant response after each button press 👍🏼.

  • @minee7376
    @minee7376 6 หลายเดือนก่อน

    can i make it as a matrix button?

  • @fengmingli8595
    @fengmingli8595 2 ปีที่แล้ว +4

    Cool design. I tested your code, but there are always errors. The content is:"no matching function for call to 'Button::Button(int&, const uint16_t&)' " ~Please help me ,thank you!

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Thank you! Did you install the Button library by Michael Adams using the Arduino IDE?

    • @fengmingli8595
      @fengmingli8595 2 ปีที่แล้ว

      @@ProjectsWithRed Two libraries installed: RF24 by TMRh20.
      Button by Michael Adams. Is it related to the version of Arduino ide?

    • @fengmingli8595
      @fengmingli8595 2 ปีที่แล้ว

      @@ProjectsWithRed PS --This line of code shows the error: 64 buttonObjs[i] = new Button(btnInfo.btnPin, DEBOUNCE_MS);

    • @fengmingli8595
      @fengmingli8595 2 ปีที่แล้ว +1

      @@ProjectsWithRed After your prompt, I deleted and installed the library again. Now it has been compiled. Thank you for your help. Cheers! This is a great DIY wireless keyboard design!

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      @@fengmingli8595 Perfect, glad to hear it! Remember to subscribe if you haven't already so you don't miss future projects :)

  • @meowmeow4383
    @meowmeow4383 2 ปีที่แล้ว

    I am having trouble converting the transmitter code for pro micro, could you help me ?

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Yes of course, what do you need help with?

  • @threepe0
    @threepe0 3 ปีที่แล้ว

    Someone drives by with SDR and starts sending key presses to your pc... I wonder if bluetooth can be used instead

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      I did look into using Bluetooth at first, such as using the ESP32, but the current consumption was super high. I couldn't get to a bluetooth solution that would have low current consumption.

  • @Wesley5n1p35
    @Wesley5n1p35 ปีที่แล้ว +1

    Subbed, youve got great projects on this channel keep it up.
    I am however getting the dreaded error
    Compilation error: no matching function for call to 'Button::Button(int&, const uint16_t&)'
    Ive tried using your version of arduino, the most recent stable version and even the new 2.0 version.
    Ive uninstalled and installed the Button library abut 10 times both with the nuking of all files including arduino as well as the folders containing them.
    I have only installed the Button from Arduino library manager and its the Michael Adams version.
    What am I doing wrong please help, I feel like im going crazy haha

    • @pingpong3484
      @pingpong3484 ปีที่แล้ว +1

      I have exactly the same problem. Can you write me if you should have solved the problem. It is so frustrating

    • @Wesley5n1p35
      @Wesley5n1p35 ปีที่แล้ว

      @@pingpong3484 ive officially given up till i get an answer :( i bought all the components first haha theyre all wired up in a box waiting for the code to work haha

    • @pingpong3484
      @pingpong3484 ปีที่แล้ว +1

      @@Wesley5n1p35 Exactly the same for me

    • @Wesley5n1p35
      @Wesley5n1p35 ปีที่แล้ว +1

      @@pingpong3484 Hopefully if we make this thread long enough itll be relevant. Hopefully someone who has had this issue and fixed it could give us some pointers. Its gonna be something super dumb that we looked over or something.

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      @Wesley5n1p35 @PingPong haha, I do apologise for the late reply. What micro-controller are you using? And how are you uploading the code to the micro-controller?

  • @test_channel_eg
    @test_channel_eg 3 หลายเดือนก่อน

    Hello my firend this project is exactly i want to do
    Can i use wifi or Bluetooth to connect with computer

    • @ProjectsWithRed
      @ProjectsWithRed  3 หลายเดือนก่อน +1

      Yes you can do this using the ESP32, however, you will have to modify the project to make it work.

    • @test_channel_eg
      @test_channel_eg 3 หลายเดือนก่อน

      Thank you for reply my question

    • @test_channel_eg
      @test_channel_eg 3 หลายเดือนก่อน

      @@ProjectsWithRed
      My friend
      Can I replace pro micro
      And nrf24l01
      With esp32 and connected with computer directly with Bluetooth

  • @raulballesteros4942
    @raulballesteros4942 2 ปีที่แล้ว +1

    Could I use it with a tablet Android?

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Unfortunately you can't with this implementation.

  • @isaacriosvazquez6932
    @isaacriosvazquez6932 3 ปีที่แล้ว +1

    Hey, electronics noob here, how do you add more buttons than pins available in the micro controller? (Im guessing a multiplexer?)

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      Hello! Yes, you would have to use some sort of a multiplexer, such as the 74HC4067 or MCP23S17, if you search around for this, you will find a lot of options. However, an idea I had while making this project, is by using a single ADC pin. You can connect all buttons to Vcc and through different resistors to the same ADC pin, then in the code you can make checks for different ranges of ADC values. I haven't tried this and its not a very reliable way, but it should work. I recommend looking into getting an Attiny88, they are very cheap, provide you with 28 pins, and you can program them just like any Arduino. Remember to subscribe if you enjoyed of found the video useful! :)

    • @auden_builds
      @auden_builds 3 ปีที่แล้ว +1

      Would using a keypad matrix for this work.

    • @ProjectsWithRed
      @ProjectsWithRed  3 ปีที่แล้ว

      ​@@auden_builds Yes it would, as long as you can connect each key to ground and a pin on the micro-controller. You could use any input method you want with no issues, a key is just like a switch.

    • @auden_builds
      @auden_builds 3 ปีที่แล้ว +1

      @@ProjectsWithRed thank u

  • @vvjworld09
    @vvjworld09 ปีที่แล้ว

    Can you add rotary encoder

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว +1

      Yes you can 👍🏼.

    • @vvjworld09
      @vvjworld09 ปีที่แล้ว

      @@ProjectsWithRed can you help make

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      @@vvjworld09 You need to connect the encoder to the Attiny, and simply read the value and send it through the radio connection just like any other key value.

  • @craiggilbert5795
    @craiggilbert5795 2 ปีที่แล้ว

    Hey Red,
    I'm getting the error "no matching function for call to 'Button::Button(int&, const uint16_t&)' ", I have updated Arduino to 1.8.19, I have run it as Administrator, I have uninstalled and reinstalled button and rf24. I am still getting the same error. What is SPI.h? Is that included with Arduino or do I have to install that library also? Any other tips to get it working??? Please help..

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      Hello, did you install the Button library by Michael Adams? Make sure you uninstall all other button libraries using the Arduino IDE library manager. Which micro-controller are you using?

    • @craiggilbert5795
      @craiggilbert5795 2 ปีที่แล้ว

      @@ProjectsWithRed Hey Red, I have installed the Button library by Michael Adams, and reinstalled it as a precaution. I have loaded the same Arduino IDE as you 1.8.13. I am using the attiny84 and selected ATtiny24/44/84(a) (No bootloader) as the board. The compile error i am experiencing is:
      Arduino: 1.8.13 (Windows 10), Board: "ATtiny24/44/84(a) (No bootloader), Enabled, ATtiny84(a), 8 MHz (internal), EEPROM retained, B.O.D. Disabled (saves power), Clockwise (recommended, like damellis core), Enabled, Port A (CW:0~7,CCW:3~10)"
      Proj_Custom_Keyboard_Attiny_FlrA.ino: In function 'void initButtons()':
      Proj_Custom_Keyboard_Attiny_FlrA:69:59: error: no matching function for call to 'Button::Button(int&, const uint16_t&)'
      buttonObjs[i] = new Button(btnInfo.btnPin, DEBOUNCE_MS);
      ^
      Proj_Custom_Keyboard_Attiny_FlrA.ino:7:0:
      \Arduino\libraries\Button/Button.h:14:3: note: candidate: Button::Button(uint8_t)
      Button(uint8_t pin);
      ^~~~~~
      \Arduino\libraries\Button/Button.h:14:3: note: candidate expects 1 argument, 2 provided
      \Arduino\libraries\Button/Button.h:11:7: note: candidate: constexpr Button::Button(const Button&)
      class Button
      ^~~~~~
      \Arduino\libraries\Button/Button.h:11:7: note: candidate expects 1 argument, 2 provided
      \Arduino\libraries\Button/Button.h:11:7: note: candidate: constexpr Button::Button(Button&&)
      \Arduino\libraries\Button/Button.h:11:7: note: candidate expects 1 argument, 2 provided
      exit status 1
      no matching function for call to 'Button::Button(int&, const uint16_t&)'
      This report would have more information with
      "Show verbose output during compilation"
      option enabled in File -> Preferences.
      Please help...

    • @oyunsever3431
      @oyunsever3431 2 ปีที่แล้ว

      @@craiggilbert5795 Did you manage to fix it. I am having the exact same error and couldnt manage to fix it.

  • @ShammoThePro
    @ShammoThePro 2 ปีที่แล้ว

    Can I use Arduino nano

    • @ProjectsWithRed
      @ProjectsWithRed  2 ปีที่แล้ว

      I don't think you can because the Arduino Nano does not have HID support.

  • @kando999
    @kando999 9 หลายเดือนก่อน

    Hi, I think this will be a great project but I keep getting a compilation error...
    ... \libraries\Button/Button.h:11:7: note: candidate expects 1 argument, 2 provided
    ... \libraries\Button/Button.h:11:7: note: candidate: constexpr Button::Button(Button&&)
    ... \libraries\Button/Button.h:11:7: note: candidate expects 1 argument, 2 provided
    Compilation error: no matching function for call to 'Button::Button(int&, const uint16_t&)'
    Button by Michael Adams is installed
    Any ideas?

    • @kando999
      @kando999 8 หลายเดือนก่อน

      Just another point to note. The pro micro comes in two voltages 5V and 3.3V If you connect the 5V one via Vcc to the nRF34L01 for the receiver it will probably fry it.

    • @ProjectsWithRed
      @ProjectsWithRed  8 หลายเดือนก่อน

      Make sure you are using the Button library version 1.0.0.

    • @kando999
      @kando999 8 หลายเดือนก่อน

      Hi, Thanks for the reply. Yes I have the version 1.00 installed. Re-installed all. same problem ... Compilation error: no matching function for call to 'Button::Button(int&, const uint16_t&)'

  • @cncmax1623
    @cncmax1623 ปีที่แล้ว

    can you upload code for attiny88 ,
    I tried but I can't define only 9 keys, port d and pin pb1

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      What do you mean exactly?

    • @cncmax1623
      @cncmax1623 ปีที่แล้ว

      I would like to use more buttons for this keyboard, that's why I chose attiny 88, but I can't implement more than 8 buttons@@ProjectsWithRed

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      @@cncmax1623 Are you using the AttinyCore for the board manager for the Attiny88? If so, just check the pinout for the Attiny88, there should be plenty of pins you can use.

    • @cncmax1623
      @cncmax1623 ปีที่แล้ว

      @@ProjectsWithRed yes ,but i can use more thean 8 pin

    • @ProjectsWithRed
      @ProjectsWithRed  ปีที่แล้ว

      Yes you can use more than 8 pins. The only pins you cannot use are VCC(7), GND(8), AVCC(20), GND(22), RESET(1), PD6(12), PD7(13). You can use all the other pins.

  • @wolves2.075
    @wolves2.075 11 หลายเดือนก่อน

    bro what is the delay?

    • @ProjectsWithRed
      @ProjectsWithRed  11 หลายเดือนก่อน

      I am not exactly sure about the delay in actual time. But when you use the keyboard, to you it will feel instant, no noticeable delay.

    • @wolves2.075
      @wolves2.075 11 หลายเดือนก่อน

      @@ProjectsWithRed owo

  • @rdvardi3296
    @rdvardi3296 8 หลายเดือนก่อน

    Error buttonOnjs(i)=new Button(btninfo.btnpin, DEBEONCE_MS); help me pleas

    • @ProjectsWithRed
      @ProjectsWithRed  8 หลายเดือนก่อน

      Did you install the Button library by Michael Adams version 1.0.0?