Electric bicycles are now widely available in the Indonesian market. Most electric bicycles have not been integrated with smartphones. As a result, they are currently unable to be monitored or controlled remotely. In this study, an internet of things (IoT)-based monitoring and control system for electric bicycles was developed. An ESP32-based microcontroller was used as an IoT device to measure distance traveled with a GPS sensor by applying the Haversine method, measuring bicycle speed, designing a bicycle safety system, and designing a calorie measurement system when a bicycle was pedaled. The SIM800L module was used as a communication device, where this module was capable of establishing internet communication over a 2G network. The electric bicycle controller was modified to be integrated with the ESP32 for electric bicycle propulsion using a BLDC type motor with a voltage of 36 V. Raspberry Pi was used as a web server for data storage and processing. The metabolic equivalent of task (MET) method calculated calories burned. The monitoring and controlling of electric bicycles were carried out by building an Android smartphone-based application using the Kodular application. The map service feature was based on OpenStreetMap. This application can turn on and off the electric bicycle remotely, adjust the speed gear position, adjust the speed, turn on the alarm, track the last location, track location history, and perform calorie measurements. The control process can be done by pressing buttons and voice commands in Indonesian. This application was tested using the black box method with 100% successful results and a time delay of 8.82 s. Calorie measurement accuracy was 94.24% compared to calorie measuring equipment on the market. Speed control has linearity with an R2 of 0.9984.