You are on page 1of 20

Remote Keystroke Retrieval

System

Kevin Butler
Omar Martino
Eric Hicks
Project Description
Interface a PIC16F84 microcontroller with external
EEProm to record and store all keystrokes from a
given AT or PS/2 keyboard.

Transmit the stored data using a TX/RX transmitter


pair to a separate device

Display the received data on a monitor screen.


General Functionality

Keyboard CPU

Recorder

Mobile

CPU
Interface Functionality

EEProm

PIC16F84

Receiver Transmitter

From Mobile To Mobile


Interface Functionality Cont’d

From Recorder
Receiver
To Recorder PIC16F84
Transmitter

EEProm II
Parts Description

 Microcontrollers

 Memory

 RF Systems

 Keyboard
PIC16F84 Microcontroller
 Coding
– RISC Assembly
 32 instructions
– PIC Basic
 Hardware
– 18 Pins
 13 pins available for
input/output
specification
– Requires 4 MHz clock
– 5V power supply
Microchip EEProm (2kbit-512kbit
packages)
 Interface/PinOuts
 Hardware
 Storage
– Each lower case
character is 24 bits
– Our storage capacity
using this setup will be
80 characters to 21,000
characters!
– Max storage
approximately 20 pages
(font 12, double spaced)
Keyboard

Male 6-pin Mini-DIN (PS/2):


1 - Data

           2 - Not Implemented


3 - Ground
4 - Vcc (+5V)
(Plug) 5 - Clock
6 - Not Implemented
Testing Phases
 Phase 1- Handling Keystrokes (In Progress)  Phase 2- Storing Data (In
– Ignores mouse movement
– Displays scan codes on LED’s
Progress)
– Still need special keystroke recognition (F1, – Must implement higher
Win95, etc.)
capacity EEProm

 Phase 3- Keyboard Emulation  Phase 4- Transmitting


(Completed) (Upcoming)
– Use microcontroller to – Use microcontroller to start
simulate a working keyboard. and end transmission of data
from EEProm
Phase 1 & 2- Recording Keystrokes

 PIC16F84 receives clock and


data from keyboard, and “routes”
the data to EEProm
 Ignores mouse movements
 PICBasic I2COUT/I2CIN handles
all serial transmission
– Control byte, address byte, data
byte
Test Circuit Diagram
Phase 3- Keyboard Emulation
 PIC16F84 manually switches clock pin high
and low, to simulate keyboard clock
 Memory accessed and sent as it was received
initially (FIFO)
 Ignoring crucial keys (Win95, F1, etc) is still an
issue
– Each of these keys has a two part make code that
starts with the byte E0, should be easy to ignore,
but hard to display what key was typed.
Phase 4- Transmission

 PIC16F84 receives control signal and initiates


EEProm data extraction
 Data is obtained byte by byte from EEProm,
and sent to transmitter serially using the
I2COUT instruction.
 Data is received and processed exactly as in
Phase 1 & 2
Recording Unit Diagram
Mobile Unit Circuit Diagram
Timeline
February March April
ID
1
Task Name
PDR Timeline 1/26 2/2 2/9 2/16 2/23 3/2 3/9 3/16 3/23 3/30 4/6 4/13 4/20 4/27

2 Select microcontrollers
3 Select memory
4 Select Tx, Rx
5 Order Parts
6 Design
7 CDR
8 Testing Tx, Rx
9 Keyboard/MC interface
10 MC/Memory Interface
11 MC/RF interface
12 Milestone 1
13 Integration
14 Fine-tune Tx/Rx
15 Milestone 2
16 Assemble boards
17 Internal Expo
18 Documentation
Uncertainties

 Transmission Clarity/Distance
– Might need error correcting codes
– Have not tested TX/RX as of yet
 Code
– Have not established a clear strategy for filtering
unwanted keystrokes
 Power Consumption
– May be able to power transmitter from PIC
Milestone Goals
 Milestone 1  Milestone 2
– Demonstrate transmission – Demonstrate completed
of stored data to remote prototype
device. – Integration of all phases
– Display data on screen – Working keystroke filtering
from “remote device”  Ignore or Recognize
– Completion of Phase 3
Questions?

You might also like