Hans-Petter Halvorsen
We cannot create, implement and play with Internet of Things without having some hardware, devices, sensors, etc. Below you find an overview of recommended hardware, tips and tricks, etc.
All hardware will be available in the laboratory, but it is recommended that you buy some of the recommended hardware for personal use, especially online students. Also recommended for campus students since its makes it easier to work with the lab assignments outside the scheduled hours in the laboratory. The total price will be the same as you pay for an ordinary textbook which you need to buy in other courses. In this course all the learning resources are online and free.
Selecting and buying IoT hardware and components with the right specifications is an important part of any IoT project and IoT application. So, selecting and buying these components are also an important part of this course.
Note! Prices shown below are roughly estimates and they are also dependent on where you buy the hardware. The prices have also increased the last couple of years due to production and delivery problems all over the world.
All engineering students should have an Arduino, it can ve used for many applications, experiments, lab work, project work, prototyping, IoT, etc. It is an easy and cheap way to learn and play with technology.
You can buy an Arduino many places online, e.g., Kjell & Company, RS, Sparkfun, DigiKey, ebay, AliExpress, etc. Arduino UNO R4 WiFi is recommended but other alternatives are also OK. Below you see some different alternatives.
You can either buy an Arduino Starter Kit or just the board (e.g., Arduino UNO), but then you need USB-cable, a breadboard, different sensors, etc. in addition. An Arduino Starter Kit includes everything you need to get started with Arduino, but it costs more compared to buy the parts you need separately. So I recommend to buy only the parts you need separately.
Here are some recommendations (Note! You need only one of these options):
| Options | Comments | Suppliers |
| Arduino UNO R4 WiFi | New version of the classic Arduino UNO! It comes in 2 different flavours. Arduino UNO R4 Minima is without WiFi. You need USB cable, etc. in addition. | Kjell, RS |
| Arduino Starter Kit | "Everyting" you need in one package but a lot more expensive. Starter Kits exist for Arduino UNO R3 and Arduino UNO R4. | Kjell, RS |
| Arduino UNO R3 | An older version. Recommended due to low price. You need USB cable, etc. in addition. | Kjell, Sparkfun, RS |
| Arduino UNO compatible device | Why pay more than you have to? | Kjell |
| Arduino UNO WiFi Rev2 | WiFi is integrated. The classic Arduino UNO R3 with builtin WiFi. | RS |
Arduino UNO R4: A new versions of the traditional Arduino UNO hardware has been released called Arduino UNO R4, it comes in 2 different versions called Arduino UNO R4 Minima and Arduino UNO R4 WiFi. Arduino UNO R4 WiFi is recommended. You find more information about these devices here: https://store.arduino.cc/pages/uno-r4.
Arduino UNO Q: An even newer Arduino board has also been released, called Arduino UNO Q. A new version that combines a traditional Microcontroller µC (like Arduino R3 and R4) and an SBC (like Raspberry Pi). SBC is short for Single Board Computer where you can run Linux and use it as a traditional computer with a monitor, keyboard and a mouse. Arduino UNO Q is a hybrid and has both a microcontroller (µC) and a microprocessor (µP). Here you can use "Arduino App Lab", which is a new integrated development environment (IDE) for the new Arduino UNO Q board. Note! At this point I will not recommend this board for everybody because it is brand new, I have not tested it, neither have I made any resources for this new board. I am also unsure about the compability with existing Arduino libraries and existing Arduino code. It may also be difficult to buy it from Norwegain stores since it is brand new, and it is more expensive. It is available from RS. You can choose between different RAM options. Feel free to try it out if you like.
ESP32: An ESP32 board is also a good alternative. ESP has builtin WiFi. It comes in many flavours, like Arduino Nano ESP32 or Seeit ESP32-DEV-30P.
Starter Kits? The Starter Kits may be a bit expensive, so an alternative is to buy an Arduino UNO and then buy a Component Kit. Here are some examples: Kjell & Co or Sparkfun. You can also buy each component individually (recommended!), then you get exactly what you want for the best price.
All engineering students should have a Raspberry Pi, it can ve used for many applications, experiments, lab work, project work, prototyping, IoT, etc. It is an easy and cheap way to learn and play with technology.
You can buy an Raspberry Pi many places online, e.g., Kjell & Company, Komplett, Elfa, RS, Sparkfun, DigiKey, ebay, AliExpress, etc.
Raspberry Pi 4 or Raspberry Pi 5 is recommended, which comes in different flavours, e.g., 2Gb, 4Gb, 8Gb or 16Gb RAM. But older versions like, e.g., Raspberry Pi 3B+ is also more than good enough. Older version are also cheaper. Raspberry Pi Pico may also be a good alternative.
Note! At the moment it the prices for RAM memory has increased a lot! So it may be a good option to buy a Raspberry Pi edition with less RAM, like 2Gb or 4Gb. Remember you can also buy second-hand, borrow from a friend, get one from your company, etc. There are many alternatives to Raspberry Pi 4/5 that may be cheaper, like OKdo Radxa Rock 4C+ or Orange Pi 5. Another and very cheap option is to buy Raspberry Pi Pico (but make sure to buy the version with WiFi).
Examples of small-scale sensors that can be used in this course:
| Type | Comments |
| TMP36 Temperature Sensor | Available from many online stores. Also included in Arduino Starter Kit |
| NTC Thermistor 10K (Temperature Sensor) | Available from many online stores. Not included in Arduino Starter Kit |
| TC74 | I2C Interface. Available from many online stores, e.g., RS, DigiKey, etc. |
| DS18B20 , DHT11/22 (1-Wire) or DHT20 (I2C) | 1-Wire Sensor |
| AM2320 or DHT20 | Sensor with I2C Interface |
| BME280 | Sensor with I2C Interface |
The components (or similar alternatives) in bold font are highly recommended. Other similar sensors may also be used.
You can buy these sensors many places online, e.g., Kjell & Company, RS, Sparkfun, DigiKey, ebay, AliExpress, etc.
In addition, you need some of the following electronics components (Note! most of these are, e.g., included in the Arduino Starter Kit, or similar kits):
| Components | Comments |
| Resistors | 220, 270, 330, 1k, 4.7k, 10kOhm - Typically you need 2-3 units of each size. |
| LEDs | LEDs come in different colors, e.g., Red LED 5mm. You can also buy a package with different colors, e.g. from Kjell & Company. |
| Capacitors | 10uF (other sizes may also be handy) |
| DAC (e.g., MCP4911) | Digital to Analog Converter. MCP4911 has uses SPI. Not part of Arduino Kit. You can get it from RS, etc. DAC MCP4725 (I2C bus) is an alternative to MCP4911 and may be easier to Use (Code Examples included) |
| ADC (eg., MCP3002) | Analog to Digital Converter. You can get it from RS, etc. Examples of ADC chips: MCP3002, MCP3201, MCP3202. |
| Hook-up Wires for Breadboard with solid core. For Arduino you typically need only to use Male-Male, while for Raspberry Pi you need both Male-Female and Male-Male. | |
| Push buttons | Push buttons come in many varieties. Push buttons can be used to turn LEDs on/off, etc. Here you see an example from RS. |
| 10kOhm. Can be used to adjust the brightness of LEDs, etc. |
The components (or similar alternatives) in bold font are highly recommended.
Most of the components above are part of an Arduino Starter Kit, but these things can be bought separately (recommended) many places online, e.g., Kjell & Company, RS, Sparkfun, DigiKey, ebay, AliExpress, etc.
A good alternative may be to buy a "Component Kit", e.g., from Sparkfun or Kjell & Company.
Multimeter, Screwdriver 2.5mm, batteries, MicroSD cards/readers, USB cables, network cables and wires, breadboard, tools, etc. are also nice to have (these things can be bought "everywhere").
| Accessory | Comments |
| Breadboard | Included in, e.g., Arduino Starter Kit. Breadboards come in different sizes, here you see an example from RS (recommended size). |
| Multimeter | Optional, but very handy! Here you see an example from RS. |
| Screwdriver 2.5mm | Optional, but very handy! |
| Nipper Tool | Optional, but very handy! |
| 9V Battery | Optional, Makes it possible to run the Arduino without the USB cable |
| Battery Holder 9V | Optional, Makes it possible to run the Arduino without the USB cable |
| Battery Holder 4xAA | Optional, Makes it possible to run the Arduino without the USB cable |
Only the accessories (or similar alternatives) in bold font are highly recommended.
Optional Hardware. Note! It is not necessary to buy such a device, unless you are especially interested.
Here are some alternatives:
| Options | Suppliers |
| USB-6001 - Recommended alternative | National Instruments |
| USB-6008 - The one we have in the laboratory at USN, but this has now been replaced by the USB-6001 and the USB-600x series from NI. | National Instruments |
| myDAQ | National Instruments |
These devices all work in the same manner, and they all use the DAQmx driver. These devices can be used with LabVIEW, C#, MATLAB and Python. You will get access to USB-6008 in the laboratory at USN. When working at home you may also use an Arduino as a DAQ device in LabVIEW using LabVIEW LINX Toolkit. These DAQ devices can also be bougt from CNRood, Farnell, ebay, AliExpress, Amazon, etc.