Darn Arduinos with their ming-boggling constraints....

I really like the SAMD21, an ARM Cortex M0+ found on the Arduino Zero and many clones, e.g. Sparkfun DEV-13664 and Sparkfun DEV-13672. At work, we use the latter as prototype board for embedded systems based on the SAMD21. Chip45 sells various SAMD21 boards with a DIL32 form factor.

One great feature are the six SERCOM modules, that can be used as USART, I²C master and slave, and SPI master and slave, in any combination. DMA is a weak point, it generally works for sending out data, but receiving unknown amounts of data is simply not possible via DMA. This limits USART receive and I²C receive. Also, I²C read-after-write can not be controlled by DMA.

At chip45, I found the SAML21, which I really want to test out. You loose one GPIO pin compared to the SAMD21, and one SERCOM is restricted for better power saving, but get a lot more: A tiny block of configurable logic (think of it as a really tiny embedded CPLD), a second DAC, three OP-Amps, a random number generator, AES accelerator, switchable power domains, and a switching mode power supply in addition to the LDO also found in the SAMD21. The switching mode power supply is also the reason for the lost pin, it is needed for the supply.

A generic difference is that the ARM processors use 3.3V (or less) as I/O voltage, compared with up to 5 V for the AVRs found on the old Arduinos. Also, the ARM I/O pins can't sink/source as much current as the AVR I/O pins (ARM 2..10 mA vs. AVR 20 mA). Both is rarely a problem when driving LEDs or transistors, or when reading switch contacts. Many digital peripherals can also work at 3.3V instead of 5V. For the few remaining ones, you may need a level converter.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

In reply to Re^3: 6502 Perl by afoken
in thread 6502 Perl by rje

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.