Today’s project was designed to solve the need to enter, using a keyboard, the same sequence of characters (a password, a greeting…) many times.
General description
Type4me is a composite USB device, that is composed by two elements:
- an USB keyboard
- a serial port
You can send the characters to be typed through the serial connection; in addition the device supports some commands to save/clear the sequence of characters and to include/not include a “return” at the end of it.
Schematics
The heart of Type4me is a PIC18F14K50 microcontroller, that includes a slave USB peripheral used to communicate with the PC. The microcontroller needs a 12MHz clock for USB operations; clock provided by Q1 crystal with C2 and C3 capacitors. C4 and C5 capacitors are used to decouple the power supply.
Partlist includes the S1 switch, with its pull-up resistor R1 and the (optional) C1 capacitor for de-bouncing and LED1 led with R2 resistor.
JP1 connector is for programming the microcontroller using an ICSP programmer (for example Microchip’s PICkit).












Well done!
By the way, why CCS?
Hi Dario,
thanks! I chose CCS mostly because of its great ready-to-use libraries, especially the USB stack. I tried to use the new “XC” microchip compiler but at the moment it’s not very mature and it’s hard to use it with Microchip USB stack so I gave up.
This is a perfect solution for me? Any kit availability?
Hi Chris,
not at the moment… but if you need a pre-programmed PIC or help for building it write me!
Good job. Now shrink it and sell it.
does the keyboard emulation work on linux too?
Yes: it’s a HID device so under Linux you don’t need any drivers.
Actually CDC drivers are only for Windows, I haven’t tried if you can use “generic” drivers under Linux.
Does this have the ability to store multiple pieces of text? For instance, can I store 3 or 4 different items, and then pick which one I want?
Hi Chris,
not at the moment, the v1 of Type4me was kept intentionally simple… v2 will have more buttons (I think 4) and a GUI (to create complex sequences like the one shown to play MAME).