Developing and experimenting IoT applications are still difficult and time-consuming, mainly due to their heterogeneous hardware and diverse software. In this work, we develop LinkLab, a scalable IoT testbed for heterogeneous devices. LinkLab not only supports running experiments but also supports remote development via a web-based IDE and remote compiling. By using a distributed architecture, LinkLab is a scalable, multisite, and multi-user IoT testbed, with fine-grained access control and a flexible naming mechanism. Currently, LinkLab is implemented with more than 150 IoT devices. The system has been published in ACM/IEEE IoTDI 2020.