Releases: matefon/PicoS2
PicoS2 v2.0 - the first, working release
Functions
- PS/2 keyboard key detection (US layout) (2 keys are not supported: Pause/Break, PrintScreen)
- Print key info via serial (UART, with TX pin 0, RX pin 1)
- LED flashing depending on USB connection.
Setup
- Connect the Pico to your computer in BOOTSEL mode (connect while holding the button)
- Copy the ps2_macro_keyboard.uf2 file to the RPI-RP2 drive
- Connect the PS/2 socket (mini-DIN 6P) pin 1 (data) to GP17 and pin 5 (clock) to GP16.
- Connect the PS/2 socket pin 3 (ground) to any ground on the Pico.
- Connect the PS/2 socket pin 4 (vcc) to Pico physical pin 36. It is important to NOT connect it to 5 volts, else it will fry your Pi (The keyboard works perfectly with 3.3 volts as well!)
- The onboard LED should start flashing, indicating a connection.
- Optional: To see serial output, connect USB to TTL adapter RX pin to GP0 and TX pin to GP1 (this is not reversed, TX goes to RX, and RX goes to TX)
- Optional: Connecting an OLED SSD1306 module: GND to any GND, SCL to GP13, SDA to GP12 and VCC to GP11
RPi Pico Pinout
Wiring: see folder 'wiring'
Build
0 - Pico SDK installed and set up - see raspberrypi/pico-sdk
1 - Clone this repo. Run git submodule init
and git submodule update
2 - Create a new build directory.
3 - Run cmake ..
and make
4 - Copy the .uf2 file to the Pico in BOOTSEL mode
Additional build info found in the ps2_macro_keyboard.cpp file and on the main page.
See supported PS/2 keys on main page.
v1.1
Functions
- PS/2 keyboard key detection (US layout) (2 keys are not supported: Pause/Break, PrintScreen)
- Print key info via serial (UART, with TX pin 0, RX pin 1)
- LED flashing depending on USB connection.
Setup
- Connect the Pico to your computer in BOOTSEL mode (connect while holding the button)
- Copy the ps2_macro_keyboard.uf2 file to the RPI-RP2 drive
- Connect the PS/2 socket (mini-DIN 6P) pin 1 (data) to GP17 and pin 5 (clock) to GP16.
- Connect the PS/2 socket pin 3 (ground) to any ground on the Pico.
- Connect the PS/2 socket pin 4 (vcc) to Pico physical pin 36. It is important to NOT connect it to 5 volts, else it will fry your Pi (The keyboard works perfectly with 3.3 volts as well!)
- The onboard LED should start flashing, indicating a connection.
- Optional: To see serial output, connect USB to TTL adapter RX pin to GP0 and TX pin to GP1 (this is not reversed, TX goes to RX, and RX goes to TX)
Build
0 - Pico SDK installed and set up - see raspberrypi/pico-sdk
1 - Clone this repo. I'm kinda new to Git, I used some other repos and have a .gitmodules file, but I don't know if it works.
2 - Create a new build directory. (I needed to force push my local repo, so my build directory is pushed)
3 - Run cmake ..
and make
4 - Copy the .uf2 file to the Pico in BOOTSEL mode
v1
Version 0.2 alpha
Functions
- PS/2 keyboard key detection (US layout) (2 keys are not supported: Pause/Break, PrintScreen)
- Print key info via serial (UART)
- Turn internal LED on and off by pressing and holding key 'x'
Setup
- Connect the Pico to your computer in BOOTSEL mode (connect while holding the button)
- Copy the macro.uf2 file to the RPI-RP2 drive
- Connect the PS/2 socket (mini-DIN 6P) pin 1 (data) to GP2 (Pico physical pin 4) and pin 5 (clock) to GP3 (Pico physical pin 5)
- Connect the PS/2 socket pin 3 (ground) to any ground on the Pico (e.g. Pico physical pin 3 or 38)
- Connect the PS/2 socket pin 4 (vcc) to Pico physical pin 36. It is important to NOT connect it to 5 volts, else it will fry your Pi (The keyboard works perfectly with 3.3 volts as well!)
- Reboot the Pico (detecting keyboard connection not supported yet)
- When the internal LED is on, press any key to start
- The internal LED should turn off
- To test it out, press the key 'x' on the keyboard connected to the Pico to turn the internal LED on and off (on while holding, off when released)
- Optional: To see serial output, connect USB to TTL adapter RX pin to GP0 (Pico physical pin 1) and TX pin to GP1 (Pico physical pin 2)