How to Connect Arduino to MySQL Database

This site contains affiliate links to products. We may receive a commission for purchases made through these links.

If you have ever wished to use a local database server in storing your data from an Arduino project or would like to send queries directly to MySQL Database from an Arduino sketch, then you are in the right place. 

Connecting Arduino to MySQL database is relatively easy. In addition to that, you can achieve this without using a web or intermediate computer or a cloud-based service.

When you have direct access to your MySQL Database, you will be able to store data that is acquired from any project and assess the value stored in your server’s table.

You can set your MySQL server to help in storing data which eliminates the need of internet connection. Furthermore, you can connect as well as store your data on MySQL Database through the internet, network or the cloud. To better understand it, you should consider reading this article as we discuss how to connect Arduino to MySQL Database.

AdobeStock 69051272 1

Connecting Arduino to MySQL Database

Before you start connecting your Arduino to MySQL Database, you will need to have an Arduino and a USB cable. In addition to that, you will need Arduino IDE, MySQL servers such as the Wamp Server and MysqlIO. When it comes to MySQL server, you might consider using a free version.

Once you have everything in place, you will start setting up a database for your Arduino. To do this, you will have to run the Wamp server and then go ahead opening the internet browser and type in your address bar localhost. Once this is done, you will click on PHPMyAdmin and then go ahead to create a database for your Arduino. 

Afterwards, you will design a table and then name its sensor. You will save your table when you are done. By now, you will be prepared to code your Arduino. To code your Arduino, you first have to extract the downloaded file in the library folder of your Arduino.

For you to load MySQL library, you will have to restart your Arduino. You will then go ahead and change the password as well as user in accordance with the configuration of MySQL server. Go ahead and upload that particular code to your Arduino.

When you are through, you will download and then install the MysqlIO application. You will have to ensure that your Wamp server is still running; otherwise, an error will occur. With that done, you will select a COM port where your Arduino has been connected along with a baud rate.

Your MysqlIO will then receive data from your Arduino; you will then decode the data received in a usable MySQL command. By connecting and disconnecting to your localhost will indicate that your Arduino has been connected successfully to the MySQL database. You might as well consider using other examples such as DeleteRecord or InsertRecord or a code that will best suit your needs. 


When you create a website or an app that will help read the values of MySQL database and carry out events in accordance with the value, it will offer your project an unimaginable power. If you consider using online MySQL over the localhost, your project will end up gaining the power of the internet through USB cable without the use of Ethernet shields or Wi-Fi, all that will be required of you is to have your computer connected to the internet. 

What you need to know about connecting Arduino to MySQL Database

First of all, the MySQL is a new technology that has been designed for Arduino, allowing you to connect all Arduino projects with MySQL server through an ethernet shield. This eliminates the use of web-based services or intermediate computers. 

When you have direct access to your database server, you will be able to store information that is received from the project you are working on. In addition to that, you will be able to check the values being stored on your server’s table. This allows you to keep your network local to the facility, which includes having a network that is not connected to another network or internet.

The Arduino library has been designed to allow you to submit queries to your database server the same way you would via MySQL client app. This means that you will be able to update, delete and insert data along with creating objections and call functions. Furthermore, you can as well issue SELECT queries; however, they tend to incur more thought when it comes to memory management. 

While you issue SELECT queries, you need to ensure that the query string fits in the memory as well as the largest row of your result set. This is vital since result sets have to be read in a single row at a time. In addition to that, the class tends to use an internal buffer that helps in building data packets that are sent to your server. 

Arduino is equipped with a limited size of data; this means that the connectors have to read one packet at a time. Furthermore, you have to ensure that the combined length of the entire file is less than the memory available.

Final Word

When connecting your Arduino to MySQL Database, you need to ensure that your Arduino has a memory of at least 34 Kb. When using older Arduino such as Duemilanove, you should ensure that you have an updated version which operates using ATmega328p processor. 

In addition to that, the connectors will require an Arduino Ethernet Shield, something equivalent to that. When using an Ethernet shield equipped with a different library, you will require modifying your library. 

When it comes to MySQL, you will need to ensure that the server has been set up to allow network connection. Furthermore, ensure that your MySQL server is not set up in order to bind on your network address. In addition to that, ensure that there is no firewall or any software that acts as a port blocker since it will prohibit access to your server. As we conclude, we hope that you have found this article helpful. 

About The Author