PC Case USB LCD

Not rated 31,262

Circuit Image

The first version of an Open Source Framework for USB Generic HID devices based on the PIC18F and Windows includes an example of how to utilize the library with a USB interface for an LCD. With the completion of the second version of the library, the LCD project has been enhanced into a self-contained LCD module designed to fit in a 5.25-inch drive bay of a PC case. This project outlines the construction of the LCD module, along with the PIC firmware and Windows host software developed using the C# USB Generic HID library. The example host code displays CPU and memory utilization on the LCD, along with the current time. The hardware matches the size of the LCD and can be mounted directly behind the ATM1602B 2x16 LCD module, providing a compact, host-powered LCD for various applications. The hardware design is straightforward and can be built using the provided PCB artwork or on a stripboard/breadboard. The circuit consists of a PIC18F2550 with a 20 MHz resonator and the necessary components for the LCD screen and USB connection. The circuit board primarily utilizes SMD devices, although through-hole devices can be accommodated. A mini-USB connector is included to maintain a thin and space-efficient module. The design employs only the top copper layer, eliminating the need for jump wires, making it suitable for single-sided PCB fabrication. The display connects to the controller board via single-strand wire, which is soldered to the controller before mounting the LCD with screws. A contrast control potentiometer is located underneath the board for easy adjustment after installation. The diode can be soldered on either side of the board, with the top side chosen for a neater appearance. The firmware is based on the Open Source Framework for USB Generic HID devices (Version 2.0.0.0) and supports several USB commands for display management, including clearing the display, moving the cursor, outputting text, and sending raw bytes to the LCD. This capability allows for the implementation of custom commands without modifying the PIC firmware. The same firmware can also be adapted for larger displays, such as the 4x16 version. The host software manages performance counters and transmits the corresponding text strings to the PIC firmware. This mechanism is designed to be flexible for custom display information. Additionally, version 2 of the USB HID library includes an example debugging log stream from the USB firmware to the host, as demonstrated in the host code. The application monitors CPU and memory usage using Windows' built-in performance counters and features a debug text box for live streaming debug information from the USB firmware, which is beneficial for complex firmware design and debugging. The PCB artwork and schematics are provided in expressSCH and expressPCB formats, along with a cut-sheet template for modifying a standard 5.25-inch drive bay cover for display installation in a PC case.

The LCD module project serves as a practical example of integrating USB HID technology with microcontroller applications, showcasing the versatility of the PIC18F2550 in managing user interfaces. The use of a 20 MHz resonator ensures reliable operation and responsiveness in communication between the host and the LCD. The choice of the ATM1602B 2x16 LCD module is significant due to its compact size, making it ideal for limited spaces within PC cases. The design approach emphasizes simplicity and accessibility, enabling users to replicate the project with minimal resources.

The hardware configuration allows for easy assembly, with the option to utilize SMD components for a more streamlined design. The incorporation of a mini-USB connector not only enhances the aesthetic appeal but also optimizes the overall footprint of the module. The soldering process for connecting the LCD to the controller board is straightforward, ensuring that even those with basic soldering skills can successfully complete the assembly.

The firmware's ability to handle raw byte commands opens up opportunities for advanced customization, enabling users to create unique display features without needing extensive programming knowledge. The host software's implementation of performance monitoring provides valuable insights into system resource usage, which can be crucial for applications requiring efficiency.

In summary, this project exemplifies the integration of microcontroller technology with user interface design, providing a functional and aesthetically pleasing solution for displaying system information in a compact form factor. The documentation and resources provided facilitate ease of replication and customization, making this project a valuable addition to the toolkit of electronics enthusiasts and developers.For the first version of my Open Source Framework for USB Generic HID devices based on the PIC18F and Windows I made a quick example of how to use the library using a USB interface for an LCD. Now that I`ve completed the second version of the library I thought it would be fun to enhance the LCD project into a completely self-contained LCD module w

hich would fit in a 5. 25 inch drive-bay of a PC case. This project explains how the LCD module can be built along with PIC firmware and Windows host software written around the C# USB Generic HID library. For the example host code the CPU and memory utilisation is displayed on the LCD along with the current time.

The hardware is the same size as the LCD itself and can be mounted directly behind the ATM1602B 2*16 LCD module to provide a compact host-powered LCD for many applications. The hardware design is extremely simple and can be built using the supplied PCB artwork or on a stripboard/breadboard.

The circuit consists of a PIC18F2550 with a 20 Mhz resonator and the required components for the LCD screen and the USB. The circuit board uses mainly SMD devices (although you could fit through-hole devices in the same space it saves a lot of time drilling holes).

Also the USB connection is provided via a SMD mini-USB connector which keeps the whole module very thin and space-efficient. Only the top copper layer is used (and there are no jump wires required) so this can be easily made with a single sided PCB.

Here is a picture of the completed board: As you can see in the picture, the display is connected to the controller board using single strand wire. You simply solder the wire to the controller board then mount the LCD on top using some screws (and I used some M6 bolts to act as spacers) and then solder the wires to the LCD.

The contrast control potentiometer is mounted underneath the board to allow easy adjustment after the LCD screen has been mounted. The diode can be soldered on the top or bottom of the board; I decided to keep it on the top to make the finished module look neater.

The firmware is based on the software available from my Open Source Framework for USB Generic HID devices based on the PIC18F and Windows (Version 2_0_0_0) and implements several USB commands allowing the host to clear the display, move the cursor, output text and write a `raw` byte to the LCD display. The raw byte command allows the host to be able to send custom commands to the LCD so that you can implement things like special LCD characters without having to alter the PIC firmware (if you know a bit about the communication that is possible with the ATM1602B).

Furthermore there is no reason why you could not use the same firmware to communicate with the larger versions such as the 4*16 display. I chose the 2*16 because it can fit behind a single drive-bay cover. The host software implements the performance counters and passes the appropriate text strings to the PIC firmware.

The mechanism is very simple and should be extremely flexible if you wish to implement your own display information. In addition, version 2 of the USB HID library implements an example debugging log stream from the USB firmware to the host which is demonstrated in the host code.

As you can see from the screenshot the application monitors both the CPU and the memory usage using windows` built in performance counters. In addition there is a debug text box which shows the live streaming debug information coming from the USB firmware (which is extremely useful for more complex firmware design and debugging).

Along with the PCB artwork and the schematics is a cut-sheet which acts a template for cutting a standard 5. 25 drive-bay cover so you can mount the display in a PC Case. Here is a picture of the display mounted in my PC: PCB and Schematic - The PCB artwork and schematics in expressSCH and expressPCB format (these are freely available programs) - also includes a panel

🔗 External reference




Warning: include(partials/cookie-banner.php): Failed to open stream: Permission denied in /var/www/html/nextgr/view-circuit.php on line 713

Warning: include(): Failed opening 'partials/cookie-banner.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/nextgr/view-circuit.php on line 713