The next generation moteino?

Started by WhiteHare, August 24, 2015, 09:23:33 AM

WhiteHare

@Felix,

Have you given any thought to making the next Moteino, perhaps using a next generation ultra low power MCU?  For instance, the Atmel SAM L21 Cotex M0+ is already available and in stock and it consumes only 35uA/Mhz while in Active mode.  Putting that on the moteino sooner rather than later would drive up demand.  Eventually demand is going to switch to the newer mcu's because they're so much lower power.

Felix

I thought about other MCUs and Cortex however who is going to rewrite all the existing code and libraries for another MCU?
Also the atmega328 is also capable of very low power so that's not a concern.
As far as capabilities, the atmega328 runs pretty much all my nodes right now, so personally I have a lot of resistance to using anything else. The learning and acceptance curve of anything new is huge right now. But again, I am open to something new as long as adopting that new platform takes little to no effort. For instance when I added the MoteinoMEGA, all the source code already works on that MCU - atmega1284 without modification (except some pins definitions which are mapped in the Arduino IDE pindefs file).

TomWS

Quote from: WhiteHare on August 24, 2015, 09:23:33 AM
@Felix,

Have you given any thought to making the next Moteino, perhaps using a next generation ultra low power MCU?  For instance, the Atmel SAM L21 Cotex M0+ is already available and in stock and it consumes only 35uA/Mhz while in Active mode.  Putting that on the moteino sooner rather than later would drive up demand.  Eventually demand is going to switch to the newer mcu's because they're so much lower power.
As much as I'd love to have a low power, highly configurable device with 40KB of SRAM(!!!) like the SAM L21E, and the 1208 page datasheet is a bit daunting, the real problem is with the IDE and AVRish libraries.

Everytime the Arduino Boys have another IDE du jour, the RFDUINO Boys pull their hair out because their stuff is broken on the new IDE.  Maybe it will be different with Atmel as the supplier of this chip (and able to provide a little more support and influence on the Arduino gang), I certainly hope so!

RFM69 library wouldn't take much work to port, but some libraries are peppered with AVR register references and these would all break.

However, having said that, I be very happy to test out your SAM L21E Moteino look-alike  ;D

Tom

WhiteHare

#3
The Due and the Zero are both ARM, so maybe that helps.  In any case, it sounds like the answer will be to follow what Arduino does, because they'll do the heavy lifting of library conversion and also you can stay within the same IDE.  Not an unreasonably strategy, provided the guys in Italy don't fall too far behind, which, unfortunately, seems to be happening.  Pi did a major upgrade with Pi2.  I haven't really seen a major upgrade from Arduino in the same timeframe:  the Zero seems redundant compared to the Due, not to mention expensive for what it does.  The Yun was an awkward flop.  The Tre is running so late that it will be irrelevant by the time it's released, if it ever is.  At this point an Arduino interfaced to a Pi2 makes more sense than the Tre.  Arduino's next move should be for something ultra low power.  Let's hope it is.  If not, maybe mbed will have something.  Mbed might pick up the slack if Arduino continues to drift.  Mbed already has a much broader range of platforms to choose from, and they seem to be vendor agnostic as to who makes the platform.  Moteino could gain a following there if it were an Mbed platform, and then you wouldn't be dependent on what happens (or doesn't happen) in Italy.

TomWS

I agree that Mbed is probably a better choice for this part, although not because
Quotethey seem to be vendor agnostic as to who makes the platform
since they ONLY support ARM Cortex Mx processors, but largely because they DO ONLY support ARM Cortex Mx processors.  Less chaff in the mix of support required and certainly a more advanced processor/SOC/I/O set of choices without being anemic memory wise...

However, it may be premature to get too excited about this processor.  A quick look at US distributors and I only found maxed out versions and only as Engineering Samples, not production parts.

Still, it is an interesting device and will start showing up in products 6-12 months from now.
Tom

Felix

Over the years, I have resisted drifting myself. Because I know if I drift this whole vision I have will start to fall apart. Everything I need can be done with the Moteinos. How many months/years or hundreds of man hours will it require to build yet another platform? Who will invest that time? Who will buy that new platform? Is it worth my time? The quick answer for right now is no, very much not worth it. When 95% of people will abandon "Arduino " (ie the traditional 8bit aka atmega168/328) then it may be time to refocus. For now I am focused on achieving my goals of a nice platform and I'm pretty close to that :)

WhiteHare

#6
I've started experimenting with the Sam21D.  Interestingly, Sparkfun made a "pro mini" version of it that's been around for a while now:  https://www.sparkfun.com/products/13664

Adafruit uses the same MCU to power its Feather.

[Edit:  Anyhow, I bring those up merely to point out that the Arduino IDE support seems to be established for it already.]

Felix

Certainly looks like a nice chipset. The more support in the IDE and arduino libs the better and easier it would be.
But in general there's lots to consider before developing a new board, not to say I am not open to a possibility.

TomWS

Quote from: WhiteHare on June 09, 2017, 10:38:23 AM
I've started experimenting with the Sam21D.  Interestingly, Sparkfun made a "pro mini" version of it that's been around for a while now:  https://www.sparkfun.com/products/13664

Adafruit uses the same MCU to power its Feather.

[Edit:  Anyhow, I bring those up merely to point out that the Arduino IDE support seems to be established for it already.]
I'd say come back to us when you've done something useful with this.  I've messed around with the SAM21D and have put it back on the shelf.  Too many oddities in configuring the I/O that don't map to the Arduino World and not worth learning yet another development paradigm/IDE, IMO.  Don't get me wrong, the capabilities are powerful, but it's so different from anything else that its a distraction more than an asset.

Tom

Felix

Quote from: TomWS on June 09, 2017, 12:40:35 PM
I'd say come back to us when you've done something useful with this.  I've messed around with the SAM21D and have put it back on the shelf.  Too many oddities in configuring the I/O that don't map to the Arduino World and not worth learning yet another development paradigm/IDE, IMO.  Don't get me wrong, the capabilities are powerful, but it's so different from anything else that its a distraction more than an asset.

Tom - thank you, I love what you said, I think that last line is exactly what my brain's collections of feelings towards something like this wanted me to type but maybe I feared backlash and held it back.
Love the features and the speed and everything but I also played around with a samd21 and it felt odd to say the least. At the moment I just fail to get that DOH moment that makes samd21 an obsoleter of our AVR love affairs. In my own use I don't have a single node that would really benefit from the features of samd21, in fact most nodes the 328p have plenty of flash/RAM room for more, even at 16mhz/32k flash/2k ram. So why bother is the question I can't answer.

TomWS

Quote from: Felix on June 09, 2017, 01:52:17 PM
In my own use I don't have a single node that would really benefit from the features of samd21, in fact most nodes the 328p have plenty of flash/RAM room for more, even at 16mhz/32k flash/2k ram. So why bother is the question I can't answer.
Well, I won't go too far with that viewpoint.  It sounds too much like "My Buggy Whip is working just fine..."   

I looked at the SAM21D for a specific application that the 328P could not do without a lot of extra hardware added (Like a fast PIC for instance).   I spent a great deal of time trying to configure one of the 32 bit timers as a gated counter, something that's really easy on some other ARM processors.  The code was a mess with all kinds of ugly macros necessary to build the configuration tables for EVERY signal in this fairly straightforward problem.  I concluded that I'd never be able to meet my needs if I stayed with an Arduino IDE and Atmel Studio's learning curve was too steep to justify the effort for this one application.  I haven't thrown away the SAM21D tools, I've only shelved them and maybe, someday, when I have nothing else to do....

Tom

WhiteHare

I thought I'd float the topic to see if it had any resonance with others.  You raise good points, and, well, fair enough.  I'm not going to try to change your minds.

TomWS

Quote from: WhiteHare on June 09, 2017, 06:19:56 PM
I thought I'd float the topic to see if it had any resonance with others.  You raise good points, and, well, fair enough.  I'm not going to try to change your minds.
This isn't about "changing minds" specifically.  It's about what's next, and, if there is a reasonable 'next', then bring it on.   We're simply expressing our experiences.  Frankly, I would love to see a 'next' that had the capability of the SAM21D, but I haven't seen it yet.  If you find it, we'll all love to see it.  Like I said, bring it on.
Tom

ChemE

I find the idea interesting enough so that it might push me to get my reflow oven made or else get better at fine-pitch soldering.  I've seen videos of people hand soldering 0402 passives.  I'm thinking about a 2xAAA sized PCB with this uC, a BME280, a AB1815, and a uSplatch on the top nestled between the batteries and either an RFM69C* or else a LoRa radio.  Basically take the core essence of a Mote and upgrade/add everything that we've talked about.  I know Motes as they are are extremely capable but there are other toys to play with and for me these are toys.  I buy based on the fun of tinkering not need per se.  Don't overlook that in your evaluation.

WhiteHare

Quote from: ChemE on June 10, 2017, 10:37:01 AM
I find the idea interesting enough so that it might push me to get my reflow oven made or else get better at fine-pitch soldering.  I've seen videos of people hand soldering 0402 passives.  I'm thinking about a 2xAAA sized PCB with this uC, a BME280, a AB1815, and a uSplatch on the top nestled between the batteries and either an RFM69C* or else a LoRa radio.  Basically take the core essence of a Mote and upgrade/add everything that we've talked about.  I know Motes as they are are extremely capable but there are other toys to play with and for me these are toys.  I buy based on the fun of tinkering not need per se.  Don't overlook that in your evaluation.

You probably wouldn't need the AB1815, because it has an RTC built in.  You'd still need a 32.768K crystal, though (as would the AB1815).

If you use the SamD21 in a TQFP32 package, it's not worse than soldering the surface mount atmega328p.  i.e. you can hand solder by drag soldering it if you wish.

So, I don't believe you would even need your reflow oven if you were doing just a small number of them.