An application note from Microchip: Interfacing a 4×4 Matrix keypad with an 8-Bit GPIO expander
This application note discusses interfacing a 4×4 matrix keypad with MCP23X08 8-Bit GPIO Expander. This application note references the MCP23X08/17 GPIO Expander Keypad/LCD Demo Board (GPIODM-KPLCD). GPIO Expanders provide easy I/O expansion using standard serial interfaces such as I2C and SPI. They are especially useful in applications where pin count is limited on the microcontroller unit (MCU) or if remote inputs / outputs (I/O’s) are needed. It is best to think of an 8-bit GPIO Expander like adding another 8-bit wide digital port to the MCU. This application note does not detail all of the features of the MCP23X08. Refer to the MCP23008/MCP23S08 Data Sheet, “8-Bit I/O Expander with Serial Interface” (DS21919) for more information.
Interfacing a 4×4 Matrix keypad with an 8-Bit GPIO expander - [Link]
The circuit for this project is quite simple. Its purpose is to adapt the GPIO pins of the Raspberry Pi to the voltages expected by the PIC. It also provides LEDs for diagnostic purposes.
PIC Programmer for the Raspberry Pi - [Link]
This version is much more secure and could easily be used across the internet with very few security concerns. A brief outline:
- A server program that runs on the Raspberry Pi to read variables
- A MySQL database to store the variables in
- An Apache2 served webpage to allow control of the variables
Web Control of Raspberry Pi GPIO - [Link]
Microchip PIC® 8-bit microcontrollers are quite popular amongst hobbyists, and I’ve used them for a long time in several of my projects. They are very cheap, use only 35 assembly instructions that are easy to learn, and most importantly they use flash memory, which gives you the possibility to program the device virtually as many times as you want during your experiments. Up until now I’ve used a simple serial interface and picprog to program them under Linux, but sadly the trend is not to include a serial port anymore on new computers/laptops. Of course there are USB programmers on the market, but quite often their price exceeds 30€ and not all of them work well on Linux. Also a commercial programmer usually supports hundreds of different chips, while all I needed was a simple and cheap way to program, say, the four chips I work with most of the time. So, with the introduction of the Raspberry Pi, and the possibility to control external hardware through its GPIO connector, I thought it would be worth spending some time to design a simple interface and write a software to program some PICs. The result of about a week of work is rpp – a Raspberry Pi PIC Programmer that uses the GPIO connector.
Raspberry Pi PIC Programmer using GPIO - [Link]
The MicroFTX is a low-cost, reconfigurable, and compact Micro-USB breakout board based on the FTDI FT230X full-speed USB Serial UART IC.
- USB to serial interface for microcontroller development or debugging
- Reverse-engineering tool with flexible I/O voltages (1.8V, 2.5V, 3.3V, etc)
- Battery charger detection for high-power USB applications (app note)
- Bitbang GPIO mode for simple digital input and output
MicroFTX – USB to serial breakout - [Link]