Connecting old retro keyboards to USB with a cheap Raspberry PI PICO for MiSTerFPGA cores.

Ғылым және технология

This video was made possible with the support of PCBWAY.....www.pcbway.com/
For a while I wanted to use an actual old keyboard with my MiSTer and design an addon for my wedge case so I decided to look at KMK firmware that a lot of people use for custom mechanical keyboard. KMK and Circuit python was very easy to use and just had to change the examples to work with the small selection of keyboards I had to try. While I was working on this I also found the BBC and Amiga 600 projects , but I was not able to borrow an A600 keyboard for the video.
My scripts used.
github.com/midicdj1000/RETRO-...
BBC PICO keyboard project
alexparsons.co.uk/connecting-...
github.com/ajparsons/bbc-micr...
Amiga 600 PICO Keyboard
github.com/thinghacker/Amiga6...
links to pcbway shared files
circuitpython.org/
github.com/KMKfw/kmk_firmware
Noels Amstrad CPC diagnostics
github.com/llopis/amstrad-dia...
The connector I used for the Flat flex is a
TE Connectivity, Trio-Mate, 6-520315 2.54mm Pitch 16 Way Straight Female FPC Connector
Music is from the KZread Library
The Thought of You - TrackTribe
00:00 intro
01:08 WHY ?
02:13 The keyboards I have for this video
05:10 Prototypes made on my CNC
06:50 Board design
08:07 uploading Gerber to PCBWAY
08:49 Looking at the new PCB and some PCBWAY goodies
10:32 Soldering Montage
11:43 connecting the new PCB to the Keyboards
14:00 Programming the PICO with Circuit Python and KMK firmware
16:19 How it works
21:15 Testing the Keyboards in MiSTer FPGA cores
24:15 Final words

Пікірлер: 43

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

    Thank you so much. Exactly what I was looking for. I have a ps/2 keyboard iam thinking to use it like this

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

    Nice sharing & thx so much for your trust, Lee 🥂

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    My pleasure

  • @elektron2kim666
    @elektron2kim66610 ай бұрын

    Very well documented what you did. Amazing. I think I would prefer a PCB buttons thing for a keyboard in most (unusual) cases. It's a great way to reuse/recycle things, though.

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

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

  • @nathanaelsmith3553
    @nathanaelsmith35532 ай бұрын

    Might try this with bbc micro keyboard

  • @zldsar14
    @zldsar14Ай бұрын

    Fantastic thanks

  • @jlofthouse1062
    @jlofthouse10625 ай бұрын

    are the boards available on pcbway or can you supply the gerbers (for a cost)?

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

    Interesting stuff! Just to clear things up though, I'm a little behind on the terminology - What IS a computer?

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    I am not sure I am qualified to answer that.

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

    Restore key on C64 -- even though it's hard-wired, couldn't that also be wired to Pico inputs? If there is no mapping in the MiSTer for it, maybe contact the C64 core developer and have them add a mapping for it.

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    Hi, Yes it's the same as the 4 special keys on the atari XE the problem is I have not worked out how to do the dual scanning keyboard with the shift function of the cursor keys at the same time. I have included the actual physical connection so it's just software problem.

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

    I'm pretty new to all this stuff, but I've got a Pico and a C64 keyboard I'd like to use on MiSTer temporarily. Is there any chance you've got a list somewhere of what pins on the C64 connector would go to what pins on the Pico, if I'm going to be using your script (and the KMK firmware, of course)? I'm just hoping to connect them with some leads and pin headers, rather than make a PCB since this is likely temporary until I repair my C64 again (they really do love to die, you know?). Any help at all would be appreciated. I know I could look at your PCB designs and spend some time tracing them all out (assuming I track down a program to open them), but I'm hoping maybe you've just got a list saved somewhere. If not, no worries. I appreciate you making this stuff available, regardless!

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    have a look at the schematic imgur.com/a/qyeqVZ2

  • @KyoshoLP

    @KyoshoLP

    Жыл бұрын

    @@leesmithsworkshop Thank you! That is exactly what I was hoping for! Very much appreciated!

  • @christophedelbecque6848
    @christophedelbecque684810 ай бұрын

    Vraiment très cool. J’aurai besoin d’une interface pour Atari 800xl, une pour Commodore 64 et une pour amstrad cpc. Avez des cartes déjà réalisées susceptibles d’être commandé ? Merci pour votre retour

  • @leesmithsworkshop

    @leesmithsworkshop

    10 ай бұрын

    sorry no, I am not selling them.

  • @christophedelbecque6848

    @christophedelbecque6848

    10 ай бұрын

    Merci pour le retour. Bon, ben je vais prendre le fer à souder et commandez le matos. Merci pour la vidéo et les explications.

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

    Interesting. I don’t have a MiSTer, but have been trying to run a BBC Micro emulator on my Windows desktop. It works OK, but typing code gets frustrating because of the different keyboard layout. If I could obtain an original keyboard from a Micro, I presume it would work using the setup described here.

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    Hi, Yes it will work and it all depends how the emulator is setup with keys compared to how the default bbc script is setup. I have not looked into this yet, but I do know it worked as a keyboard when I tested it. It should be very easy to swap the keys in the script to match the emulator

  • @Colin_Ames

    @Colin_Ames

    Жыл бұрын

    @@leesmithsworkshop Thanks.

  • @bardock666
    @bardock6668 ай бұрын

    Sorry, maybe i missunderstand something in the video, but where you find the "lib" folder? And at 15:48 you copy 15 files to the pico folder, but where to dowload all this files?

  • @leesmithsworkshop

    @leesmithsworkshop

    8 ай бұрын

    circuitpython.org/libraries

  • @n.h.s.a.d.m.
    @n.h.s.a.d.m. Жыл бұрын

    Huh, interesting. I wonder if there's an option for ADAM keyboard which also uses flex.

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    Do you know how it works ? if it's just a basic rows and cols matrix any keyboard can use this.

  • @n.h.s.a.d.m.

    @n.h.s.a.d.m.

    Жыл бұрын

    @@leesmithsworkshop It is and the matrix is known so it should be doable. Cool.

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    @@n.h.s.a.d.m. content.invisioncic.com/r322239/monthly_05_2016/post-25956-0-81576800-1462658606.png

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    @@n.h.s.a.d.m. just need to find the correct connector for the FFC

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

    Are there projects to do the opposite? ie. Use a USB keyboard on a C64?

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    I know of a board for the C64, but not others Take a look at Uni64.com and he has a lot of very cool projects. It's not working today 25-10 -2022 so look in a few days. It's not so easy to go the other way as you have to wait for the keyboard scanning from the computer and then have a matrix of what keys are pressed - released ect and send a bit back so you have to keep track of all the keys while keeping the clock timing correct to each computer. It's not impossible and all I did for this was change pin numbers and the keyboard layout, very simple programming.

  • @jinyongkim4327
    @jinyongkim432711 ай бұрын

    Hello, very interesting and instructive video.. Thank you so much.. I am trying to apply this for other retro computer MSX(FS-A1).. and running into python library preparation.. where are those file in your lib folder - adafruit_tick.mpy adagruit_debouncer.mpy and any files under adafruit_hid folder.. Thank you so much..

  • @leesmithsworkshop

    @leesmithsworkshop

    11 ай бұрын

    hi, I would suggest you join the discord and ask them for help, don't know how the code actually works and just changed the layouts.

  • @jinyongkim4327

    @jinyongkim4327

    11 ай бұрын

    @@leesmithsworkshop, Thanks for advice.. I do!

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

    I need to go the other way round. USB keyboard to PS2 or I2C or ASCII (serial) well having all three as out puts available would be better.

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    I am sure LGR featured something that can do that already ?

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

    this is great video but sir i need you r help to complete my keyboard please reply me and i will be thank full !

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    What keyboard ? I only know how to do these basic setups for retro.

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

    Just seen this as I was looking for something similar, though the opposite way around. I want to connect a modern keyboard to retro computers. I have a Minipet (new commodore pet motherboard) but no commodore keyboard, so I’d like to connect a modern USB keyboard to it. I’m just looking around with google to see if anyone has done something similar. Not having much luck!

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    I am not sure you will find one, it's not an easy thing to do. I know of wireless keyboards for the C64 perhaps one of those could be altered to work ?

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

    Hi I am reaching out wondering that if I have an external clock pulse or any signal having high and low pulses, and I initialize the SPI on the Pi Pico to capture the signal using it, will it possible to store the signal in a buffer and display it?

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

    Great - now people will be ripping apart perfectly salvageable classics for their keyboards.

  • @leesmithsworkshop

    @leesmithsworkshop

    Жыл бұрын

    This is nothing new and you could buy adapters for most of the common keyboards for a while.

  • @another3997

    @another3997

    Жыл бұрын

    Perfectly salvageable? That covers a particularly broad spectrum of experience and expertise. Given enough time, money and skill, just about anything can be slavaged, but not everyone agrees on where to draw the line. And as he pointed out, this idea is nothing new, and people are free to choose what they do to things they own, whether you agree with it or not.

Келесі