The IOT device is the "brain" of the scooter or bike. An IOT device is a usually a box mounted onto the scooter that includes a GPS chip and antenna, a mini-computer, a cell receiver, a SIM card, and more.
IOT stands for Internet of Things, a term that came to popularity as we started adding computers to everything — vending machines, smart thermostats, internet-enabled security cameras, etc.
The IOT device on your vehicle allows it to report it's location and allows riders to start a ride from your app.
In this post, we give an overview of the IOT ecosystem to inform your choices as you start a scooter or bike rental company.
The IOT device on your vehicle is constantly communicating back and forth with Spring's servers.
The vehicle sends the following information:
The server sends commands to the vehicle to change it's behavior:
On Spring's admin dashboard, you can see a history of communication back and forth between the vehicle and our servers. This allows easy debugging when things invariably go wrong.
The IOT on scooters and bikes are notorious for being difficult to deal with. All of the major IOT providers we've tested have issues with sending corrupt data, dropping connection, and malfunctioning. At Spring, we've built checks and error correction into our servers to help minimize these issues.
Each IOT device requires a SIM card that has cell data capability. The SIM card allows the IOT device to send messages back and forth over the internet, similar to how your phone uses the cell data.
Some manufacturers, like Segway and Acton, will sell you a scooter with a SIM card where other manufacturers will require you to buy your own SIM card.
Data usage varies between IOT devices, protocols, and vehicle usage.
When a vehicle is unlocked, we collect more data about the vehicle in order to detect issues, to plot the route of the vehicle, and to allow geofencing. So an unlocked vehicle will send more data in the same time span than a locked vehicle.
We estimate you will need 1-20 MB each month for each IOT device. Cellular plan pricing varies by country and scale, but it should be less than $5 / vehicle / month.
Vodafone is a popular international carrier with service across the globe.
Twilio is another good option. They partner with cell carriers to provide service — T-Mobile in the US and a variety of carriers internationally. You can order a Twilio SIM card here.
Some manufacturers include IOT built into the vehicle or ship the scooter with an IOT device attached. Other, usually smaller, manufacturers require you to install your own IOT device.
If the manufacturer provides a IOT device by default, we recommend using that device instead of trying to use a custom device. Integrating IOT onto a vehicle is a painful process with a lot of edge cases, so it's always best to use whatever has been tested the most.
That being said, here's an overview of some IOT manufacturers:
Omni is based in China near Shenzhen and provides a lot of the bike locks for the bikeshare companies in China. Omni makes IOT devices for scooters and locks for bikes.
Omni is probably the largest IOT provider in micromobility by number of vehicles and manufacturers and they are also one of the cheapest.
Omni operates over a TCP protocol. While their firmware has some bugs and inconsistencies, we've managed to mitigate most of the problems and Omni works well with Spring.
With Omni, you will need to either get SIM cards from your manufacturer or buy SIM cards. You pay for the SIM card plan.
Omni is used by Acton, ESWing, Segway and other manufacturers.
Segway includes IOT devices with most of their scooters. Segway provides a cloud service and API for their scooters that they charge ~$5 / month for. With Segway IOT devices, you do not need to buy SIM cards and you pay Segway for cell service.
Segway uses Omni IOT devices under the hood. The Omni IOT devices on Segway's scooters point at Segway's servers. Segway's servers act as the middle man between our servers and the scooters.
CoModule is an IOT manufacturer and company based out of Estonia. They make IOT devices for different vehicles including Segway and Acton.
CoModule, like Segway, provides a cloud server and API. So Spring's servers communicate with CoModule's servers which then talk to the IOT devices.
CoModule is used by Jump and other operators.
Fitrider is a scooter and IOT manufacturer based out of China that has been used by Telepod in Singapore, Scoot in San Francisco, Leo in Tel Aviv and other manufacturers.
Fitrider makes their own IOT devices that operate over the MQTT protocol.
Teltonika is an IOT provider based out of Lithuania. We are working on integrating their IOT devices.
While we recommend against it, there are several ways to make a custom IOT device.
You can ignore this section. But if you're still reading, here are some technical terms and our perspective on them.
TCP, short for Transmission Control Protocol, is the protocol that the internet runs on. When you load an HTTP page, you are loading HTTP files using the TCP format.
TCP sends data in chunks called packets. TCP uses error correction to ensure that while a piece of data can be divided into packets, the receiver will get the full data. A TCP sender re-transmits packets if it doesn't receive an acknowledgement.
TCP is an old, time-tested protocol. It works decently well for IOT devices.
MQTT, short for MQ Telemetry Transport which doesn't really mean anything, was developed for the first generation of IOT devices. MQTT is designed to use a small amount of data and to preserve the devices battery.
MQTT operates on top of the TCP protocol. MQTT defines a message protocol that is communicated by sending TCP packets back and forth.
In MQTT devices don't directly talk to each other. A central MQTT broker connects to all devices and acts as a post office between all of the devices. The devices, known as clients, publish messages to the broker and listen for messages relevant to them. The broker makes sure every client gets the correct message.
While MQTT is a great protocol, we haven't seen any micromobility IOT manufacturer make a great IOT device that uses MQTT.
Many IOT devices include both a cellular protocol (over TCP) and a Bluetooth protocol. While the Bluetooth protocol is useful for admin apps (if you want to lock / unlock / change settings when you don't have cell service), we don't recommend using Bluetooth in your app for riders.
Bluetooth implementation vary widely from different phones, especially on Android, so an app that relies on Bluetooth has to test with a much larger variety of devices to ensure that it works. Bluetooth is also susceptible to interference from nearby Bluetooth devices like other phones, headphones, etc.