8Bit or 32Bit processors
-
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 -
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 -
-
This is the most "similar" one I've found on Adafruit:

https://www.adafruit.com/product/2900
That and the one that mfalkvidd just posted look a lot bigger to me. -
The Adafruit one is 128x32. From the picture, it looks to be about twice the width of the one on the tindie board. So maybe it is 64x32? Like this one
https://www.aliexpress.com/item/White-0-49-inch-OLED-Display-Module-64x32-0-49-Screen-IIC-for-Arduino-AVR-STM32/32779893498.html -
The Adafruit one is 128x32. From the picture, it looks to be about twice the width of the one on the tindie board. So maybe it is 64x32? Like this one
https://www.aliexpress.com/item/White-0-49-inch-OLED-Display-Module-64x32-0-49-Screen-IIC-for-Arduino-AVR-STM32/32779893498.html@mfalkvidd Looks like you nailed it. :)
-
So, back to the main topic: does SWD completely replace JTAG and everything else as a kind of all-in-one interface to the SAMD21? Is there even any point to using USB at all anymore? Can everything be done just through SWD?
-
SWD is the "jtag" interface for ARM Cortex processors.. Consider it as the atmel programmers for the atmega processors.. Only thing is that the SWD interface is common between all cortex processors, regardless of the vendor (STM, Atmel, Intel etc)
For the average john doe, that is used to Arduino (the IDE), USB is making things a lot easier, as you do not need to connect an external programmer to your device..
-
I have an AVR Dragon, which also uses a 10-pin j-tag connection, but I see from this: http://www.atmel.com/webdoc/atmelice/atmelice.using_ocd_physical_swd.html
that it's not going to be pin compatible with the 10-pin j-tag connection used for SAMD21. Instead, it needs to be:

The cabling that comes with the el cheapo SWD programmers doesn't seem right. It should be 10 pin (really 2x5 pin) to match the recommended. The Sparkfun SAMD21 board appears as though it is made to dock with such a cable.
Even the Segger doesn't appear to come with quite the right cable for an SAMD21.
It should be using one of these cables instead: https://www.adafruit.com/product/1675
Right?
-
SWD is using only two signals for programming data and clock. then vcc for ref, and gnd. that's all.
-
SWD is using only two signals for programming data and clock. then vcc for ref, and gnd. that's all.
-
yep exactly
-
A number of people have ask me about why I'm using 32bit processors when an 8bit will do. Well its simple, for small development projects of less that a few hundreds unit, the larger flash, larger ram, faster CPU, lower power devices, and cheaper raw devices, allow for faster code development... no time wasted on how to save flash or ram space.. seldom having to concern myself about CPU speed.
If I'm doing a project that requires very large volume, or special needs, I will again consider an 8 or 16bit processor, but again, these days often the 32bit devices are cheaper and more functional.
Below are a number of CPU boards with RFM69 or RFM95 Radios attach that can be used with MySensor.
In MySensor space, for my projects, my favorite 32bit processor board is:
RocketScream M0 ultra pro Ver2, RFM69 or RFM95 radio, battery connector/charger, USB port, EUI64 chip, large external flash, very low power, u.FL or SMA connector, great support...
http://www.rocketscream.com/blog/product/mini-ultra-pro-v2-with-radio/Other 32 Bit:
Adafruit Feather LoRa M0, NO EUI64, No External flash, battery connector
https://www.adafruit.com/product/3178 RFM95
https://www.adafruit.com/product/3176 RFM69Non 32 bit processors:
MoteinoMega LoRa, ATmega1284P, RFM69 or RFM95, EUI64 chip, large external flash, u.FL or SMA connector
https://lowpowerlab.com/shop/product/119Moteino LoRa, ATmega328P, RFM69 or RFM95, large external flash, NO EUI64 chip
https://lowpowerlab.com/shop/product/99Adafruit Feather LoRa, ATmega32U4 CPU, NO EUI64, No External flash, battery connector, RFM69 or RFM95
https://www.adafruit.com/product/3078@lafleur I have tried a few of those boards you listed. Moteino Mega and RocketScream Ultra Pro V2 are the two I would always use for >32kb sketches. Moteino Mega is still my favourite - I have three of these. One is working as MySensors rfm69 GW. Another one is deployed for LMAC LoraWAN stack with TTN GW.
RocketScream has more powerful processor and a battery charger. I used it for GPS tracking. Excellent board.
Adafruit Feather - I looked briefly, but I did not like it does not have the on-board eeprom (why? It is not cheap) and comes with an amplified version of rfm69 only - not good for a battery powered sensor.