Metro M4 Express custom design

Please tell us which board you are using.
For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Post Reply
User avatar
who_took_my_nick
 
Posts: 3
Joined: Tue May 14, 2024 11:11 am

Metro M4 Express custom design

Post by who_took_my_nick »

Hello,

I wanted to design my own custom board based on ATSAMD51. I used Metro M4 Express as a reference for design.
https://learn.adafruit.com/adafruit-met ... 1/overview

The first step was to upload the bootloader which I did by using the Segger mini EDU and following these steps:https://learn.adafruit.com/how-to-progr ... mel-studio

Everything went fine. My board restarted and showed up as a Metro M4 Express. Arduino IDE can see it on the COM port. Next, I tried to upload a Blink sketch. The upload went fine, and the board restarted, but nothing happened. The LED didn't start blinking, and my board disappeared from the COM list. I pressed the reset button twice, and there it was. After another reset, it disappears and the LED is dead. So, the board is there, I can successfully upload a sketch according to the Arduino IDE, but the board does not execute it.

Next step, twice reset, the board is there and shows as a drive as before. I opened the INFO_UF2 TXT file and it says this:
UF2 Bootloader v3.16.0 SFHWRO
Model: Metro M4 Express
Board-ID: SAMD51J19A-Metro-v0
I need to upload the UF2 bootloader, which I did by using the latest from here:
https://circuitpython.org/board/metro_m4_express/
and paste it on the drive metrom4boot. The board restarted and in the INFO_UF2 TXT, I got the same as it was. I tried to paste the circuitPython file and the board didn't mount as a CIRCUITPY.

So what I have:
I have a board on which I can upload the latest BIN file for Metro M4 Express. After that, No matter what I do, it looks ok, but nothing is ok. Arduino IDE says I uploaded the sketch, but the board isn't executing it. I can mount it as a metrom4boot, and I can paste UF2 on it, it restarts, but nothing happens.

This is the schematic:
Schematic_BLUEBoard-ATSAMD51J19_2024-05-14.png
Schematic_BLUEBoard-ATSAMD51J19_2024-05-14.png (140.23 KiB) Viewed 49 times


What I did do wrong?
If you need additional info, please let me know.

User avatar
who_took_my_nick
 
Posts: 3
Joined: Tue May 14, 2024 11:11 am

Re: Metro M4 Express custom design

Post by who_took_my_nick »

After a few tests, I have to correct myself.

After I write a bootloader BIN file with Atmel, I can change the bootloader version with the UF2 update bootloader file (say, from 3.16 to 3.15 and back). It can be done by pasting the UF2 file on the drive.

The Arduino sketch does not work. It says it is uploaded, it restarts the board, and the board disappears from COM port list. After I press reset twice, it shows up.
The circuitPython UF2 restarts the board, but it stays metrom4boot and not CIRCUITPY.

User avatar
dThirteen
 
Posts: 44
Joined: Tue Aug 27, 2019 6:20 pm

Re: Metro M4 Express custom design

Post by dThirteen »

Cool project!

Did you actually use a SAMD51J19A? I seem to recall that different SAMD51 parts had variations in features. I'm just wondering if the mappings and so on are the same as Adafruit's BIN file?

Are you only testing Blink with the onboard LED or have you tested other GPIO ports, too?

User avatar
who_took_my_nick
 
Posts: 3
Joined: Tue May 14, 2024 11:11 am

Re: Metro M4 Express custom design

Post by who_took_my_nick »

Hi,

This is the MCU I used:
https://www.lcsc.com/product-detail/Mic ... 19214.html

I tried Blink sketch both as is, and some random pins. The problem is, that obviously nothing is uploaded at all.

Post Reply
Please be positive and constructive with your questions and comments.

Return to “Metro, Metro Express, and Grand Central Boards”