IoT LoRa Trash Tracking System


Our trash bin level tracking sensor is an ideal solution for smart cities and efficient waste management. Leveraging LoRa communication technology, it can transmit data over long distances. Powered by a single battery, this sensor boasts an impressive energy efficiency, lasting a full 5 years without the need for a replacement. This not only conserves energy but also reduces maintenance costs. Easily monitor when a trash container is full, facilitating a more planned and effective waste collection and management.

The project is written in C/C++ language. Both hardware and software designed by me.

The device performs;

  • Communicates with REST web services via WiFi connection,
  • Automatic firmware upgrade update management,
  • Multi language supports,
  • Support communication in IEEE 802.11 networks,
  • Manages static IP and DHCP configurations,
  • Creates access point itself for recovery problems,
  • Tracks WiFi signal strength for preventing packet loss,
  • Support fully LoRa communication
  • 5 years battery life because of the energy efficiency
  • Sleep and wakeup with schedule monitoring
  • Hardware monitoring, battery level, Lora network and WiFi signal strength,
  • Integrated web server for settings,
  • Control 2 I/O buttons,
Total line:




Project start






Developed project files

Line count, File name
    28 ./fset.h
   266 ./boot.cpp
    16 ./display.h
   420 ./ext_eeprom.cpp
   357 ./main.cpp
    30 ./fget.h
    30 ./loracom.h
     8 ./debug.cpp
   365 ./lang.cpp
     4 ./tof.h
   297 ./operation.cpp
     8 ./rtc7941.h
     7 ./operation.h
   351 ./connect.cpp
   573 ./display.cpp
   359 ./ajax.cpp
     2 ./lang.h
     5 ./convert.h
    69 ./rtc7941.cpp
    11 ./ajax.h
    11 ./boot.h
   231 ./fset.cpp
   522 ./loracom.cpp
    33 ./ext_eeprom.h
    75 ./tof.cpp
    46 ./convert.cpp
     1 ./debug.h
   323 ./fget.cpp
     8 ./web_server.h
   202 ./web_server.cpp
     7 ./connect.h
  4665 total