Odyssey x86j4105 ubuntu 20.4 no /dev/ttyACM0 and no seeeduino listed under lsusb

Please also try reseting the pins more than twice(like 4 times or 6 times) to make sure to go into the bootloader mode.

If this does not work, then SWD is needed to re-upload the bootloader into Arduino Core. Please also check this for reference.bootloader Cortex®-M0 in odyssey

Ok, so the multiple taps didn’t work either. I see the pads on the bottom and the small JST connector near. I looks like I need a programmer for it.

. I do not it on see the seeed site. If I could get the tool, it then looks like I need to run the software using Windows 10 + python2.7.15. I have 10 boards that I received all with this same issue. It doesn’t seem practical to have to solder 40 wires to the pads = 4 (pads) x 10 (odyssey boards). Do you know if there is a connector+tool available?

Also, I noticed there were LED+/- pinouts on just to the left of the reset pins in the picture above. Would it be worth connect a LED to these as another way to check if it is in bootloader mode. I noticed on th XIAO post the LED is supposed to light up once in bootloader mode. If connecting an LED makes sense, what are the specs for a LED I can put on it?

Hi @CamRodandChief

It seems that the bootloader is gone and need SWD to reupload the bootloader into the ODYSSEY.

You may use something like this pin header:

The bootloader can be found here: https://github.com/Seeed-Studio/ArduinoCore-samd/tree/master/bootloaders/zero

Many thanks. I will give that a try. I think I found that programmer on amazon. I like the pogopin idea. I will try that as well.

Also, I figured out the source of the problem. I went through the odysseys I had previously gotten to work and compared them to the ones I had the issue with. The difference was the board library from seeedstudio. V1.8.0 breaks the SAMD on the Odyssey. I put version 1.7.9 on a new Odyssey and it flashed no problem.

Hopefully what you sent fixes the Odysseys where the board library broke the SAMD. I will update this after I have tried.

Thanks!

Yes, we are looking into this right now. Sorry for the issue caused!

Same here!

I was working with ROS and rosserial. I am unable to make example codes work, there is some issue with the sync process. Then saw an update popup, update to 1.8.0 and… Ubuntu do not show /dev/ttyACMx

Any recommendation how to fix it?

Thanks!

The uploading process interrupted the bootloader of the Arduino Core. Do you have any other SAMD arduino boards around? You can use this SAMD board to flash the bootloader back in the ODYSSEY.

I don’t have any other SAMD board…

Which are the steps to upload the right bootloader? I have to unmount the heatsink? Is it safe? I will lose the warranty?

The GPIO pins can be used to burn the bootloader?

Need for a project and now I cannot continue.

Thanks!

Or if you have a Jlink around, any device that supports SWD flashing will do. The SWD pads are at the back right behind the power switch, you dont need to unmount heatsink for this.

SWD pads reference is here:

Hi @ansonhe97

Thanks. I was able to recover the boards following this guide you pointed outusing the JTAG programmer and the pogopin setup you showed above. This setup is slightly different than turning a XIAO or other SAMD brd into a programmer elsewhere mentioned, in that it requires the RST pin to be hooked up. On the one I bought on amazon, I just soldered the wires to the bottom of the breakout board that comes with it. For making the pogopin tool, I pulled the stock pins from some 0.1" header I had laying around and then shove the pogopins into it. I finished it off with some hot glue and heatshrink. When flashing, to avoid shorting the pogopins against the heatsink on the Odyssey, I just some painters tape temporarily in the way. Thanks again for your help.

2 Likes

Hi, @CamRodandChief, may You please show more pictures of the conection you made, I have the same problem and need to build the same pogo interface

thanks in advance

c

Hi C,

See below. Hope this helps.

I soldered some jumper wires directly to the pogo pings. I used some pin header (pins removed) to hold & space the pogo pins. With the pogo pins properly spaced, I then secured them with a little bit of hot glue and heat shrink.

For connecting the pins to the JTAG programmer, I just soldered wires to the bottom of the breakout board that came with it.

FYI – related fix How to unbrick a dead XIAO using ST-LINK and OpenOCD

I just got my Odyssey x86j4125 board and installed Ubuntu Server 20.04 on it. No GUI so I’m using arduino-cli. I also am not able to get the Arduino board visible. I don’t think I’m going to be getting a separate tool just to recover the board. I have tried the jumper between the RST and GND pins as instructed here: https://wiki.seeedstudio.com/ODYSSEY-X86J4105/#arduino-ide-doesnt-recognize-the-onboard-microcontroller . Are there any other possible solutions I could try?

Hi,
Have you ever burned a program to samd21 before, or are you just using it for the first time. Wouldn’t a quick reset samd21 twice in existence help? If that’ s the case, then maybe samd21 was not programmed with the firmware.

Hi,
Thank you for the response. I’m not 100 % sure what you mean but I’ll try to answer:
I have used Arduino Zero boards before. I have not burned/uploaded anything on the Odyssey board I just received.
By quick reset samd21 twice do you mean connecting the RST to GND twice in quick succession. I tried that multiple times but no change.
If that indeed is the case. What can be done?

Additional info: I have tried two BIOS versions (F and H) and I’ve flashed the newest (M?) EC version.

HI,
According to the information you provided, I think it is possible that samd21 does not have a bootloader, do you have a JLINK device, you can manually flash the bootloader we provided.

If you do not have a Jlink device, then you can use another Samd21 device such as xiao or zero for this purpose, please follow the link below


I don’t have a JLINK device.

Would any SAMD21 board work, i.e. Arduino Zero instead of Seeeduino Zero?

Hi,
It should be work, you can try