I use a desktop at home and it's sometimes difficult to debug projects, since I have to get it to my desktop. Also, projects based on capacitive sensing gives different readings when connected to a PC and while running on a battery.
I had this 16 x 2 LCD display lying around for a while. I was not using it regularly due to its parallel interface consuming a lot of i/o pins from the microcontroller. So recently I decided to build an atmega8 based board to which I can send data via the UART, I2C or SPI. The LCD just snap on to header on the board and the atmega8 manages the serial to parallel conversion and text formatting.
The conversion module consists of
- Atmega8 microcontroller running arduino based code.
- Reset button for the microcontroller.
- 5V regulator and a 5mm DC jack (I added it after taking these pictures).
- Preset (potentiometer) to set the LCD contrast.
- 6 pin programming headers to plug in my USBASP programmer.
- Male headers to plug in the LCD and for serial communication.
The microcontroller was programmed using an USBASP programmer and the code is written using the Arduino IDE. Basic code available on my github page
here.
The program presently running on the device displays any incoming data via the RX pin. If no data is received for a predefined time, the device checks if it an RTC is connected to it. If found, the present date and time are displayed as a screen saver until any data arrives through the serial port.