Answer the question
In order to leave comments, you need to log in
Which platform (arduino, raspberry, stf32) to choose for learning and building a working solution?
Hello!
I'm just planning to start building my own device and trying to choose a platform that allowed me to both learn and immediately assemble a working version.
Since there are a lot of options ( arduino , stf32 , raspberry , etc.), it is difficult to choose.
I would like to know the pros and cons of each of the platforms and which one is best for learning and in the future collecting a working version with unlimited extensibility.
In short, there are two humidity sensors, if the humidity on one of them is, for example, 90%, then you need to light the LED. The problem is that in the future it will be possible to have 5, 10 or 20 sensors and I need to choose a platform so that I can expand it.
Answer the question
In order to leave comments, you need to log in
I will write down the main pros and cons of architectures, and the final choice is yours.
Arduino / AVR
+ Very low barrier to entry
+ Tons of documentation and examples, incl. in Russian
- Expensive
- Power is not enough for everything. Polling a dozen sensors is normal, but a graphic LCD, for example, a USB or a camera, is already problematic.
The Arduino IDE simplifies programming at the cost of bloating and slowing down code. It's probably better to write in pure C/C++ right away.
AVR32
+ Powerful
+ Easy transition from AVR architecture (at least according to Atmel)
– Expensive
– Little
STM32 documentation
+ Order of magnitude more powerful than AVR
+ Cost the same or even less
+ There are excellent debug boards (I'm talking about the Discovery series)
+ Quite good with documentation. There are ready-made "quick start" guides.
– Support is still not as wide as that of the AVR
– The architecture is difficult for beginners. This is the other side of power, and there is no arduino-like wrapper that saves you from "shooting yourself in the foot."
Other ARM Cortex Ms (like LPC11xx)
+ Order of magnitude more powerful than AVR
+ Cost the same or even less
– Worse documentation than STM32
– Like any ARM, difficult for beginners
Raspberry Pi
+ A full-fledged computer
+ Cheap for a system with such performance
+ You can put Linux and figurine code in Python
– To use 100% and write something low-level, you need to be a pro
– Only available as a complete board. Take one core and use it in your development? Forget it.
Your task can be solved by the weakest processors. All you need to do is come up with a device architecture.
Here is an option: find sensors that drive their readings to a common bus (I2C, as an option) or assemble a bunch of boards like an interface sensor-converter and one board-receiver of readings.
As a communication interface, you can take RS-485, which is well protected from interference.
At least atmega8, at89s8253 will go as controllers.
The receiver can simply wait for messages from the sensors and parse them, it can periodically poll the sensors itself - this is at your discretion.
Try ESP8266. For example , ru.aliexpress.com/item/D1-mini-Mini-NodeMcu-4M-byt...
There is 5v there and you don’t need to bother with the firmware. All via USB and LUA.
From personal experience, there is no point in bothering, the price in your scenario comes out cheap for any arm platform. Now one similar project is working, about 20 sensors, a bunch of electric locks, LED strips, sounds and other husks, it has been working without a single glitch for several months, assembled on the simplest arduino, which you can take on e-bay for 300 rubles.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question