Contents

IoT Tracking Device - Final System (Part 3)

An Explanation on Wiring Diagram

Want some music while reading? 🎵📻

It Has Come to an End

Let’s wrap up this series with an overview of our project. If you haven’t read the previous part, please check them here: Part 1, Part 2

Our group of student finally gathered up and put everything the device together to make the final system works. Since the other parts weren’t done by me, I couldn’t write about them. There are in total 5 parts:

  1. Setting up the GPS tracker with NEO7M module
  2. Setting up the air pressure sensor with BPM280 module
  3. Integrating the LCD monitor to the system
  4. Posting data to the server using ESP32
  5. Displaying the data on the web using OpenStreetMap

As I’ve written in the first part, my responsibility was part 4. I think it would be nice for my audience to know how the final system looks. Therefore, I decided to write this part.

Final System

Wiring Diagram

The final system looks like this below wiring diagram /images/madrid_wiring.jpg

The big green piece on the left is the LCD screen. Next to it is the ESP32. The GY-NEO7M is the GPS sensor and the purple component is BMP280 which is the temperature and pressure sensor. All of these pieces are connected to each other by plugging the wires to the breadboard (the white board underneath everything). The breadboard is the base to keep all of the components in place, wiring is also easier with it. You could see the green dots on the breadboard, those are the signs for us to know that there is electricity from the pins to the holes.

Wiring

I use black wires for ground (GND) and yellow ones for voltage (VCC). These are 2 elements that turn a component on. For the LCD, the voltage should be 5V pin, 3V3 is not enough to turn on an LCD screen but it’s enough for the BMP280 and NEO7M.

Both of the LCD screen and BMP280 have SDA and SCL pins and they have to go to pin 21 and 22 respectively since these are the specific pins this in ESP32. SDA is the blue and SCL is the white wire in the diagram.

RX - orange wire - should be wired to pin 17 and TX - red wire - should go to pin 16. Please notice that, if you wire these pins this way, you should swap these in your code. In this case, RXPin in your code should be 16 and TXPin should be 17.

If you go this far, you have finished wiring the whole system and your device is ready to be booted up!

One thing to notice is that the GPS sensor might not be working right away if you live in an apartment that has thick window. For example, I’m living in Finland and we couldn’t get the GPS to work indoors because it messes up the signal. If this also happens to you, you should take the system out under plain view and the GPS will start working.

Conclusion

I’m really happy that we could make the final system works. I feel really satisfied to go through all the “pain” and yield good result at the end. It has been always the same feeling when I could solve a problem by coding but now this is not only about the code itself but also the physical part.

This project really opens my eyes about IoT, it is not that difficult like I thought it would be but on the other hand doable and really useful.

However, I have to remind myself that I should focus on Data Engineering and Machine Learning before digging deeper into IoT 😁. IoT should be just hobby for now because my career focus is Data Engineering at the moment. I hope I could write some posts about this topic in the future. Stay tuned!