Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

The Things Network: iC880a-based gateway

Reference setup for The Things Network gateways based on the iC880a USB concentrator with a Raspberry Pi host.

This installer targets the USB version of the board, if you have the SPI version, check this branch.

Setup based on Raspbian image

  • Download Raspbian Jessie Lite

  • Follow the installation instruction to create the SD card

  • Start your RPi connected to Ethernet

  • Plug the iC880a (WARNING: first power plug to the wall socket, then to the gateway DC jack, and ONLY THEN USB to RPi!)

  • From a computer in the same LAN, ssh into the RPi using the default hostname:

      local $ ssh pi@raspberrypi.local
  • Default password of a plain-vanilla RASPBIAN install for user pi is raspberry

  • Use raspi-config utility to expand the filesystem (1 Expand filesystem):

      $ sudo raspi-config
  • Reboot

  • Configure locales and time zone:

      $ sudo dpkg-reconfigure locales
      $ sudo dpkg-reconfigure tzdata
  • Make sure you have an updated installation and install git:

      $ sudo apt-get update
      $ sudo apt-get upgrade
      $ sudo apt-get install git
  • Create new user for TTN and add it to sudoers

      $ sudo adduser ttn 
      $ sudo adduser ttn sudo
  • To prevent the system asking root password regularly, add TTN user in sudoers file

      $ sudo visudo

Add the line ttn ALL=(ALL) NOPASSWD: ALL

⚠️ Beware this allows a connected console with the ttn user to issue any commands on your system, without any password control. This step is completely optional and remains your decision.

  • Logout and login as ttn and remove the default pi user

      $ sudo userdel -rf pi
  • Configure the wifi credentials (check here for additional details)

      $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 

And add the following block at the end of the file, replacing SSID and password to match your network:

  • Clone the installer and start the installation

      $ git clone ~/ic880a-gateway
      $ cd ~/ic880a-gateway
      $ sudo ./
  • If you want to use the remote configuration option, please make sure you have created a JSON file named as your gateway EUI (e.g. B827EBFFFE7B80CD.json) in the Gateway Remote Config repository.

  • Big Success! You should now have a running gateway in front of you!


These scripts are largely based on the awesome work by Ruud Vlaming on the Lorank8 installer.