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

So with this Odyssey x86 board, have you seen the Serial port appeared once before? Please also try updating to the latest BIOS. May be try under Windows to see also if there is Serial port?

Hi, thanks I already checked that, the bios is the most current per the wiki SD-BS-CJ41G-M-101-E Date 01/07/2020. The device was there until I try to flash + reboot . I just had a different label that the last order of Odysseys I got. I havent had issue with Ubuntu 20.4 before. I have installed everything from the same install USB for OS and script for packages. Also, I have tried reinstalling Ubuntu with fresh install to see if that would reset things. No luck. Once /dev/tttyACM0 did not show up in the reinstalled Ubuntu.

So I tried everything again on a different odyssey board from the same order. Fresh odyssey board, Fresh install of Ubuntu 20.4, Most recent BIOS, Arduino 1.8.10, Using one of the example Arduino sketches and it still failed. This is the error I have gotten all of the Odyssey boards (first flash attempt) in my latest order. On the second flash attempt the Arduino can’t find the Seeeduino. On reboot, and likely due to reloading of UDEV during reboot, the seeeduino disappears. I am wondering if there is an issue with the SAMD chips on the boards I received.

This is the uploading process got interrupted and therefore ruined the bootloader(this was a problem mainly in seeeduino xiao, but we added delay for the uploading tool).

You can do the same procedure to reset the samd21 chip twice very quicky to enter bootloader mode:

similar to this https://wiki.seeedstudio.com/Seeeduino-XIAO/#reset

But you reset using the RST and GND near the 28pin header.

Hi. Thanks for your reply and help. I tried the reset process - double tap you mention in above for the XIAO or pins listed in the wiki - see green box in the pic below

. Nothing showed up.

Just to make sure I am doing things correctly - to burn the bootloader:

  1. Boot the ubuntu and log in
  2. open arduino
  3. apply 2 quick shorts in rapid succession to the pins highlighted above
  4. The SAMD should appear again
  5. Select “Burn Bootloader”

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?