Migrate to another platforms

Hi everyone,

I have developed a WSN based on Arduino101 + LoRa for a long time and it works great. In my best of knowledge, the development boards shouldn't be the best choices to be used in the industrial versions. Therefore, I am looking for the next hardware option where without changing libraries I put all my developed codes there to work as it used to work with my present development board.

Thanks for any help!

The alternative platforms would rather depend on the application you have and the libraries it uses, neither of which you mention .......................

based on Arduino101

AFAIK, Intel discontinued the chip family used on Arduino 101. Submit Form
So you're faced with finding a whole new device family, and if you're using any of the unique features of the Curie (like the pattern matching engine), then you've got pretty big problems.)

So I can understand what you are trying to say. But I want to know that why not Arduino? If you want to change to a new family of microcontrollers, then there are a bunch of options. You can use ESP32 architecture which has many features. You can also use Raspberry Pi but I it is a bit expensive. You can also use CircuitPython which is same as Arduino but uses Python. There are a bunch of microcontrollers. But I think that why are you about to change from AVR? I think that you haven't seen all the great microcontrollers fo AVR. Please have a look at it and still you want to change, then you have many options which I have mentioned before.

Thank you srnet, westfw, and ArnavPawarAA.

In fact, I don't use pattern matching or very special options on Arduino101. Power consumption on the nodes and connectivity to the LoRa shield has to be considered.

The minimum requirement in terms of SRAM and frequency is what we have on Arduino101 (24 kB and 32 MHz). Then I think Raspberry Pi is too much for my application both in terms of cost and power usage particularly.
I am not sure about ESP32 architecture since they are famous for having the WIFI option which I don't need on my nodes since I use LoRa for communication.

My sensor nodes include about 1500 and the central node 1250 lines of complicated code. Based on the comments you gave, I am still thinking if I should keep the present Arduino101 development board, or do the risk and start from scratch with another unknown microcontroller?!

Its no so much a problems of getting to know a new microcontroller, if that that microcontroller is well supported in Arduino.

The ESP32 does have a certain following in The Things Network circles, which uses LoRa of course, but myself I find the ESP32 a complex beast to work with. There is a great deal of stuff going on in the background, which can cause stability issues. Its also power hungry.

And just beacause an ESP32 (or other) microcontroller runs at high speed, it does not necessarily means it executes all tasks faster. I recently did some throughput tests on LoRa nodes to see real world how fast you could you send data. For 16 byte packets the ESP32 achieved a transfer rate only 5% higher than the ATmega328, but for 255byte packets the transfer rate was identical, so very little benefit from using a processor that supposadly runs 30 times faster, although it would keep battery manufacturers happy.

Thank you srnet.

In fact, your test has been limited by the transmission rate of LoRa, not ESP32 while transmitting 16 or 255 bytes LoRa packets. However, a faster processor should execute other non-transmission tasks faster.

But still, power consumption (ESP32 = 240 mA in comparison to Arduino101= 66 mA) is problematic for an ESP32-based node working with batteries.

I need to find a microcontroller to be not much different from Arduino101 to be able to use the libraries with the minimum possible incompatibility.