Heterogeneity is one of the top challenges for Internet of Things. One of the cases is the diversity of communication protocol used in IoT devices. This paper discusses the design and implementation of a multi-protocol gateway that can receive several protocols at once, i.e. WiFi, Bluetooth Low Energy and ZigBee from IoT devices. The gateway is powered by a single board computer which is equipped by required transceiver module. A python script is used to control the process in the backend, along with MySQL for data storage and a frontend user interface built by Lazarus. A dashboard that displays the collected data and the network topology is provided to validate the work of the gateway. As the result, the gateway is able to accept all of the three communication protocols at the same time and display the data in real time in the dashboard. The result also shows that each protocol has different delay and packet delivery ratio. The WiFi protocols is found to have the largest delay which is 362 ms, and also the lowest packet delivery ratio which is 97%.