Skip to content

PicoS2 v2.0 - the first, working release

Latest
Compare
Choose a tag to compare
@matefon matefon released this 11 May 11:30
· 12 commits to main since this 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.