Although Arduino is a great choice for microcontroller-based projects, I decided to start my IoT journey with the Raspberry Pi because of my background in Python programming from university. Since the Pi supports full Python scripting out of the box, it made sense for me to build on what I already know instead of starting from scratch with Arduino's C/C++ environment.
The Raspberry Pi also gives me access to a full Linux environment, GPIO pins, internet connectivity, and the flexibility to build full-stack IoT systems — from hardware control to backend logic and eventually frontend dashboards.
My journey into Full Stack IoT began this summer with a strong motivation to master hardware and software integration before university resumes. Since I already had a background in Python from my university courses, I decided to go with the Raspberry Pi instead of Arduino. Arduino is great for microcontroller projects, but the Pi gave me the flexibility of using Python, working within a Linux environment, and building more complex IoT systems.
I was excited when I finally got my Raspberry Pi B+ model from Direnc.net a turkish company known for selling electronics components but that excitement quickly turned into confusion when the Pi wouldn’t turn on. I had used a normal phone charger instead of the recommended Pi power supply, I learned that the Pi requires a stable input of 100 - 240V and ouput of 5.1V power supply with 2.5A of current (depending on the model), while most phone chargers only supply around 1A–2A and can’t consistently handle the Pi’s power demands — especially when using peripherals like a keyboard, mouse, or display. That lack of current was enough to prevent the Pi from booting properly so I thought I had damaged the board. Out of panic, I went out and got a Raspberry Pi Pico, thinking it would help me continue — only to later find out that the issue was just the power supply. Once I got the right Pi charger, everything worked perfectly. That mistake taught me an important lesson about power requirements and not assuming the worst.
With the Pi now working, I moved on to installing the Raspberry Pi OS onto a microSD card using the official imager. It was my first time flashing an OS manually, and the process gave me a deeper understanding of how Linux-based systems boot. I connected my Pi to a screen, keyboard, and mouse, and booted into Raspberry Pi OS successfully.
Since then, I’ve been diving into Linux basics — using terminal commands like cd
, ls
, sudo
, pwd
, mkdir
, rmdir
, mv
and others — and gradually getting comfortable with navigating the system. I also started using the Thonny Python IDE for writing GPIO code to control LEDs my first project check it out on notes in the menu.
This first phase has been full of challenges, but every mistake has taught me something. I now feel more confident in handling hardware, software, and the command line. My goal is to document everything — not just the successes, but also the struggles — so I can look back on how far I've come, and so others starting out can relate to the journey.