Go Down

Topic: Mini SAMD21G18 development board 15x15mm (Arduino compatible) (Read 4080 times) previous topic - next topic

avandalen

See the whole article here, and how to buy:
http://www.avdweb.nl/arduino/samd21/sam-15x15.html

See the video here:
http://www.youtube.com/watch?v=kdwHaNBbSx8

Introduction
The SAM 15x15 is an Arduino development board of just 15 x 15mm, with the same powerful controller as the Arduino Zero: the SAMD21G18. Despite the small size, it has more I/O pins than the Arduino Zero: 34 instead of 20. Due to the very small dimensions it will fit easily into all embedded electronic projects.


SAM 15x15 features
  • Controller: Atmel ATSAMD21G18, 32-bit, 48MHz, ARM Cortex-M0+
  • Digital I/O pins: 34
  • PWM outputs: 24 (PWM DAC)
  • Analog inputs (ADC): 14
  • ADC resolution: 12-bit
  • One 10-bit DAC
  • Flash memory: 256 kbyte
  • SRAM: 32 kbyte
  • EEPROM: 32 kbyte (emulated in Flash)
  • Preprogrammed customized bootloader
  • Programming and debugging through the integrated USB port

The SAM 15x15 board contains also:
  • One free LED
  • Combined RX/TX LED
  • Voltage regulator 3.3V for the USB powering
  • Power supply reverse polarity protection
  • High voltage protection for the USB


SAMD21G18 with pins
For hobbyists, the drawback of the SAMD21 is that it is only available in SMD. When blown up, it is pretty tough to replace it because no IC socket can be used. This can be solved with the SAM 15x15 board, which transforms the SAMD21G into a pin version


SAM 15x15 miniaturization
There are as much as possible functions crammed into the small area:


SavvaM

Hello,

I have a problem related to SAM 15x15 board that I hoped you could help me resolve.

I'm trying to configure pins d[14] to d[21] as INPUTs and read pulses that oscillate between 0V and 3.3V, but it doesn't work. I have the SAM15x15 package, as well as the version 1.6.8  of "Arduino SAMD Boards (32-bits ARM Cortex-M0+)" package installed on my laptop.

I attached the code as well as the output that I'm reading to this post. How can I solve this?
(interestingly, I didn't have this issue configuring pins d[2]-d[11] is INPUTs, or d[10]-d[13] and d[22]-d[25] as OUTPUTs)

Thank you kindly.

westfw

Code: [Select]
#include <Streaming.h>
int one[8];
void setup() {
  pinMode(d[21], INPUT);
  pinMode(d[20], INPUT);
  pinMode(d[19], INPUT);
  pinMode(d[18], INPUT);
  pinMode(d[17], INPUT);
  pinMode(d[16], INPUT);
  pinMode(d[15], INPUT);
  pinMode(d[14], INPUT);
}

void loop() {
  for (int i = 21; i > 13; i--) {
    SerialUSB.print(analogRead(d[i]));
    SerialUSB.print(" ");
  }
  SerialUSB.println();
}

Eww.  I don't care for that d[] syntax, but it seems to be permitted (d[] is defined in variants.h and maps 15x15 pin numbers to "arduino zero" pin numbers)...
Quote
SerialUSB.print(analogRead(d));
However, analogRead() is not supported on all of the pins.  (Only on d[1] - d[11] and d[32], d[33]
You may be able to use digitalRead(), depending on what your waveform looks like and what you want to do.

avandalen

Code: [Select]
#include <Streaming.h>
int one[8];
void setup() {
  pinMode(d[21], INPUT);
  pinMode(d[20], INPUT);
  pinMode(d[19], INPUT);
  pinMode(d[18], INPUT);
  pinMode(d[17], INPUT);
  pinMode(d[16], INPUT);
  pinMode(d[15], INPUT);
  pinMode(d[14], INPUT);
}

void loop() {
  for (int i = 21; i > 13; i--) {
    SerialUSB.print(analogRead(d[i]));
    SerialUSB.print(" ");
  }
  SerialUSB.println();
}

Eww.  I don't care for that d[] syntax, but it seems to be permitted (d[] is defined in variants.h and maps 15x15 pin numbers to "arduino zero" pin numbers)...
However, analogRead() is not supported on all of the pins.  (Only on d[1] - d[11] and d[32], d[33]
You may be able to use digitalRead(), depending on what your waveform looks like and what you want to do.

d[19] is the same as 13 for the Arduino Zero and has no analog input, see here:

jogco

Hi!

I just got the two SAM15x15 "little gems" and "extras" I ordered. Very nice indeed. And fast delivery to North of Sweden. :)

Looking at the schematic of on your site, I see a LD2980CM33 is specified as U2.
Some googling for this LDO gave me a 2.5V to 16V range for voltage input and 50 mA output current, is this correct?

I was thinking of driving it from a LiPo cell through the USB connector, would that work?

Anyway, if you think my questions/ideas are strange it might be because I'm relatively new to the microcontroller world.

Best wishes for the holidays and keep up the good work!

avandalen

Hi!

I just got the two SAM15x15 "little gems" and "extras" I ordered. Very nice indeed. And fast delivery to North of Sweden. :)

Looking at the schematic of on your site, I see a LD2980CM33 is specified as U2.
Some googling for this LDO gave me a 2.5V to 16V range for voltage input and 50 mA output current, is this correct?

I was thinking of driving it from a LiPo cell through the USB connector, would that work?

Anyway, if you think my questions/ideas are strange it might be because I'm relatively new to the microcontroller world.

Best wishes for the holidays and keep up the good work!
>>>Looking at the schematic of on your site, I see a LD2980CM33 is specified as U2.
Some googling for this LDO gave me a 2.5V to 16V range for voltage input and 50 mA output current, is this correct?
Yes.
>> I was thinking of driving it from a LiPo cell through the USB connector, would that work?
Yes. In this case you can also short the diode D3 because of the voltage drop.

tfcroft4

I would like to try using the 15x15 code adaptions on the Adafruit Feather M0 to be able to access some of the alternatate pin functions within an Arduino project.

In particular using PA03 VREF, which is not an Arduino pin, as a GPIO and ideally as an External interupt. As far as I can tell Arduino by defualt uses the internal VREF so this pin could be used for an alternate function. e.g. digitalread (d[1]);

Is the best approach to edit the files listed here http://www.avdweb.nl/arduino/samd21/samd21-variant.html

However I also see your post here: https://forum.arduino.cc/index.php?topic=434775.0 - but no follow up - is there a resolution do you think?

Thanks
Ted

avandalen

I would like to try using the 15x15 code adaptions on the Adafruit Feather M0 to be able to access some of the alternatate pin functions within an Arduino project.

In particular using PA03 VREF, which is not an Arduino pin, as a GPIO and ideally as an External interupt. As far as I can tell Arduino by defualt uses the internal VREF so this pin could be used for an alternate function. e.g. digitalread (d[1]);

Is the best approach to edit the files listed here http://www.avdweb.nl/arduino/samd21/samd21-variant.html

However I also see your post here: https://forum.arduino.cc/index.php?topic=434775.0 - but no follow up - is there a resolution do you think?

Thanks
Ted
You can find things here:
http://www.avdweb.nl/arduino/samd21/samd21-variant.html
analogRead and digitalRead doesn't work on AREF
https://forum.arduino.cc/index.php?topic=434775.0

AREF has become another number (d4) and is not number compatible with the Arduino Zero anymore.

Meeuw

A week ago I received my Sam15x15 board and today I finally got some time to start with my project.

I installed the board in the 'Board Manager', selected it and hooked up the board to the USB port of my laptop.


Got 2 fast blinking lights but no port in IDE (grayed out)....

Moved to Device Manager (win10), also no port....


As a test I hooked up a Nano, everything OK, another UNO also OK and as an extra test also my modded ┬Áduino and this one also came up without any problem.


What could be the issue? Tried all USB ports, did the reset 'double tap' (lights go Off), even reinstalled everything and tested again but to no avail...

Meeuw

After a long night and some extra USB cables I think I've encountered the issue but it took a microscope to determine the problem.

Seems to me that a copper trace on the PCB was (now surely is) loose (Data+ pinhole) so this board will never work.

avandalen

After a long night and some extra USB cables I think I've encountered the issue but it took a microscope to determine the problem.

Seems to me that a copper trace on the PCB was (now surely is) loose (Data+ pinhole) so this board will never work.
To test the SAM15x15 boards, a test-sketch is uploaded by the USB and than all the pins are tested. I suppose that the solder connection to the data + pin was not stable since the test was okey but the board failed after shipping. If you want I can send a new SAM15x15 board.

Go Up