Notice board is an essential information gathering system in our life. In our day-to-day life, we can see notice boards in various places like educational institutions, railway stations, shopping malls, bus stations, offices, etc. So we can say that notice boards are the places to leave public information such as advertise events, announce events or provide attention to the public, etc. In traditional notice board system a separate person is needed to stick that information on the notice board. It will lead to loss of time as well as usage of manpower. In conventional analogue type notice boards paper is the main medium for information exchange. We know that information counts are endless. So there is a usage of a huge amount of paper for displaying those endless counts of the information. Conventional type notice board are often made of a material such as cork to facilitate addition and removal of the messages with the help of a printed material like paper which also had an impact on the wastage of paper as a number of notices would be printed wouldn’t even be used. Notice boards are particularly prevalent at universities. The problems faced by the wooden or conventional type notice boards are resolved by the implementation of our notice board system. It will bring an advanced means of passing notices around.

In educational institutions, the organization use circulars and notice boards for conveying information to the students. This methodology takes additional time for updating also many students may not be aware of the information displayed on the notice boards due to non-eye catching notices. The digital notice board is one of the ways of displaying notices in which notices are displayed on a LCD screen. Digital notice board is a system in which user has to login first. If the user is valid then software shows the page in which user can add and upload the notices to be displayed. Notices can be in text form or images. These notices are changed dynamically. We have to only type the notices and send that notices for displaying on the digital screen. The display screen and the system are connected with the help of the different mechanisms. The hunger for the automation brought several revolutions within the existing technologies. The digital notice board is far better than the conventional type notice board. The traditional or conventional notice board requires manpower, papers and is time consuming, while the developed digital notice board system is advantageous over these. This system is capable of displaying different notices at different places simultaneously. The process of authentication is enabled and only authorized user is allowed to display the notice. Every time the authenticated user uploads the new notice, it gets updated. The digital notice board system also keeps the record of every notice in database, so timely requirement of previously displayed notice is satisfied. Thus, the digital notice board system saves time and effort.

As the technology is getting advanced day by day the digital notice board are moving from manual based to display board. This allows for display of notices in a more eye catchy way using LCD screens and advanced way of displaying notices and messages making the notice board system more secure and efficient.


  • To develop highly reliable electronics notice board.
  • To use web development to implement the system.
  • To create a centralized notice board network for feasible communication.
  • To easily keep track of notice board by the user with respect to date and time.


  • Used in railway stations for scheduling time to be displayed and platforms the service offered by the railways.
  • Used in colleges to display the placement news, circulars, daily events, schedules, etc.
  • Used in hotels to display the food items and menu offers, room rents available, etc.
  • A commercial model can be able to display more than one information at a time.
  • To display the nursing homes using the staff attendance availability of the doctors, list of the specialized doctors and no of patients, etc.
  • Can also be applicable to display information in multiple languages as per the local language.


  • Client must have LAN connection with server.
  • The developed system displays only text notices. Images and pdfs cannot be displayed.
  • Notice can’t be sent from outside the organization.


Notice board is commonly used in variety of the institutions which we come across in a daily basis. In the present generation the advertisement notice boards are being managed manually. This process is difficult to involve in order put a notice on the notice board. This waste a lot of things like paper printer ink, manpower and also brings the loss of time. Sending various notices day to day is a tedious process. This project deals with the advanced notice board. In this paper we have developed a system which displays information through local web server. This developed system is reliable, user friendly and can be proved to be the easy method of transmitting the information/messages to the mass simultaneously.

The previous project on this concept was done by many groups. Each project has certain limitations and their own benefits. Some of the previous works done on this concept are “Display Message on Notice Board using GSM”. This system is sim based which makes the display of notices difficult when there is absent of carrier signal. Also, the notice to be displayed cannot be scheduled in this system which is overcome by our developed system. Similarly, “Digital notice board using Smart Phones Speech Recognition Voice command” exhibits similarities with the developed system. The limitations of the system were that it was used for only one notice board, thus this project was unable to display separate message for separate places.

Thus, this project aims to quickly access to the notices and articles, also it looks at the development of the existing notice boards, making it run by the LAN so as to increase the rate at which relevant information is being disseminated to the public.


The hardware components used in our projects are listed below:

  1. Arduino
  2. Ethernet Shield
  3. Ethernet cable
  4. Router
  5. LCD Display


The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller and developed by Arduino.cc. The board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE (Integrated Development Environment), via a type B USB cable. It can be powered by the USB cable or by an external 9-volt battery, though it accepts voltages between 7 and 20 volts.

The word “uno” means “one” in Italian and was chosen to mark the initial release of Arduino Software. The Uno board is the first in a series of USB-based Arduino boards; it and version 1.0 of the Arduino IDE were the reference versions of Arduino, which have now evolved to newer releases. The ATmega328 on the board comes preprogrammed with a bootloader that allows uploading new code to it without the use of an external hardware programmer.


  • Microcontroller ATmega328 Operating Voltage 5V
  • Input Voltage (recommended) 7-12 V
  • Input Voltage (limits) 6-20 V
  • Digital I/O pins 14 (of which 6 provide PWM output)
  • Analog Input Pins 6
  • DC Current per I/O Pin 40 mA
  • DC Current for 3.3V Pin 50 mA
  • Flash Memory 32KB of which 0.5KB used by bootloader
  • Clock Speed 16 MHz
Arduino UNO

 Ethernet Shield

The Arduino Ethernet Shield V1 allows an Arduino board to connect to the internet. It is based on the Wiznet W5100 Ethernet chip (datasheet). The Wiznet W5100 provides a network (IP) stack capable of both TCP and UDP. It supports up to four simultaneous socket connections. Use the Ethernet library to write sketches which connect to the internet using the shield. The Ethernet shield connects to an Arduino board using long wire-wrap headers which extend through the shield. This keeps the pin layout intact and allows another shield to be stacked on top. The most recent revision of the board exposes the 1.0 pinout on rev 3 of the Arduino UNO board.

The Ethernet Shield V1 has a standard RJ-45 connection, with an integrated line transformer and Power over Ethernet enabled. The shield also includes a reset controller, to ensure that the W5100 Ethernet module is properly reset on power-up. Previous revisions of the shield were not compatible with the Mega and need to be manually reset after power-up. The current shield has a Power over Ethernet (PoE) module designed to extract power from a conventional twisted pair Category 5 Ethernet cable:

  • IEEE802.3af compliant
  • Low output ripple and noise (100mVpp)
  • Input voltage range 36V to 57V
  • Overload and short-circuit protection
  • 9V Output
  • High efficiency DC/DC converter: typ 75% @ 50% load
  • 1500V isolation (input to output)

Ethernet Shield

Connecting the Shield

To use the shield, mount it on top of an Arduino board .To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

Connect the shield to your computer or a network hub or router using a standard Ethernet cable (CAT5 or CAT6 with Rj45 connector). Connecting to a computer may require the use of a cross-over cable.

Network settings

The shield must be assigned a MAC address and a fixed IP address using the Ethernet.being() function. A MAC address is a globally unique identifier for a particular device. Current Ethernet shields come with a sticker indicating the MAC address you should use with them. For older shield without a dedicated MAC address, inventing a random one should work, but don’t use the same one for multiple boards. Valid IP addresses depend on the configuration of your network. It is possible to use DHCP to dynamically assign an IP to the shield. Optionally, you can also specify a network gateway and subnet.

 Ethernet Cable

The cable devices that connect the network devices in a local area network are called Ethernet. Ethernet cable technology is different from normal cables. It is mainly designed for data communication. Ethernet was developed by Xerox in the 1970s. At that time its speed was between 2 to 3 MB. The standard name of Ethernet is IEEE 802.3. Ethernet is a complete system that includes protocols besides cables. Protocols define how devices can communicate and transfer data through cables. Ethernet is a LAN technology by which you can connect computers and create a Local Area Network. In this technology, you use protocols to control the flow of information.

RJ45 interface is the most common twisted-pair connector for Ethernet cables and networks. “RJ” means “registered jack”, which is a standardized telecommunication network interface for connecting voice and data equipment to a service provided by a local exchange carrier or long distance carrier. The physical connectors that registered jacks use are mainly the modular connector and 50-pin miniature ribbon connector types. RJ45 connector is an 8-position, 8-contact (8P8C) modular plug and jack, which is commonly used to connect computers onto Ethernet-based local area networks (LAN). RJ45 cable plug is usually made of a plastic piece with eight pins on the port. Four of the pins are used for sending and receiving data, and the other four are used for other technologies or power networking devices.

RJ45 Interface Color Code

As we all know, there are two wiring schemes: T568A and T568B, which are used to terminate the twisted-pair cable onto the connector interface. Two standards define how the RJ45 pinouts to arrange the individual eight wires when linking RJ45 connector to a cable. These wiring layouts have their own color convention, and following the convention is important to ensure electrical compatibility. The differences of T568A and T568B in color conventions are shown in the figure below.

With regard to the two standards, there are two different connectivity forms. The T-568B wiring scheme is by far the most common, though many devices support the T-568A wiring scheme as well. If both ends of the patch cords are wired on the basis of one standard, it is a straight through connection. Both the standards can be used for straight through cable. If not, it is a crossover connection. Some networking applications require a crossover Ethernet cable, which has a T-568A connector on one end and a T-568B connector on the other. This type of cable is typically used for direct computer-to-computer connections when there is no router, hub, or switch available.


router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions on the Internet. Data sent through the internet, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork (e.g. the Internet) until it reaches its destination node.

A router is connected to two or more data lines from different IP networks. When a data packet comes in on one of the lines, the router reads the network address information in the packet header to determine the ultimate destination. Then, using information in its routing table or routing policy, it directs the packet to the next network on its journey.

The most familiar type of IP routers are home and small office routers that simply forward IP packets between the home computers and the Internet. More sophisticated routers, such as enterprise routers, connect large business or ISP networks up to the powerful core routers that forward data at high speed along the optical fiber lines of the Internet backbone.

When multiple routers are used in interconnected networks, the routers can exchange information about destination addresses using a routing protocol. Each router builds up a routing table, a list of routes, between two computer systems on the interconnected networks.

The software that runs the router is composed of two functional processing units that operate simultaneously, called planes:

  • Control plane: A router maintains a routing table that lists which route should be used to forward a data packet, and through which physical interface connection. It does this using internal pre-configured directive, called static routes, or by learning routes dynamically using a routing protocol. Static and dynamic routes are stored in the routing table. The control-plane logic then strips non-essential directives from the table and builds a forwarding information base (FIB) to be used by the forwarding plane.
  • Forwarding plane: This unit forwards the data packets between incoming and outgoing interface connections. It reads the header of each packet as it comes in, matches the destination to entries in the FIB supplied by the control plane, and directs the packet to the outgoing network specified in the FIB.

Routing is irrelevant if your network has no routers because their job is to route traffic to all the networks in your internetwork, but this is rarely the case! So here’s an important list of the minimum factors a router must know to be able to affectively route packets:

  • Destination address
  • Neighbor routers from which it  can learn about remote network
  • Possible routes to all  remote networks
  • The best route of each remote network
  • How to maintain and verify routing information

The router learns about remote networks from neighboring routers or from an administrator. The router then builds a routing table, which is basically a map of the internetwork, and it describes how to find remote networks. If a network is directly connected, then the router already knows how to get to it.

 But if a network isn’t directly connected to the router, the router must use one of two ways to learn how to get to the remote network. The static routing method required someone to hand-type all network locations into the routing table, which can be a pretty daunting task when used on all but the smallest of the networks!

Conversely, when dynamic routing is used, a protocol on one router communicates with the same protocol running on neighboring routers. The router then updates each other about all the networks they know about and place this information into the routing table. If a change occurs in the network, the dynamic routing protocols automatically inform all routers about the event. If static routing is used, the administrator is responsible for updating all changes by hand onto all routers. Most people usually use a combination of dynamic and static routing to administer a large network.

 Thin-film-transistor LCD

thin-film-transistor liquid-crystal display (TFT LCD) is a variant of a liquid-crystal display (LCD) that uses thin-film-transistor (TFT) technology  to improve image qualities such as addressability and contrast. A TFT LCD is an active matrix LCD, in contrast to passive matrix LCDs or simple, direct-driven LCDs with a few segments.

TFT LCDs are used in appliances including television setscomputer monitorsmobile phones, handheld devices, video game systems, personal digital assistantsnavigation systemsprojectors,  and car dashboards.

The circuit layout process of a TFT-LCD is very similar to that of semiconductor products. However, rather than fabricating the transistors from silicon, that is formed into a crystalline silicon wafer, they are made from a thin film of amorphous silicon that is deposited on a glass panel. The silicon layer for TFT-LCDs is typically deposited using the PECVD process. Transistors take up only a small fraction of the area of each pixel and the rest of the silicon film is etched away to allow light to easily pass through it.

Polycrystalline silicon is sometimes used in displays requiring higher TFT performance. Examples include small high-resolution displays such as those found in projectors or viewfinders. Amorphous silicon-based TFTs are by far the most common, due to their lower production cost, whereas polycrystalline silicon TFTs are more costly and much more difficult to produce.

Product Description

  • 1.8-inch color screen, support 65K color display, display rich colors
  • 128X160 resolution, clear display
  • Using the SPI serial bus, it only takes a few IOs to illuminate the display
  • With SD card slot for convenient function expansion
  • Provide underlying libraries and rich sample programs for Arduino, C51, and STM32 platforms
  • Military-grade process standards, long-term stable work
  • Provide underlying driver technical support

Power supply

In power section, ac power 220V is given to the router power adapter and all supply to other devices are given by plugging a 2.1mm center-positive plug into the board’s power jack where Ethernet shield and TFT are connected. The board can also be powered via an external power supply, an optional Power over Ethernet (PoE) module, or by using a FTDI cable/USB Serial connector. External power can either from an AC-to-DC adapter (wall-wart) or battery. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector. The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7to 12 volts.



The Arduino Integrated Development Environment (IDE) is a cross-platform application (for WindowsmacOSLinux) that is written in functions from C and C++.It is used to write and upload programs to Arduino compatible boards, but also, with the help of third-party cores, other vendor development boards.

The source code for the IDE is released under the GNU General Public License, version 2. The Arduino IDE supports the languages C and C++ using special rules of code structuring. The Arduino IDE supplies a software library from the Wiring project, which provides many common input and output procedures. User-written code only requires two basic functions, for starting the sketch and the main program loop, that are compiled and linked with a program stub main() into an executable cyclic executive program with the GNU toolchain, also included with the IDE distribution. The Arduino IDE employs the program avrdude to convert the executable code into a text file in hexadecimal encoding that is loaded into the Arduino board by a loader program in the board’s firmware. By default, avrdude is used as the uploading tool to flash the user code onto official Arduino boards.


MySQL is an open-source relational database management system. A relational database organizes data into one or more data tables in which data types may be related to each other, these relations help structure the data. SQL is a language programmers use to create, modify and extract data from the relational database, as well as control user access to the database. MySQL has standalone clients that allow users to interact with directly with a MySQL database using SQL, but more often MySQL is used with other programs to implement applications that need relational database capability. MySQL is a component of the LAMP, web application, software stack (and others), which is an acronym for Linux, Apache, MySQL, Perl/PHP/Python

Web Browser

A web browser is application software for accessing the World Wide Web. When a user requests a web page from a particular website, the web browser retrieves the necessary content from a web server and then displays the page on the user’s device. The purpose of a web browser is to fetch content the web and display it on a user’s device. Virtually all URLs on the web start with either http: or https: which means the browser will retrieve them with the Hypertext Transfer Protocol (HTTP).

Apache HTTP Server

The Apache HTTP server, called Apache is free and open-source cross platform web server software. Apache supports a variety of features, many implemented as complied modules which extend the core functionality. These can range from authentication schemes to supporting server side programming languages such as Perl, Python and PHP. It supports password authentication and digital certificate authentication. Because the source code is freely available, anyone can adapt the server for specific needs.


Notepad++ is a text and source code editor for use with Microsoft Windows. Notepad++ is a free, open source code editor. It supports tabbed editing, which allows working with multiple open files in a single window. Notepad++ is distributed as free software. It features syntax highlighting, code folding and limiting auto completion for programming, scripting and markup languages like html, but not intelligent code completion or syntax checking.


The hardware and software used are highly feasible for the system. The easy availability, simple operation and cheap maintenance of the devices used fulfill the need of the system.


The devices used in this system are easily available and require interfacing with microcontroller. So it is quite fair to say that the devices are technically feasible for the proposed system.


The devices used in the system are economic in price and are easily available. This system is very beneficial as it provides best result at low price. The device can be used in public sectors like railway station, department stores, restaurants and many advance networking companies. Also the maintenance of the device is very cheap.


In our developed system “Centralized Web Based Local Area Network of Notice Boards”, the hardware components used are Arduino, Ethernet cable, Ethernet shield, Router and TFT LCD. A local web server is created and a TFT LCD display connected to the arduino is used to display the information as notice board. As in methodology, this system follows a simple straight forward method to log notice into database using web interface, retrieve from database using HTTP request by Arduino-Ethernet shield and display it in the LCD screen. The interfacing of an Ethernet with a normal computer is quite easy with the help of telnet commands sent to it from the window. But we must take into fact that the straight through cable connection is required between Arduino-Ethernet shield and computer. We employ ATmega328P microcontroller with 1024 bytes EEPROM storage memory. The complexity of coding considerably increases as compared with computer, but once programmed the micro controller works at its best since it is a committed embedded system. The design procedure involves identifying the different components and assembling all of them and ensuring safe interfacing between all these components. Then coding process has to be done, which has to take care of the deferrals between two successive communications and most importantly the authentication of operator. The coded notice is displayed in TFT LCD. A separate website is designed for user interfacing with hardware.

Block Diagram

No description available.
No description available.


Step 1: Start

Step 2: Turn on the system and local server

Step 3: Log into the website using the authorized login credentials

Step 4: Credentials not valid? Go back to Step 3

Step 5: Type in the text notice you want to display in the respective notice board on their respective placeholder

Step 6: To display same notice for all boards click on submit for all which will submit same notice on all notice boards

Step 7: Stop.


No description available.

Website Preview


 Interfacing Arduino and TFT LCD and Server

The main aim of the project is to interface an Arduino Uno board with TFT LCD to display information using ethernet shield. The connection circuit diagram of this system is shown below.

The working of the system is as follows. 5 of the 14 available digital input / output pins are used to control the TFT LCD. Those 5 pins from TFT LCD are of Reset, Clock, DC, CS, SDA and SCL. DC accepts the serial data from the microcontroller or Arduino Board. The CD pin helps to enable the data from registers to the LCD. SDA and SCL pins are SPI pins. Serial Peripheral Interface (SPI) is an interface bus commonly used to send data between microcontrollers and small peripherals such as shift registers, sensors, and SD cards. The reset pin helps to clear the RAM of the driver.

The Ethernet shield uses digital pins 11, 12, 13, 10, and 4 for SPI communication with the W5100 Ethernet controller and SD card. It fits right above the Arduino UNO board. For the connection between server and ethernet shield, a router in between is used. Here, ethernet shield is working as web client. To get data from server, Ethernet shield uses HTTP request. In server side, we have created an application programming interface to request notice data. The way it works is when Arduino sends HTTP GET request, the webserver replies back with recent updated notice data.

 Code Format and Description:

The codes written for Arduino are known as sketches. They are written in C++.Every sketch needs two void type functions, setup () and loop (). A void type function doesn’t return any value. The setup () method is ran once at the just after the Arduino is powered up and the loop () method is ran continuously afterwards. The setup () is where we want to do any initialization steps, and in loop () we want to run the code we want to run over and over again. The code was then written in the Arduino IDE in the following syntax:

void setup () {


void loop () {


In order to go forward with the programming, we have to choose the library files to be used. In this code we used following library files:

  1.  SPI.h: This library allows you to communicate with SPI devices, with the Arduino as the master devices. Serial Peripheral Interface (SPI) is a synchronous serial data protocol used by microcontrollers for communicating with one or more peripheral devices quickly over short distances.
  2. Ethernet.h : Along with the Arduino Ethernet Shield, this library allows an Arduino board to connect to the internet. It can serve as either a server accepting incoming connections or a client making outgoing ones.
  3. Adafruit_GFX.h:  This library for Arduino provides a common syntax and set of graphics functions for all of our LCD and OLED displays. This allows Arduino sketches to easily be adapted between display types with minimal fuss and any new features, performance improvements and bug fixes will immediately apply across our complete offering of color displays.
  4. Adafruit_ST7735.h: This is a library for several Adafruit displays based on ST77* drivers. In our case, the used TFT LCD is based on ST7735S driver. So, we use this library. It is supporting library of Adafruit_GFX library.

Understanding the sketch

Before starting the setup function, we include the header files which is already explained in code format section above. Along with header files, we define the pins of TFT LCD to be connected to Arduino digital pins. The MAC address and static IP for ethernet shield is also defined in this section. Here the gateway IP and subnet mask are optional.

In this screenshot, the setup process is shown. First, we initialize ethernet shield with the defined MAC address and the IP address. The delay of 2 seconds is to provide ethernet shield enough time to initialize. The TFT LCD is then initialized in setup process. Other codes below initialization are for printing in LCD for making user interface smoother.

After everything is setup, we move on to loop part. This section of code will run repeatedly to get regular update of notices from server. In the loop first we check whether the client is connected to server or not. If not, the client will be connected to the server and will process further program. After that we send the HTTP GET request from the client to server. The data (String in this case) returned from GET request is stored in line variable and displayed in TFT LCD screen. The delay of 5 seconds indicates that the data is updated every 5 seconds to check whether there are any new notices in the database.

This code is for one device, i.e. for one Arduino UNO Ethernet shield. For second and third device, same code can be used by changing the MAC address and the static IP address of respective ethernet shields.  



//This code is for coridor microcontroller.
#include <Ethernet.h>
#include <SPI.h>
#include <Adafruit_GFX.h>    
#include <Adafruit_ST7735.h> 
#define TFT_CS    10
#define TFT_RST   8  
#define TFT_DC    9 
#define TFT_SCLK 13   
#define TFT_MOSI 11   

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };//You can edit this MAC address for other microcontroller with their own.
byte ip[] = { 192, 168, 10, 101 }; //Change this IP to the one you bind to that particular microcontroller during router configuration.
byte server[] = { 192, 168, 10, 100 };

EthernetClient client;

void setup()
  Ethernet.begin(mac, ip);


  if (client.connect(server, 80)) 
  {   tft.fillScreen(ST7735_BLACK); 
  {   tft.fillScreen(ST7735_BLACK); 
      tft.println("Connection failed");
      Serial.println("connection failed");

void loop()
 if (!client.connected()) 
  {   client.connect(server, 80);}
     client.println("GET /website/php_for_arduino/getcoridor.php HTTP/1.0"); //Change getcoridor.php file with another one for other notice board.
                                                                             //eg; getstaffroom.php for notice board of staffroom.
     if (client.available()) {
        String line = client.readString();



As we have connected router and made webpage using HTML, so, notice displayed in LCD and also accessed in web terminal. In the program code, we are performing GET request via port 80 to retrieve the notice which we stored in database through the web terminal.

When we write http:://localhost/website it opens the login terminal window under the heading as defined in HTML “Admin Login” and under this heading we see the login form. When we enter the authorized credentials the main dashboard will open here and we can update the notice board.

The error may occur when the client fails to connect the server and when the power supply cuts off.


The technology used in our project makes the communication in any organizations, colleges, malls, etc. more efficient and faster. With greater efficiency, we can display the notices and with less errors. Time consumption and paper wastage is reduced. The operating software required is free and easily available. The system facilitates communication by displaying same or different notices at different places simultaneously. This system can be used in various applications for future scope.


In our project we are accessing database through local servers, so, in future it can be extended for global access using wireless technology.

Our prototype is mainly used for the text notice display the same concept can be used to display the image files or pdfs with better extended memories.







Recommended For You

About the Author: admin

Leave a Reply

Your email address will not be published.