How to Build A Wireless Street Lighting System

From Proof-of-Concept with Off-the-Shelf Hardware to Professional System

Fredrik Rosendal, Thingsquare CTOBy Fredrik Rosendal, Thingsquare CTO – November 02, 2017

Street lights can account for up to 40% of a city’s energy cost. Wireless street lighting control can cut that cost by half and remote monitoring can detect broken lamps instantaneously so that a repair team can be dispatched before dark. This is why cities around the world are investing billions of dollars into this market.

There are several benefits to smart street lighting:

  • Lower power consumption with smart dimming
  • Automatic failure detection
  • Automated dimming
  • Manual dimming, at specific events

Today we look at build a smart street light network with off-the-shelf hardware and the Thingsquare platform, ready to be built into existing LED street light lamps. The first proof-of-concept prototype is built with off-the-shelf hardware.

Thingsquare IoT street light platform remote control

Each street light has a wireless connection that allows them to be remotely monitored and controlled.

Connected smart street lights with remote control dimming

The map view during a test of manual control of our smart street lighting system shows the lamps turning off and on again – first one section and then the rest.

Smart Street Lighting vs Old School Street Lighting

Smart LED street lighting has several advantages over old school non-LED street lights:

  • Lower power consumption. Smart LED lamps can be automatically dimmed when there are no people around, saving 50% or more of the power consumption.

  • Failure detection. Thanks to remote monitoring, lamp failure can be instantaneously detected and a repair team can be dispatched to the right location before dark.

  • Automatic control. With wireless controlled, dimming can be adapted to busy times, sunlight, and weather conditions, saving power and increasing lamp lifetime.

  • Manual control. Lamps can be lit up for example to improve lighting conditions of public events or to assist in emergency operations.

Smart LED street lighting has several advantages over old school, non-LED street lights

Why Sub-GHz IPv6 Mesh Networking?

We are using IPv6 mesh networking over the sub-1 GHz band for our street lighting system. This has several benefits compared to other approaches:

  • No infrastructure needed. In contrast with technologies like 3G, LoRa, Sigfox, NB-IoT and others, IPv6 meshing does not rely on any outside network infrastructure, because it forms its own infrastructure.
  • Long range. Sub-GHz transmissions can reach several kilometers in good conditions – much longer than 2.4 GHz technologies such as WiFi. This is important because street lights may be hundreds of meters apart.
  • Large scale. The built-in meshing means that the network can extend itself to cover areas of many square kilometers.
  • Self-healing. If something happens, such as a power failure of one of the lamps, the network will re-route itself around the problematic area.
  • Remote control. Unlike technologies like LoRa and Sigfox, which are primarily designed for low-rate data collection, IPv6 meshing allow us to send commands to the lamps – both to group of lamps, or directly to individual lamps.
  • Post-installation updates. Because of the two-way communication provided by the IPv6 mesh, we can remotely update the firmware inside the network. (Read more about firmware updates here.)

How LED-Powered Street Lights Work

The principle behind LED street lights is simple: an array of LEDs are connected to a high-power LED driver – a small box with electronics that can feed enough current into the LEDs for them to shine a bright light.

Wireless LED street light design for high-power applications

A high-power LED light design.

The LED driver is controlled by a technique called Pulse-Width Modulation (PWM). The PWM signal is driven by a wireless System-on-a-Chip (SoC), such as the TI CC1350.

In the context of LED lighting, PWM is a technique for achieving dimming with a digital output. The PWM signal is a signal that alternates between 0 and 1 where the total area under the graph corresponds to the desired dim level.

Wireless LED street lights are controlled with Pulse-Width Modulation (PWM)

How Pulse Width Modulation (PWM) works: the digital signal corresponds to the desired dimming value.

Modern wireless SoCs, such as the TI CC1350, have built in PWM signal generation capabilities on most of their digital output pins.

A Simple Prototype

Our prototype uses the exact same principle as the high-powered LED design above, but with a single LED instead of a high-power LED array. When we are ready with our prototype we can simply replace our single LED with a high-power LED driver and achieve the exact same results, but with more light. We can then package this in a robust enclosure and mount it on top of a street lighting pole.

A street light LED prototype electronics board

Our prototype is built on the exact same principle as the high-power LED design, but we omit the high-power components and only drive a single LED with our PWM signal.

We use the following off-the-shelf hardware for our prototype:

Set up the wireless network with the serial gateway and the Launchpad boards by following the instructions here.

You should now have a wireless IPv6 network up and running with one Launchpad as a serial gateway and one Launchpad ready to be used for controlling the LED.

A CC1310/CC1350 Texas Instruments Launchpad board controlling an LED

Connect the LED to be controlled to `GND` and `DIO23`

Connect the LED to pin DIO23 and GND on the Launchpad device. Take care to connect the longest leg of the LED to DIO23.

Thingsquare IoT platform setting for PWM control of an LED
Thingsquare IoT platform setting for PWM control of an LED

Configure the device to PWM-control pin DIO 23 in the `Pin Config` view.

Open the Thingsquare app. To configure your Launchpad device to control the LED with PWM, tap the Launchpad device and then open the device details by tapping Details in the lower right corner. Then tap Pin Config to open the pin configuration view. Select PWM output pin and select DIO 23. Finally, tap Apply Pin Configuration to activate the new settings.

To test the functionality, go back to the device details view in the app and tap Identify. You’ll see the LED fade in and out two times. The fading uses PWM internally, so now we know that the device has properly configured PWM on DIO 23.

Repeat this configuration for all LED devices.

Set up Zones

Each lighting network is divided into one or more zones. Each zone can be individually controlled and can be given different dimming schedules.

Thingsquare IoT platform setting for zone dimming control
Thingsquare IoT platform setting for zone dimming control
Thingsquare IoT platform setting for zone dimming control

Add a new lighting zone via the Zone view, and assign your device to that zone.

To add a new Lighting Zone, under More open the Zones view. Tap the lower-right +-button, enter a description and a numerical ID for the new zone, and finally tap Add.

To assign your device to the new zone, navigate to the device’s Details tab and tap Zone. Then pick your new zone in the list of zones that appear.

Set up Dimming Schedules

Given that we now have a zone defined, we can now create and add a lighting schedule to our zone. That way, we can instruct devices to automatically dim lights at specific times.

Thingsquare IoT platform setting for scheduled dimming control
Thingsquare IoT platform setting for scheduled dimming control
Thingsquare IoT platform setting for scheduled dimming control

Add lighting schedules to make lights dim at given times during the day.

To add a new scheduled lighting event, navigate to the More tab and tap Schedules. Tap Add Schedule Event. You here get to configure what zones should be affected, what days of the week the schedule should be active, and at what time the event should trigger. When you’ve configured the event, tap Save Event to return to the previous menu.

Note that you can create multiple schedule events. When you have created as many schedule events as you want, tap Push schedules to push the schedule to your devices.

Manual Control

The dim level of the lights can be set using the manual control functionality.

Navigate to the start view in the app. Tap `More` in the lower right corner of the app, and then `Control`. This view allows you to control the dimming percentage of all your lighting-enabled wireless devices.

Control the current dim value by dragging the slider from 0% on the left to 100% on the right. You’ll see the LED brightness react accordingly and instantaneously.

Thingsquare IoT platform setting for manual dimming control

Manual dimming control of the LED on the prototype board.

Installation and Positioning in the Field

For street lighting systems, the field installation procedure is important because it involves installation personnel, which incurs cost. Making the installation procedure efficient is therefore a measurable cost-saver.

Field installation involves identifying each individual lamp and finding its physical location.

In the Thingsquare system, we have three ways to give lamps a location:

  • Automatic positioning with GPS
  • Automatic positioning with proximity beacons and a smartphone app at installation time
  • Manual positioning on a map

Automatic positioning with GPS requires each individual light to be equipped with a GPS chip connected to the wireless SoC of the lamp as well as the on-chip software needed to obtain the GPS reading. GPS positioning is convenient as it requires no manual intervention at installation time, but the cost and complexity of the GPS chip may be prohibitive.

Automatic positioning with a smartphone at installation time requires no additional GPS hardware. All that is needed is a smartphone. During installation, each lamp sends out a proximity signal using Bluetooth beacons. This signal is picked up by the smartphone app and, if the user is logged in with the correct credentials, allow the user to identify the lamp. If the lamp has not yet been given a position, the smartphone app can use the smartphone’s location to position the lamp.

Thingsquare IoT platform positioning with Bluetooth beacons

Automatic light positioning with a smartphone app and proximity beacons.

Manual positioning on a map is useful even if automatic positioning is used: sometimes the automatic positioning fails and sometimes a lamp needs to be moved. The manual map positioning is a quick way to provide the correct location for any given lamp.

Thingsquare IoT platform positioning with Bluetooth beacons

Manual positioning on the map.


Street lighting is a multi-billion dollar market that is ripe for disruption thanks to new LED lighting technology and wireless access. Smart LED street lights not only save energy and reduce costs, but allow for much more fine-grained fault detection and control of groups of lamps.

The Thingsquare system is a ready-to-use solution for wireless street lighting that can be deployed on off-the-shelf hardware. In this article we built a small-scale prototype of a professional street lighting system. As a customer, the next step is to connect the prototype to a high-power LED driver and place it inside an enclosure ready to be deployed on top of street light poles.

Additional Photo Credits

Get started!

Get your own tailored IoT solution

Instead of recruiting a full development team, let us build a tailored IoT solution for you – from prototype to product. Tailored prototypes at a fixed price!

Get in touch – we'd love to hear how we can help you achieve your goals!

Get in touch!

Be in good company
Get in touch with us!

Get a quote!

Be in good company
Adam Dunkels

Adam Dunkels


Fredrik Rosendal

Fredrik Rosendal


Marcus Linderoth

Marcus Linderoth

VP Engineering

Setting things up...