40000ft / picoPOKER

Battery-powered Bluetooth keyboard project using pico-power features of AVR targeting Poker cases
MIT License
8 stars 0 forks source link
avr battery ble-friend ble-peripherals keyboard matrix qmk-firmware

picoPOKER - pico-power 60% Poker Keyboard

Battery-powered Bluetooth keyboard project using pico power features of AVR targetting a 60% poker form factor.

Project Motivation

Seeking an office-oriented, mechanical keyboard platform that will fit in a variety of 60% poker cases that supports both wired USB and wireless Bluetooth battery-powered operation.

The main goals of this project are to provide the longest battery life possible without the mess of wires on a configurable platform. As such, a custom HW platform is proposed with a purpose-built key matrix, wireless interfaces, and power controls.

Because the keyboard is intended for home/office use, backlit key LEDs are not provided so as to improve battery life.

Supported HW platform Features

NOTE: Some of the following features require supporting-SW to enable.

  1. Targetting 60% Poker form-factor
    • Similar to GH60 key- and case-compatability
    • 5 rows X 15 columns key matrix
  2. Popular Atmel AVR AT90USB1286 controller
    • Largely compatible with existing community SW
    • HW reset launches boot loader, similar to existing platforms
    • Low power external BOD reset circuit for AVR, saves BOD power when BOD fuses are disabled
    • AVR180: External Brown-out Protection
    • If BOD fuses are enabled, the internal band-gap reference will be enabled in all sleep modes and will always consume power. This will contribute significantly to power consumption and battery life. The BOD fuses must be disabled.
    • powered by reulgated 3.3V or unregulated battery/VUSB, reduces power consumption
    • 8MHz clock (max for 3.3V)
    • 16MHz @ 3.3V is technically overclocking, board can still have 16MHz crystal though
  3. USB 2.0 or Bluetooth 4.0 LE for keyboard protocol connection
    • Can support simultaneous USB serial command and debug console (shares single USB connection when using USB for keyboard also)
  4. Supports Adafruit BLE UART Friend or Adafruit BLE SPI Friend Bluetooth 4.0 LE Radio Modules (select one)
    • low power: BLE Friend Current Measurements
    • add-on peripheral soldered into PWB through a header
    • Bluetooth radio can be (de)powered under SW control when not in use to save power (deep sleep or disuse)
  5. Can run on battery or USB bus-power
    • Automatically selects USB bus-power when available
  6. 4.2V LiPo Battery with JST connector
    • Built-In battery charger, charges from USB bus-power
    • SW-controlled battery voltage monitor through AVR's ADC
    • Battery monitor voltage-dividers can be disconnected by SW control to save battery power when not in use
  7. Interrupt-driven matrix processing for frequent matrix power-down and fast wake to better use AVR power states
    • Power down key matrix and use AVR sleep modes when no key presses detected
    • Leave Bluetooth enabled/connected until a period of inactivity, then load shed for deep sleep
    • Use low power matrix interrupt to wake AVR when any key is pressed while in sleep mode
    • Based on wake-up on keypress

Intended key matrix processing model

Help Wanted

  1. Someone to complete a real schematic and PCB layout in KiCAD
    • As incentive, I will pay for 1 finished PCB for this person if negotiated beforehand
    • preferrably someone that has previous experience, e.g. GH60
  2. Someone to support software / help develop the code base for the special features of the platform

License