8Bit or 32Bit processors
-
-
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. -
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:
I have created the sensebender micro mk2, which still needs verification.. (For my part, activity have been low due to other work related projects..)
I saw it on the github. When are you planning to release it proving all goes well?
-
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
-
I suppose the SAMD20 is going to be a bit simpler to make into a node than the SAMD21 because with the SAMD20 there's no surface mount USB connector to contend with? Are there any other reasons (maybe power consumption? Or, maybe ease of use?) for preferring one type over the other?
Also, are most folks here using the TQFP32 version (aka SAMD20E), or instead the versions with more pins (48 or 64)? I was surprised to see that the Sparkfun board's mcu has so many chip pins on its ARM MCU (it appears to be using the TQFP48, aka SAMD21G).
-
I used the 64pin variant on the Sensebender GateWay, but as the sensebender micro mk2, is a "minimalistic" node, I chose to go for a 32pin.
You do not need to add the USB to a SAMD21, it can run fine without it (being like a SAMD20 then). The reason why I went for the SAMD20, is because it is a bit cheaper, and I didn't need the USB that is in the D21 chip.
-
@tbowmo said in 8Bit or 32Bit processors:
I have created the sensebender micro mk2, which still needs verification.. (For my part, activity have been low due to other work related projects..)
I saw it on the github. When are you planning to release it proving all goes well?
-
Haven't come around to verify the micro mk2 yet.. (spring / summer, so have lot's of other things on my agenda :))
@tbowmo said in 8Bit or 32Bit processors:
Haven't come around to verify the micro mk2 yet.. (spring / summer, so have lot's of other things on my agenda :))
Maybe try something even simpler? That ways there's even less to assemble and verify.
It's nice to have a solid working "base case" as a foundation and then build up from there.
I think for me the simplest case is: just 1 LED and one SPI radio--and the SPI radio is "optional". :) It would have a 4 header pin connector for the SWD. Maybe that's it, plus the barest minimum of passives needed to make it work.
-
So, I ordered one of these:
https://www.amazon.com/gp/product/B01EE4WAC8/ref=ox_sc_act_title_2?ie=UTF8&psc=1&smid=A30Y6WWS77DGEW
and I'll manual wire it to the sparkfun SAMD21G to get some experience with how ST-LINK works. -
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?
@NeverDie said in 8Bit or 32Bit processors:
It should be using one of these cables instead: https://www.adafruit.com/product/1675
Argh. I hadn't really noticed before, but the pitch (1.72mm) on the SWD connector specification is much smaller than what I'm used to. In addition, the Sparkfun board arrived, and it came with no pins installed (actually no pins at all) for the SWD. It would require a special order for 1.72mm pins from I'm not sure where.