8Bit or 32Bit processors
-
I just now did a quick survey of what's available in MCU's, and I have to say: if there's an MCU with markedly more capability, then one way or another you're going to pay extra for that. For instance, an mcu which can do 24-bit analog-to-digital is going to cost more than $5. i.e. I'm not seeing any great deals that come from switching to 32-bit per se. I assume that's because the market for 8-bit MCU's adjusts to stiffer 32-bit competition by more or less automatically lowering its price.
@NeverDie it depends on your application.
For example ATSAMD20E18A-AU is just over 2$, same price than atmega328 if you buy from a "reputable" source.
But it has many more capabilities that will save you external components: easier/faster design, lower power consumption, easier coding etc etc.I had a quick look at the datasheet and see many potential interesting uses for me :
- it can manage dozens of touch channels meaning I could use a much more simple design for the board in Livolo wall switch. And with 8uA in sleep mode with capacitive touch enabled it's saving power too
- it has 6 serial communication interfaces so it can have 2 high speed serial coms and manage A6 GSM module in debug mode, something I can't do with atmega328 but only with a mega2560 which is much more expensive
- integrated RTC so no need for it on my ADXL shield for example. And in sleep mode with RTC active it's using less current than atmega328 with watchdog timer activated for regular wake up.
Even if you buy atmega328 around 1$ on aliexpress you can quickly make your missing $ back in many use cases.
I'm seriously thinking about using it now :) -
@NeverDie it depends on your application.
For example ATSAMD20E18A-AU is just over 2$, same price than atmega328 if you buy from a "reputable" source.
But it has many more capabilities that will save you external components: easier/faster design, lower power consumption, easier coding etc etc.I had a quick look at the datasheet and see many potential interesting uses for me :
- it can manage dozens of touch channels meaning I could use a much more simple design for the board in Livolo wall switch. And with 8uA in sleep mode with capacitive touch enabled it's saving power too
- it has 6 serial communication interfaces so it can have 2 high speed serial coms and manage A6 GSM module in debug mode, something I can't do with atmega328 but only with a mega2560 which is much more expensive
- integrated RTC so no need for it on my ADXL shield for example. And in sleep mode with RTC active it's using less current than atmega328 with watchdog timer activated for regular wake up.
Even if you buy atmega328 around 1$ on aliexpress you can quickly make your missing $ back in many use cases.
I'm seriously thinking about using it now :)@Nca78 said in 8Bit or 32Bit processors:
For example ATSAMD20E18A-AU is just over 2$, same price than atmega328 if you buy from a "reputable" source.
And the ATSAMD20E17A-AU which is exactly identical except it "only" has 128k of flash instead of 256k is 1.56$ at Arrow. It's quite hard to keep the credit card in the pocket :D
-
@NeverDie it depends on your application.
For example ATSAMD20E18A-AU is just over 2$, same price than atmega328 if you buy from a "reputable" source.
But it has many more capabilities that will save you external components: easier/faster design, lower power consumption, easier coding etc etc.I had a quick look at the datasheet and see many potential interesting uses for me :
- it can manage dozens of touch channels meaning I could use a much more simple design for the board in Livolo wall switch. And with 8uA in sleep mode with capacitive touch enabled it's saving power too
- it has 6 serial communication interfaces so it can have 2 high speed serial coms and manage A6 GSM module in debug mode, something I can't do with atmega328 but only with a mega2560 which is much more expensive
- integrated RTC so no need for it on my ADXL shield for example. And in sleep mode with RTC active it's using less current than atmega328 with watchdog timer activated for regular wake up.
Even if you buy atmega328 around 1$ on aliexpress you can quickly make your missing $ back in many use cases.
I'm seriously thinking about using it now :) -
@NeverDie it depends on your application.
For example ATSAMD20E18A-AU is just over 2$, same price than atmega328 if you buy from a "reputable" source.
But it has many more capabilities that will save you external components: easier/faster design, lower power consumption, easier coding etc etc.I had a quick look at the datasheet and see many potential interesting uses for me :
- it can manage dozens of touch channels meaning I could use a much more simple design for the board in Livolo wall switch. And with 8uA in sleep mode with capacitive touch enabled it's saving power too
- it has 6 serial communication interfaces so it can have 2 high speed serial coms and manage A6 GSM module in debug mode, something I can't do with atmega328 but only with a mega2560 which is much more expensive
- integrated RTC so no need for it on my ADXL shield for example. And in sleep mode with RTC active it's using less current than atmega328 with watchdog timer activated for regular wake up.
Even if you buy atmega328 around 1$ on aliexpress you can quickly make your missing $ back in many use cases.
I'm seriously thinking about using it now :)@Nca78 said in 8Bit or 32Bit processors:
@NeverDie it depends on your application.
For example ATSAMD20E18A-AU is just over 2$, same price than atmega328 if you buy from a "reputable" source.
But it has many more capabilities that will save you external components: easier/faster design, lower power consumption, easier coding etc etc.I had a quick look at the datasheet and see many potential interesting uses for me :
- it can manage dozens of touch channels meaning I could use a much more simple design for the board in Livolo wall switch. And with 8uA in sleep mode with capacitive touch enabled it's saving power too
- it has 6 serial communication interfaces so it can have 2 high speed serial coms and manage A6 GSM module in debug mode, something I can't do with atmega328 but only with a mega2560 which is much more expensive
- integrated RTC so no need for it on my ADXL shield for example. And in sleep mode with RTC active it's using less current than atmega328 with watchdog timer activated for regular wake up.
Even if you buy atmega328 around 1$ on aliexpress you can quickly make your missing $ back in many use cases.
I'm seriously thinking about using it now :)Say, that MCU you picked (https://www.digikey.com/product-detail/en/ATSAMD20E18A-AUT/ATSAMD20E18A-AUTCT-ND/4497257) does look like a winner. I especially like that it has so much memory, both SRAM and flash. As I doubt I would need to occupy that much flash memory all at once, it means it should make for a great staging area to store a new wireless OTA sketch as it trickles in. :)
- Is there already a serial bootloader available for it, or does that have yet to be written?
- Is there a schematic for a very basic "pro mini" type circuit that makes use of it? Having that as a reference point really helped when I first tried making circuits with the atmega328p.
- What about libraries and demo code?
- Can software for it be developed in either Arduino IDE or Visual Studio with Visual Micro extensions?
If all those pieces are in place and not still waiting to be developed, then I'd be interested in giving it a try too!
-
There is a "BOSA" compatible bootloader, I have still on my todo list to verify that this is working (will be before makerfaire in Eindhoven, as I have promised to bring the new sensebender micro mk2 with me)
I have created the sensebender micro mk2, which still needs verification.. (For my part, activity have been low due to other work related projects..)
Software should be possible in arduino IDE (the core is the same as in atsamd21, which is used by the Sensebender Gateway.. Only difference is that it misses USB interface.
-
There is a "BOSA" compatible bootloader, I have still on my todo list to verify that this is working (will be before makerfaire in Eindhoven, as I have promised to bring the new sensebender micro mk2 with me)
I have created the sensebender micro mk2, which still needs verification.. (For my part, activity have been low due to other work related projects..)
Software should be possible in arduino IDE (the core is the same as in atsamd21, which is used by the Sensebender Gateway.. Only difference is that it misses USB interface.
@tbowmo said in 8Bit or 32Bit processors:
Software should be possible in arduino IDE (the core is the same as in atsamd21, which is used by the Sensebender Gateway.. Only difference is that it misses USB interface.
Any reason to use D20 instead of D21 except saving 0.3 - 0.5$ per unit ?
As the D21G18 is used in Arduino Zero it makes sure there's some stable support for that version.@NeverDie you can check that for "pro mini" style board: https://www.sparkfun.com/products/13664
-
It won't incorporate USB anyways, so I do not see a benefit of using D21.. And even 0.5$ could become a lot of money, when we start producing a million sensebender micro mk2 :)
@tbowmo said in 8Bit or 32Bit processors:
It won't incorporate USB anyways, so I do not see a benefit of using D21.. And even 0.5$ could become a lot of money, when we start producing a million sensebender micro mk2 :)
Yes yes I'm not talking about the sensebender micro for which saving money for a feature you don't use makes sense. But for small scale production like in my appartment ? :D
-
@Nca78
depends what you need, but what i like with usb (d21) is i just connect the cable and i can program it easily and at same time can have serial monitor (no ftdi needed). You need to burn a bootloader for that by using a swd programmer first.
or then use the cheaper version, program it through swd, but then need an ftdi for uart
depends.
perhaps i should release some design for it, but i think there are already a lot on internet -
@NeverDie i'm using atsamd21 with mysensors since last year, no problem too with VS Studio ;)
@scalz said in 8Bit or 32Bit processors:
@NeverDie i'm using atsamd21 with mysensors since last year, no problem too with VS Studio ;)
And do you have to put a bootloader on it ? If yes what do you use for programming ?
-
using d21e, so i burn a bootloader like i said above with a Segger OB j-link, clone i guess. Then you just need usb
-
using d21e, so i burn a bootloader like i said above with a Segger OB j-link, clone i guess. Then you just need usb
@scalz said in 8Bit or 32Bit processors:
using d21e, so i burn a bootloader like i said above with a Segger OB j-link, clone i guess. Then you just need usb
Any chance you have a link for purchase of the j-link ? There are a bunch on Ali but you never know what you get.
-
those at ali are the same. i bought it at the french Ebay because wasn't patient and the few bucks were worth it :)
-
@tbowmo said in 8Bit or 32Bit processors:
Software should be possible in arduino IDE (the core is the same as in atsamd21, which is used by the Sensebender Gateway.. Only difference is that it misses USB interface.
Any reason to use D20 instead of D21 except saving 0.3 - 0.5$ per unit ?
As the D21G18 is used in Arduino Zero it makes sure there's some stable support for that version.@NeverDie you can check that for "pro mini" style board: https://www.sparkfun.com/products/13664
@Nca78 said in 8Bit or 32Bit processors:
@NeverDie you can check that for "pro mini" style board: https://www.sparkfun.com/products/13664
Awesome! That greatly lowers the barriers to trying it. I just ordered one from Amazon: https://www.amazon.com/SparkFun-LYSB018RKKRVG-ELECTRNCS-SAMD21-Mini-Breakout/dp/B018RKKRVG/ref=sr_1_1?s=electronics&ie=UTF8&qid=1496436449&sr=1-1&keywords=samd21
There's a good chance I'll receive it this Sunday.It looks as though the Adafruit Feather is more or less the same type of SAMD21 board: https://www.amazon.com/Adafruit-Feather-M0-Basic-Proto/dp/B019MGQE8Y/ref=sr_1_6?ie=UTF8&qid=1496437154&sr=8-6&keywords=adafruit+feather
-
Took a closer look at the Sparkfun SAMD21 PCB. It's actually a four layer PCB, not the more ordinary two layer PCB. On the other hand, the Adafruit SAMD21 is a two layer PCB. The four layers explains why the Chinese knock-ffs look different from the Sparkfun version: https://www.aliexpress.com/item/SAMD21-M0-Mini-32-bit-ARM-Cortex-M0-core-Pins-soldered-Compatible-with-Arduino-Zero-Arduino/32779698644.html?spm=2114.01010208.3.10.0u636X&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10130_10068_5010013_10136_10137_10060_10138_10155_10062_437_10154_10056_10055_10054_10059_303_100031_10099_10103_10102_10096_10052_10053_10107_10050_10142_10051_5030014_10084_10083_10119_10080_10082_10081_10178_10110_519_10111_10112_10113_10114_10182_10185_10078_10079_10073_10123_10120_10189_142-10050,searchweb201603_9,ppcSwitch_4&btsid=36be8280-4e44-474b-b3e4-2c9eef009d58&algo_expid=09284286-c141-4a88-bce8-2d8bb9d233d6-1&algo_pvid=09284286-c141-4a88-bce8-2d8bb9d233d6
-
I think it will be important to see how big a minimalist SAMD21 board needs to be while still remaining 2-layer. I'm guessing about half the size of the Adafruit board, since a lot of that board real estate is just prototyping area plus pinouts from the SAMD21.
Anyhow, I'm looking forward to not worrying about how many libraries I can load before running out of memory! Even that alone--at least during development--is worth spending some extra money. :)
-
What kind of hardware have people here had success in using for burning a bootloader and changing fuses on a SAMD21? For instance, will I need Atmel's ICE, or do these work just as well:
https://www.aliexpress.com/item/1PCS-AVR-JTAG-USB-Emulator-Debugger-download-AVR-JTAG-ICE-Download-Programmer-Atmega/32789255835.html?spm=2114.01010208.3.26.iO9ONh&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10130_10068_5010014_10136_10137_10060_10138_10155_10062_437_10154_10056_10055_10054_10059_303_100031_10099_10103_10102_10096_10052_10053_10107_10050_10142_10051_5030014_10084_10083_10119_10080_10082_10081_10178_10110_519_10111_10112_10113_10114_10182_10185_10078_10079_10073_10123_10120_10189_142-10052_10152_10113_10120,searchweb201603_16,ppcSwitch_4&btsid=f5ac2ded-aae9-478c-a52d-08f2e72cc936&algo_expid=44d9bdb3-4da4-4810-a84b-23ba1337c57b-3&algo_pvid=44d9bdb3-4da4-4810-a84b-23ba1337c57b -
@NeverDie you need SWD interface for burning a bootloader to them.
ST-link v2 should be ok and you can find cheaper clone, no idea for your other link.
Otherwise, like i said above, i'm using a Segger Jlink OB like this one http://www.ebay.com/itm/New-J-Link-OB-ARM-Debugger-Programmer-Downloader-replace-v8-SWD/141854905580?_trksid=p2047675.c100623.m-1&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D2%26asc%3D41375%26meid%3D188c2e52c5484de68b250d6f7dfb4d72%26pid%3D100623%26rk%3D2%26rkt%3D6%26sd%3D400943523132
Again you can find them cheaper at aliexpress, on my side i keep the insulating plastic cover in place -
A bit off topic, but I like what this guy did with putting an OLED onto his SAMD21 board. Not sure where to get them, but they must be cheap, because his whole board costs $15 on Tindie.

https://www.tindie.com/products/microwavemont/ultra-zero-a-successor-of-sduino-zero/?pt=full_prod_search