Chat freely about anything...

User avatar
By AngelikaSheppard
#92579 Hi,

I am a student and I have to select a project for my college course. It has to be related to IoT technology, I am new to this field, have searched online and found these modules.

I have worked on Arduino simple programming but haven't worked on WiFi or cloud computing.

Rite now, I am here to get some suggestions about these two boards, whether I should select ESP8266 based module or should I go with Raspberry Pi 4?

User avatar
By Sean Phelan
#92610 If you go with the ESP8266 you will probably end up spending the majority of the elapsed project time dealing with "out of memory" issues.

Most of what you learn working with a Raspberry PI will be applicable in pretty much any Unix/Linux environment.

And, if you hit problems with your project then you have a MUCH better chance of finding help and expertise in the Raspberry PI's environment than on pretty much anything running on the ESP8266.

One further thought - if you don't go with the RPI then take a look at the ESP32 instead of the ESP8266. Much more memory and several other advantages.

Good luck with your project!
User avatar
By btidey
#92611 I think that without knowing what overall functionality you are trying to achieve then it is impossible to say what platform is most suitable.

I would certainly not want to make some blanket statement that said you must use the fastest platform with the most memory without knowing more.

There are thousands of successful IOT type projects built with ESP8266 modules. These provide wi-fi connectivity, decent performance and memory sufficient for simple and moderate projects. They are low cost and small which can be important for IOT applications. PLus with support for low power deep sleep they can be battery operated. Performance and memory significantly exceed many base Arduino modules.

The ESP32 does have extra performance (dual-core) and more memory plus lots more I/O which can be very useful in more complex applications.

The Raspberry Pi comes into its own if you want very sophisticated processing and lots of memory and want to benefit from programming in a Linux environment and have access to wired ethernet, USB, camera, and video driving support (HDMI). Its GPU is also very useful if the application needs image processing. However, bear in mind that Linux is not a real time operating system so some applications needing guaranteed rapid response times can get more complicated.

I use all 3 platforms myself with the ESP8266 more commonly used either as complete solutions, or providing end point functionality (sensors / controls) with a Raspberry Pi for central overall control, database management etc.

One suggestion is to try googling similar project ideas and include esp8266, ESP32, or Raspberry Pi to see if you can get some starting point.
User avatar
By eriksl
#92618 The ESP8266 is a microcontroller, the Raspberry PI an Unix (Linux) computer. Not quite comparable.

As the Linux kernel and libc API is very well documented, you will have no problems making what you want. On the other hand the documentation for ESP8266 is "sparse" and many things are still not or not properly documented (this especially counts for the NONOS SDK). Some things are still uknown and kept secret by Espressif.