IoT system for motorway junctions

Implementation of a system for remote management of emergency barriers

autostrade cantiere montaggio sbarra


Logo autostrade per l'Italia


Do you know when you exit a toll station and you can take the junction in one direction or another? Now imagine if, in the direction you want to go, there was traffic stopped for whatever reason: wouldn’t it be better to avoid that direction?

The need of Autostrade was precisely to close an access junction with an automated, remotely controlled barrier in case of exceptional events.

Simple? Not really: as it often happens, projects that seem easy on the surface conceal complex aspects. 

The system, in fact, had to integrate with the network of Autostrade per l’Italia, meet strict security and safety requirements and respond effectively to a whole series of events, both predictable and non-predictable events.



  • Agile Kanban-inspired within the team


  • Hardware: custom Linux board 
  • WebApp: React
  • Software: Go

Need support for your project?

Contact an expert


We delivered a complete product: we designed and built the hardware of a cabinet, including both the custom board and the panel, developed the software connected to the network of Autostrade, and built the Web App dialoguing with the embedded part for remote control. 
All this was done by thoroughly studying the user experience and emphasising accessibility.
Full control over the software, hardware and firmware allowed us to consider all the instances that emerged during the development of the project and make the appropriate changes.

Given the strategic and logistical importance of Autostrade, the equipment was designed to meet the pressing requirements of IT security and reliability.


  • Integrated custom solution
    We were a single vertical supplier. By having total control of all specifications and implementing both hardware and software, we were able to manage every variable. So, we could quickly run production and solve problems as they arose.
  • Predictive diagnostics
    We implemented heuristics systems for diagnostics and predictive maintenance to detect possible malfunctions and ensure safe behavior even in case of exceptional events.
  • Usability
    The special attention we always pay to the user experience makes the product usable by a wide range of operators.


On the hardware side, we supplied a cabinet, assembled in its entirety by us, that is positioned at the interchange near the closing barriers, including the electrical panel for powering and controlling the barriers and other equipment, such as traffic lights, alarm sirens, numeric keypads and cameras.

Inside the cabinet, there is a controller board connected to the network of Autostrade, which communicates the status of the junctions to the remote server – via encrypted messaging – and allows commands sent from the control room to be executed. 
We opted for a custom Linux board, which is more versatile and allows the implementation of all the security requirements necessary for the type of application and the customer’s needs.

The system is also equipped with an interface for maintenance personnel, who can perform manual actions during installation and subsequent verification of correct operation. There are also redundant systems to check for any unauthorised operations.

Finally, we have taken care of the minor details, such as the lighting of the cabinet: in fact, most of the work is completed at night to avoid any inconvenience to the traffic.

Software and Web App

On the software side, we developed two separate products (server and client), as well as system configurations and some utility services.

The client software, made in Go, is running on the custom board with the following responsibilities:

  • intercepts signals from the street cabinet (e.g., pressing a button) and executes the command on the interchange (e.g. opening);
  • monitors the status of the barrier, traffic light and other accessories, reporting the information and triggering any alarms;
  • is listening for remote commands, which are then executed on the interchange.

The server software, also made in Go:

  • communicates with clients through encrypted and authenticated connections;
  • collects information from the interchanges (through communications sent by clients), alerting users or triggering alarms;
  • provides APIs used by the web frontend, a React.js application used by users to manage the interchanges.

The utility services we implemented perform various functions, such as managing secure connections, real-time encoding of video streams for interchange monitoring, and centralized log collection.

The production deployment of the entire infrastructure is done with modern DevOps techniques allowing a fast, semi-automated and secure deployment, with a complete separation of layers (assimilated to many micro-services). This is also useful in a future perspective where the different parts can be easily moved (e.g., to a new server and/or cloud infrastructure).

Also on this occasion, the choice of Go as the main development language (in addition to TypeScript for the web frontend part) proved to be strategic, allowing the software to be developed across the whole stack used (from the web backend, to the server infrastructure up to the embedded code), pooling the code and libraries created, with great savings in time and resources, but still with a very high degree of reliability, security and performance.

Usability and design

While designing interfaces that contemplate receiving and responding to alarms, the dialogue between frontend designer and backend developer becomes crucial. From this dialogue components that meet the functional and aesthetic requirements of the end user are generated.

To this end, on the design side, we started by mapping out the client’s main requirements and needs and came up with some stories based on these desiderata.

The system had to be usable by a heterogeneous user base, so we particularly took care of accessibility and user experience by studying certain aspects, such as the juxtaposition of multiple colors or the overlay and superimposition of elements on geographic maps.

Finally, we created a design system module (DSM) to make the design scalable and uniform over time, should it evolve. In fact, the design of functionality was incremental in order to accommodate other client requests in the future without disrupting the design system and user experience.


The most exciting part was undoubtedly the on-site testing. Installations and field tests were necessarily carried out at night in order to avoid traffic problems. We also attended a training to learn how to drive in reverse in the emergency lane!


Right now, our cabinets have passed all the tests and are functional. They are installed at two major junctions of the Tuscan highway.

We are already preparing the next ones!