Close

First prototypes assembled + tests

A project log for JACK

just another cortex kit - Cortex M0 development kit with an Atmel SAM D21, a USB device port, an LDO, some passives and breakout headers

michele-perlaMichele Perla 08/11/2015 at 09:410 Comments

Hey there,

As promised, I came back from holidays last Sunday afternoon, and as soon as I got home I took my soldering iron and started assembling one proto. I had some issues cause I only had 1.2mm solder that slowed me down a lot (it took me 4 hours to get it done), but when I connected it to the Atmel ICE it was promptly recognized. Good.

Programming the bootloader worked too, but then JACK won't enumerate.

Monday morning I had to work, so I took my first proto with me along with the Atmel ICE debugger; I fiddled with the Arduino Zero bootloader first, to switch the bootloader pin to anything diffferent than PA15 which is used on my board as input for the 12.288 MHz crystal, I modded the makefile to point to correct directories, and TADA, I now have a JACK bootloader; I added a JACK board definition in the boards.txt file of the SAMD Arduino devices, opened Arduino, flashed the bootloader and and the device DID enumerate, as an "Arduino Zero bootloader" device (just like what you'd except when connecting a Zero's native USB port, not the EDBG one). I could also flash a Blink sketch, but it won't start automatically and randomly if I touched some pins it would eventually start. I thought that this issue surely is connected to the clock not being the same as the Zero.

Monday afternoon I went home early to start assembly of three others boards (the judges' boards); before that I bought a 0.5mm solder that helped me A LOT during production, it took me in fact 4 hours to make THREE boards (that's 300% faster than Sunday). I had some issues on two boards for the USB transient suppressor chip, on one I messed up 2 of 6 pins of that IC :/ In fact, these boards are still recognized by the Atmel ICE, but one of them won't show up at all as a USB device, the other would report "Unknown device". I'll try to reflow these chips using an hot air gun, if that does not work, I'll take off some parts and solder them on two spare boards

Photos here:

So far so good.

Almost there...

A pair of finished boards, one connected to the Atmel ICE.

You can also find a video of the device in action (connection to Atmel ICE, bootloader flashing, enumeration as Arduino Zero, programming of Blink sketch, LED blinking):

To solve the issue that I had yesterday I indeed had to change the Clock Generators; the Zero takes the main oscillator from an external 32.768 KHz crystal while I'm using a 12.288 MHz crystal; these crystals have separate pins. I then reconfigured the Zero startup.c file to use XOSC rather than XOSC32K as main source and you can see in the video that as soon as I program the device with the Blink sketch, it loads it.

I still have a software issue, that is when I flash JACK with a sketch it won't enumerate anymore as an "Arduino Zero bootloader" COM port so I cannot program it again. I also enabled an option that if you tap twice the RESET button the bootloader is forced to load again, but it won't show up either.

See you soon for other updates.

Cheers,

Mick

Discussions