Programming an XBee without a dev board??

Hello,

I have developed a PCB with an XBee3 MMT chip soldered directly onto the PCB. Is there a way to program the XBee3 MMT chip without a development board? I didn’t think about how I would program the chip until I have finished the PCB design.

Is there an easy way to upload firmware/run software on an xbee device without taking it off the PCB? Or do I have to make the XBee3 MMT on PCB removeable rather than permanently soldered?

Thank you very much

slight update… the coordinator module will not be on a custom PCB… only the remote modules are on a custom PCB. so the coordinator would have a direct line to PC… yet the remote modules prerassembled/soldered on PCB are what I am interested in making sure they are programmable easily (rather than shooting myself in the foot here and making them unreachable).

1 Like

Did you take into account for the required pins for programming listed on page 31 of the manual https://www.digi.com/resources/documentation/digidocs/pdfs/90001543.pdf

1 Like

I did not. thank for the reference.

from what you sent:
“The only required pin connections for two-way communication are VCC, GND, DOUT and DIN. To
support serial firmware updates and recovery, you must connect VCC, GND, DOUT, DIN, RTS(line above RTS), and DTR (line above DTR).”

ok so, first off when they say you connect xyz pin… connect to what?

secondly, there are required connections for serial line communication correct? so since my network is a wireless network of course im not wiring the modules together in the wireless network.

So, back to the first question: the firmware update over-the-air capability: is that only capable of updating a module’s firmware VERSION? or are we able to upload a firmware micropython files onto a remote XB over-the-air?

What they are saying is to connect these pins to a header that will allow you to connect it to a PC with and bypass your processor.

Yes, you can upload new Micro Python files over the air. The directions for that are in the product manual.

ok great. thank you for your help.

so, more on that:

say I setup a header for those 6 connections (Vcc, GND, Dout, Din, RTS, DTR). just wondering what cable interface would then be required? it would be a 6 wire line to usb to plug into the pc’s usb port?

slight update… the coordinator module will not be on a custom PCB… only the remote modules are on a custom PCB. so the coordinator would have a direct line to PC… yet the remote modules prerassembled/soldered on PCB are what I am interested in making sure they are programmable easily (rather than shooting myself in the foot here and making them unreachable).

a 6 wire USB would work for Serial updates. You can also use Other the air updates as well if it is to an XBee 3.

https://www.digi.com/resources/documentation/digidocs/90001539/#containers/cont_ota_upgrade.htm%3FTocPath%3DOTA%2520firmware%252Ffile%2520system%2520upgrades|_____0

https://www.digi.com/resources/documentation/digidocs/90001539/#containers/cont_ota_file_system.htm%3FTocPath%3DOTA%2520file%2520system%2520upgrades|_____0

ok, so for a remote XBee3 MMT module… no communication pin connections are necessary for over-the-air updates/configurations? of course, if i add the connections then it allows me more manual access to the remote module… but fundamentally, i should be able to update a remote module’s firmware and/or configuration over-the-air? (as long as they are on the same network… so if they are not on the same network then unless i add an wireable interface to the remote module - it would be a useless chip yeah?

That is correct. You can update the settings, firmware version, firmware function set or Micro Python code over the air as long as both nodes are on the same network.

and in order to be on the same network, at the minimum, would be having the modules in the network to have identical PAN id’s. correct. so if i did this, ordered the soldered on XB3 MMT on PCB… it would come with a blank config… so it would be undiscoverable and unprogrammable… I would need to give it the same PAN id as the coordinator module in order for it to be reachable / FOTA capable? so no matter what… at the onset of delivery of new devices, I need to access the remote module and configure it with XCTU prior to succeeding in an FOTA event?

No, this is not the case. It comes configured as a router waiting for a Zigbee coordinator. Simply set CE to 1 on your Master radio and the router will join the network. No setting of the PAN ID required.

wowzers. thank you kindly.

so, quick conclusion - i dont need to facilitate any headers / connections on my remote module PCB design… should be good to go with FOTA capability.

that is correct

thank you. you are awesome.