CupCarbon IoT 5.2

IoT Simulator for Digital Twin
 Download now



  • The new version IoT (V 5.0)
  •  CupCarbon is an IoT and WSN simulation
  • It can be used to design and program distributed systems in general, as well as well WSN and IoT networks
  • The SenScript has been improved and no need to add the symbol $ to the variables
  • CupCarbon offers an ergonomic and easy to use environment for designing scenarios for communication, mobility and natural events
    It includes the OSM module to design applications dedicated to Smart-cities 
  • Many other improvements and bug fixes have been done
  • With the new version 5 you can use the Python language to program your nodes
  • In this way, you can easily explain to your students or your colleagues how to set up distributed wireless and IoT systems in a very easy way based on visualization 
  • As you know, the Python language is widely used and easy to learn
  • Also, you can integrate virtual and real IoT nodes like ESP32, Android, iOS and other nodes in the same simulation
  • As far as IoT is concerned, CupCarbon offers the possibility to use the MQTT protocole in an easiest way
  • You can publish messages, subscribe to many topics and use any broker you want
  • Intelligent mobility which can be based on the sensed information,
  • A new and complete
  • User Guide
  • including 17 basic examples and 4 advanced examples
  • New ergonomic and professional design and graphical user interface based on the new framework JavaFX. Any action can be cancelled and reconsidered (Undo/Redo),
  • Studied and fine drawing quality with pleasant visual objects for an easy use of the environment. Many options are added to the user in order to choose the preferred visual (dark, light, marking nodes and edges, modifying dynamically the simulation parameters, …) and to obtain the best and clean visualization of the network and the working environment,
  • Very easy script language based on the SenScript, which includes intuitive commands
    Possibility to take into account the topology of a city (buildings) as well as the radio visibility and radio propagation in this environment
  • Possibility to include in the simulation the interferences of signals at PHY layer for the Acknowledgment messages. The interferences use very accurate models based on the alpha-stable distribution
  • Possibility to consider many radio modules and standards (802.15.4, ZigBee, WiFi and LoRa) in the same sensor node. Radio modules can be changed either in the environment or during simulation (in the Script),
  • Possibility to consider the clock drift.
  • UART/Serialization/Deserialization between Radio and Microcontroller
  • 2D/3D Visualisation (with OpenStreetMap)
  • CupCarbon Script (useful for console simulation and for the automatization of some repeated tasks)
  • Arduino/XBee code generation (for simple networks)

What is CupCarbon

CupCarbon is a Smart City and Internet of Things Wireless Sensor Network (SCI-WSN) simulator. Its objective is to design, visualize, debug and validate distributed algorithms for monitoring, environmental data collection, etc., and to create environmental scenarios such as fires, gas, mobiles, and generally within educational and scientific projects. Not only it can help to visually explain the basic concepts of sensor networks and how they work; it may also support scientists to test their wireless topologies, protocols, etc.

CupCarbon offers two simulation environments. The first simulation environment enables the design of mobility scenarios and the generation of natural events such as fires and gas as well as the simulation of mobiles such as vehicles and flying objects (e.g. UAVs, insects, etc.). The second simulation environment represents a discrete event simulation of wireless sensor networks which takes into account the scenario designed on the basis of the first environment.

Networks can be designed and prototyped by an ergonomic and easy to use interface using the OpenStreetMap (OSM) framework to deploy sensors directly on the map. It includes a script called SenScript, which allows to program and to configure each sensor node individually. From this script, it is also possible to generate codes for hardware platforms such as Arduino/XBee. This part is not fully implemented in CupCarbon, it allows to generate codes for simple networks and algorithms.

CupCarbon simulation is based on the application layer of the nodes. This makes it a real complement to existing simulators. It does not simulate all protocol layers due to the complex nature of urban networks which need to incorporate other complex and resource consuming information such as buildings, roads, mobility, signals, etc.

CupCarbon offers the possibility to simulate algorithms and scenarios in several steps. For example, there could be a step for determining the nodes of interest, followed by a step related to the nature of the communication between these nodes to perform a given task such as the detection of an event, and finally, a step describing the nature of the routing to the base station in case that an event is detected. The current version of CupCarbon allows to configure the nodes dynamically in order to be able to split nodes into separate networks or to join different networks, a task which is based on the network addresses and the channel. The energy consumption can be calculated and displayed as a function of the simulated time. This allows to clarify the structure, feasibility and realistic implementation of a network before its real deployment. The propagation visibility and the interference models are integrated and includes the ZigBee, LoRa and WiFi protocols.

CupCarbon represents the main kernel of the ANR project PERSEPTEUR that aims to develop algorithms for an accurate simulation of the propagation and interference of signals in a 3D urban environment.

User Guide

Find here the user guide of CupCarbon and the SenScript.



Download the last version of CupCarbon with some given information



Find here some tutorials : videos, basic and advanced examples


Source Code

Get the source code of the simulator CupCarbon from Github



Visit the page of the SenScript programming



Ask your questions or get some answers from the forum of CupCarbon