No video

Use A Raspberry Pi Pico as a HID [Gamepad, Keyboard, Mouse, and Multimedia]

Thanks to www.pcbway.com for helping make this video happen!
The Raspberry Pi Pico is a super flexible board! Today I'll show you how to make it work as a USB Gamepad, USB Keyboard, USB Mouse, and more!
00:00 Introduction
00:30 PCBWay!
01:17 The Design
02:25 Assembly
04:53 Demonstration
07:05 Code Walkthru and Installation
14:54 Conclusion
Resources for this build
CircuitPython for Raspberry Pi Pico
circuitpython....
CircuitPython Library Collection
circuitpython....
PicoCader Github (Source files, PCB Files, etc)
github.com/pri...
3D Printed Parts
www.printables...
5 Pin Sanwa Clone Joystick
www.amazon.ca/...
24mm Arcade Buttons
www.amazon.ca/...
USB Mini to USB B Cable
www.amazon.ca/...
OLED Display
www.amazon.ca/...
Really into retro games and tech? Check out my retro channel!
/ pnpretrospective
Want to help support future builds and get first access to new designs? Check out my Patreon
/ jcprintnplay

Пікірлер: 60

  • @PrintNPlay
    @PrintNPlay Жыл бұрын

    Check out this awesome robot arcade with controls based around this project! kzread.info/dash/bejne/nauHuLlpe5aoirw.html

  • @davidg5898
    @davidg58982 жыл бұрын

    Pretty clever. If you're not an arcade purist, you can add a secondary version of each mode that includes a press-and-hold function to make the buttons turbo. Despite having seen multiple Pico tutorials, yours is the first that really shows how easy it is to register inputs. Perhaps it's time to actually start that MIDI controller I've always thought of!

  • @PrintNPlay

    @PrintNPlay

    2 жыл бұрын

    Absolutely. You could even add a modifier button to allow you to record several actions and bind them to a button, for games with special moves. Or add a potentiometer using one of the analog inputs to have a variable speed turbo. Glad you liked the tutorial

  • @RickMunday
    @RickMunday8 ай бұрын

    Your "mode select" is one of the things that eluded me last year (code wise) when I was working on something similar, but for radio control. I wanted to have a mode toggle depending on which radio it is operating. That is absolutely brilliant!

  • @PrintNPlay

    @PrintNPlay

    8 ай бұрын

    I'm glad you found it helpful!

  • @adambrassard9268
    @adambrassard92682 жыл бұрын

    Love the turtle green and turtle shell brown base. Amazing work on the design and thought. I'm always impressed by the designs and considerations for wiring space. Very cool project and thanks for sharing!

  • @datagod
    @datagod Жыл бұрын

    I am so jealous of your soldering skills. I have several burned out pieces of kit due to my lack of ability.

  • @kayleenamanda
    @kayleenamanda2 жыл бұрын

    Ahhh such nostalgia! I think I know what we are playing with this weekend.

  • @PrintNPlay

    @PrintNPlay

    2 жыл бұрын

    Sounds like a date!

  • @3dhYT
    @3dhYT Жыл бұрын

    _Translator:_ It's a great project. I'm waiting for Pico and will make a DB9>USB adapter.

  • @gggg-bk7md
    @gggg-bk7md2 жыл бұрын

    your videos are very illustrative and well done ... I love them! 👍congrats!!

  • @-someone-.
    @-someone-.2 жыл бұрын

    All your videos are awesome! Video editing, music, audio, information, detailed close ups....everything! Thanks 👊

  • @PrintNPlay

    @PrintNPlay

    2 жыл бұрын

    Thank you so much! I'm glad you enjoy them!

  • @rae3012
    @rae30122 жыл бұрын

    Awesome work! We also have the new turtles game, your video made me want to try it again on my fight stick though!

  • @Fluxrat
    @Fluxrat25 күн бұрын

    I really like the idea. I wonder if you could get those bluetooth chatpads for the dualsense running with the pico. Would be amazing.

  • @SirRob24
    @SirRob242 жыл бұрын

    Another awesome video with a cool project. One of these days I'll get around to building a full arcade cabinet from scratch and I'm gonna toss so many rPi Picos into that dang thing lol

  • @Mitch3D
    @Mitch3D2 жыл бұрын

    It would be nice to have the joy stick function as an analog joystick as well, maybe add a trackball so FPS games are more playable. I also think it would be nice to be able to map buttons using the onboard display with a "record" mode.

  • @CodeProfessor
    @CodeProfessor2 жыл бұрын

    Very clean build, excellent job!

  • @ineedclosure4163
    @ineedclosure4163 Жыл бұрын

    Hey, I'm really struggling with getting code to work. I've copied directly from the description. Any thoughts? Specifically the gamepad object.

  • @eminentbadge60
    @eminentbadge60 Жыл бұрын

    Hi, I was wondering if the Pico can be used to make a wired/wireless gamepad... Like 2 Arduino joystick modules with a Pico? Also, can the project be made wireless with a pi pico w?

  • @adamjensen6376
    @adamjensen637629 күн бұрын

    Can you use picoboot as a two player hid

  • @morbidjin
    @morbidjin2 жыл бұрын

    I was looking for this! Nicely done. Will you ever make the PCB schematic available for download?

  • @PrintNPlay

    @PrintNPlay

    2 жыл бұрын

    Would be glad to! The fabrication file is already in the description if you want to get one made but, if you're looking to modify it or design your own, I'm glad to publicize the rest of the design stuff as well

  • @morbidjin

    @morbidjin

    2 жыл бұрын

    @@PrintNPlay Much Thanks! I saw there's a Pico wireless now - Part2? :)

  • @canwebotit
    @canwebotit Жыл бұрын

    I tried and rewatch the video five time. But I am stuck at 14:54 because Window keep understanding my RP2040 as a usb key. Must we have a Raspberry Pi Pico for the code to work ? ( I am on a Seeed Xiao RP2040)

  • @lachmister
    @lachmister Жыл бұрын

    when you say you could change these values to add an analog stick. can you give an example of this? change the x + y val on line 155+ 156? to what?

  • @john_2730
    @john_2730 Жыл бұрын

    Could the different modes be used so the control could be used for different systems? e.g mode 1 pc. Mode 2 xbox. Mode 3 firestick

  • @anupsonawane1420
    @anupsonawane14204 ай бұрын

    can you please provide circuit diagram

  • @abhishekak9619
    @abhishekak9619 Жыл бұрын

    hello i see you know a lot about raspberry pi pico.(idk much about coding and pico)can you help do this thing, i want to delay all my mouse data by 1 second(to make my friend confused its a april fools project), so i have mouse and i want to connect it to the raspberry pi pico and connect the raspberry pi pico to my computer, and the mouse sends data at a 500hz so i want to send the data through the pico at a 500hz. please tell me if this is possible?

  • @requiem4adreamc
    @requiem4adreamc Жыл бұрын

    I prefer Arduino IDE. Can i do similar project with it?

  • @ShonenReviews
    @ShonenReviews2 жыл бұрын

    nice video!

  • @yosoyestoyarto
    @yosoyestoyarto Жыл бұрын

    Its possible to use 2 joysticks on the same board?

  • @AZ007
    @AZ007 Жыл бұрын

    will you try to make ps5 styled controller with pi pico, love your projects

  • @apollowellstein188
    @apollowellstein188 Жыл бұрын

    It's 2022. I know its a few dollars extra, but can we please start using USB C instead of USB B?

  • @PrintNPlay

    @PrintNPlay

    Жыл бұрын

    I personally still prefer USB B as a more robust connector where size isn't an issue. But, since it's just a pass through connector, it's easy for you to swap it if you build one!

  • @vigneshkarthi3321
    @vigneshkarthi33217 ай бұрын

    Bro try out for gamepad for xbox PlayStation and Android

  • @gggg-bk7md
    @gggg-bk7md2 жыл бұрын

    hi.. me again... the atari joystick man... can i use this to create a 2 atari joystick adapter with one pico ?? Sorry my english...!!! thanks!!

  • @PrintNPlay

    @PrintNPlay

    2 жыл бұрын

    Hey there! All of this does come together to give you the tools you need. I just haven't gotten the 9 pin female connectors I need to build the adapter and show you. Soon!

  • @gggg-bk7md

    @gggg-bk7md

    2 жыл бұрын

    @@PrintNPlay hello friend... I'm using this code to make my atari adapter (eliminating the part related to the screen, I think, with success, since I don't need it for now) one question... a cable from the arcade buttons goes to, eg GPIO1 and the other? GND? 3v3?

  • @PrintNPlay

    @PrintNPlay

    2 жыл бұрын

    Sounds like you are making good progress! Goes from GP01 to ground.

  • @gggg-bk7md

    @gggg-bk7md

    2 жыл бұрын

    I only have the code on the Pico and a PC switch with its cables connected to GND and GPIO... But...

  • @gggg-bk7md

    @gggg-bk7md

    2 жыл бұрын

    I don't know why, but the code doesn't work for me... I press the button but it doesn't do anything. But when I hold it down for a long time, it does ALL the actions of each of the modes for that button!!! and as long as you keep it pressed, it cyclically performs those actions. Could you please review the code that I uploaded to Drive and see if it has any errors or is missing something? drive.google.com/file/d/14uTh3a02tMCkcp3FfbZZoes4GFEeY-ae/view?usp=sharing

  • @nathanielallen9591
    @nathanielallen9591 Жыл бұрын

    The gamepad mode UI doesn't come up for me :(

  • @kacpe8766
    @kacpe87668 ай бұрын

    Can you emulate an Xbox 360 controller?

  • @MrDicafr
    @MrDicafr2 жыл бұрын

    Just need a second joystick for fps mode ;)

  • @PrintNPlay

    @PrintNPlay

    2 жыл бұрын

    Why not build 2? :D

  • @fon-tijn
    @fon-tijn Жыл бұрын

    how to fix Cannot change USB devices now error ive put in the boot.py file?

  • @naxusv7232

    @naxusv7232

    2 ай бұрын

    did you fix it?

  • @TheJavaSync
    @TheJavaSync Жыл бұрын

    Can I use Thonny IDE instead Circuit Phyton?

  • @PrintNPlay

    @PrintNPlay

    Жыл бұрын

    CircuitPython is a replacement for MicroPython, both are still programmable via Thonny

  • @TheJavaSync

    @TheJavaSync

    Жыл бұрын

    I am not a real programmer, just an hobiest A. Fortunately - It works for me - but litle bit trouble - display menu keep scrolling, what switch you use for GP22 (menu selector) - tactical switch? B. I only need gamepad function - then I tried deleted 2 - 4 function on menu selection + set 1 instead 5 - so when it run it keep on gamepad function - it works but on control panel button response sooo slowly - what's should I do? Anw, thx for amazing tutorial !!! & sorry for my bad English 😃

  • @TragicGFuel
    @TragicGFuel11 ай бұрын

    Hey, is this still working?

  • @OTZOLOTEPUNK
    @OTZOLOTEPUNK Жыл бұрын

    For classic Xbox?

  • @DavidMerinoDavidm16
    @DavidMerinoDavidm168 ай бұрын

    Does not work in android

  • @paleopteryx
    @paleopteryx Жыл бұрын

    I hope there's a C/C++ HID library for the Pico out there. Python is a horrendous (and slow as hell) language, which does't do justice to this amazing board.

  • @PrintNPlay

    @PrintNPlay

    Жыл бұрын

    I'm sure it's out there! And absolutely, if you want the best performance, python isn't the way to go.

  • @VladTheInhaler1

    @VladTheInhaler1

    7 ай бұрын

    I love these comments. As if you’re fast/perceptive enough to notice the difference between arduino and circuitpython in any hid capacity. Especially on a chip as fast as the RP2040.

  • @paleopteryx

    @paleopteryx

    7 ай бұрын

    @@VladTheInhaler1 Man, you're soooo right!! In your advanced "hello world" program that topped your programming skill level, you won't even notice the difference!!! The RP2040 was designed to print "hello world" messages, nothing more! Silly me for thinking of more complex applications for it!

  • @VladTheInhaler1

    @VladTheInhaler1

    7 ай бұрын

    @@paleopteryx ill have you know my pi pico can print way more text than 'hello world'

  • @paleopteryx

    @paleopteryx

    7 ай бұрын

    @@VladTheInhaler1I bet it does! And at the same speed in C++ as in Python! Who would have guessed?