Got the TD SENT notification - for the Hello World uplink message:
Humm. Interesting. I think “last heard” might match the time the TD SENT notification came through? It’s ~30mins later than when the uplink message was transmitted:
so somewhat good news, I was just checking count read and finally the message I sent the other day showed up:
on 3/4/23 6:56am ET in the windows GUI I saw this
$MM C=U*0B
$MM 1*11 1 msg waiting
$MM R=O*00
$MM AI=0,6a696d,21990234554467,1677857081*00
The message (msg_id =21990234554467)
6a696d = my message in hex (jim)
1677857081 epoch seconds
used this converter: https://www.epochconverter.com/
GMT: Friday, March 3, 2023 3:24:41 PM
Your time zone: Friday, March 3, 2023 10:24:41 AM GMT-05:00
in the web console I sent this on:
Message 49448752
Date Requested (EST)
2023-03-02 15:27:55
2 days ago
Date Sent to Ground Station (EST)
2023-03-02 15:28:06
2 days ago
Date Sent to Satellite (EST)
2023-03-02 15:31:42
2 days ago
Content
Plain Text
Hex
6a 69 6d (jim - the message I sent to the modem)
the date difference between when it queued on a Satellite and the timestamp it was received is a little under 19 hours, seems awfully long ? I have noticed messages I send from the modem arrive within a hour to a few hours, depending on when a satellite goes by. Starting to get a sense this is better designed to send messages vs receive on a timely basis.
Will be curious in your test results on how long it takes to receive.
Hi jim,
My downlink message still hasn’t been sent to the satellite. I’ll keep you updated.
I’m making good progress with the new GitHub Actions executable. I’ll keep you updated there too.
Best,
Paul
Hi jim,
If you have time, can you please download and test the new GUI?
https://github.com/sparkfun/SparkFun_Sw … 4331264386
For Windows, you need the SwarmM138GUI.win.zip. It’s double-zipped. You’ll need to unzip it twice to get to the .exe. It should behave exactly the same as the original version. The only significant difference is that the port Refresh button has been deleted. Clicking in the port list box automatically refreshes the ports.
Let me know if it works OK for you. Thanks!
Paul
Ah, sorry. You won’t be able to download those files… They’re protected. I’ve created a full release - which you will be able to download. Please give the win.zip a try - if you can spare the time. Thanks!
Hi Paul
got it, it says 2.0.1 in the title bar, I queued up another message to send to the modem and ran the notify enable, in the swarm web age it ‘Sent to Ground Station (EST)’ but not the satellite yet
Hi Jim,
Thanks for the feedback. I’m glad the new GUI is working for you - and that you’ve (finally) received a message!
No received message here yet… It was sent to satellite about 18 hours ago - but nothing received yet. I’ve just queued three new uplink messages and three downlink, just to see if that helps kick-start things…
I did see the modem restart unexpectedly yesterday evening (1677961534 = Sat Mar 04 2023 20:25:34). I hope this isn’t the reason why the downlink message hasn’t come through… Looking at the pass checker, there weren’t many satellites passing then, so I’m hoping the two are unrelated.
"
$M138 ERROR,configASSERT() called from file ./swarm/swarm.c, line 926 at 1677961534 seconds*18
[0m
Swarm MPCIE (MPCIE) Bootloader
Copyright (c) 2019-22 Swarm Technologies, Inc
Version: 2022-02-05T00:03:20,v2.0.0
…
Checking image MD5 in STM32 flash… valid
Identifying SPI flash… FOUND (Mfr 0x9d ISSI Type 0x6017)
Checking image MD5 in SPI flash… INVALID
Transferring control to application…
[0m$M138 BOOT,POWERON,Swarm M138 (M138)*44
$M138 BOOT,POWERON,Copyright (c) 2019-22 Swarm Technologies, Inc*2d
$M138 BOOT,POWERON,LPWR=n,WWDG=n,IWDG=Y,SFT=n,BOR=n,PIN=Y,OBL=n*43
$M138 BOOT,VERSION,2022-02-05T00:02:19,v2.0.0*28
$M138 BOOT,DEVICEID,DI=0x001d15*7d
$M138 BOOT,RUNNING*2a
$M138 DATETIME*56
$M138 POSITION*4e
"
More later,
Paul
Hi Paul
I queued up a message from the web page to send to the modem 3/4 at 17:02 ET, it says ‘sent to satellite’ at 17:49 but still nothing. Not sure why it seems to take so much longer to receive a message vs sending one.
Hi Jim,
Swarm is completely different to Iridium (SBD). Downlink messages are passed from the ground station to a single satellite that is known to be passing over your location. As a minimum, you need to wait for its orbit to carry it over your location. We did receive some information from Swarm about this. This was months ago though - when fewer satellites were in orbit. Things may have changed since then.
"
Downlink can be tricky and sometimes unpredictable based on location. We’ve just released an “auto-retry” that knows your last transmit location and optimizes which satellite to put the message on to optimize the link. That should start to reduce times, as well as more satellites. Since our sats are not meshed together, the message will get put on one sat that will need to pass over the device waiting in receive mode. After a certain amount of time, if the message is still on a satellite, we’ll push it onto another. It’s best used for updating minor configuration changes, not for turning off a water pump.
I’ve had messages come through anywhere between 15mins and 3 hours, but it’s possible based on some remote locations to need to wait 48 hours. They should be sent to a satellite within 90 minutes or less based on the router and which ground station it will relay over.
It can be more consistent if the user always sends the downlink at say, 12pm, then generally the same sat will get it every time and you would have a better baseline. It’s tough right now with our constellation not complete.
"
The three uplink messages I queued this morning have all been sent and received by Hive. Still no sign of downlink…
Best,
Paul
Hi Jim,
Still no received messages…
But my modem did reset spontaneously (again) about 30 mins ago:
"
$M138 ERROR,configASSERT() called from file ./swarm/swarm.c, line 926 at 1678039822 seconds*19
[0m
Swarm MPCIE (MPCIE) Bootloader
Copyright (c) 2019-22 Swarm Technologies, Inc
Version: 2022-02-05T00:03:20,v2.0.0
…
Checking image MD5 in STM32 flash… valid
Identifying SPI flash… FOUND (Mfr 0x9d ISSI Type 0x6017)
Checking image MD5 in SPI flash… INVALID
Transferring control to application…
[0m$M138 BOOT,POWERON,Swarm M138 (M138)*44
$M138 BOOT,POWERON,Copyright (c) 2019-22 Swarm Technologies, Inc*2d
$M138 BOOT,POWERON,LPWR=n,WWDG=n,IWDG=Y,SFT=n,BOR=n,PIN=Y,OBL=n*43
$M138 BOOT,VERSION,2022-02-05T00:02:19,v2.0.0*28
$M138 BOOT,DEVICEID,DI=0x001d15*7d
$M138 BOOT,RUNNING*2a
$M138 DATETIME*56
$M138 POSITION*4e
"
I’m starting to suspect that these restarts / reboots are actually caused by the downlink messages… I have no idea why that might be - I’ll have to ask Swarm.
Meanwhile, I’ve queued more uplink and downlink messages and have also restarted my modem with “RS deletedb” - to completely delete the message database, just in case there was anything corrupt in there…
The mystery continues…!
More tomorrow,
Paul
I am powering and communicating with the modem breakout over a USB-over-CAT-5 extender. There’s a chance that that may not be able to deliver enough current when the modem transmits. It is weird though, because the uplink messages are getting through OK. Just as a precaution, I’ve hooked up an additional power supply to the VIN and GND pins. I’m running it at 5.20V, to make it just higher than USB 5V, but still within spec… I’ll report back tomorrow if that makes any difference…
Best,
Paul
Sounds like what I have been seeing also where they queue up but seems take 24-48 hours.
Hi Jim,
Some good news. I’ve received two RD notifications:
$RD AI=0,RSSI=-105,SNR=-7,FDEV=-2253,446f776e6c696e6b205465737420312f33*6e
$RD AI=0,RSSI=-102,SNR=-4,FDEV=-2214,446f776e6c696e6b205465737420322f33*6a
$MM C=U*0B
$MM 2*12
$MM R=O*00
$MM AI=0,446f776e6c696e6b205465737420312f33,21990234652720,1678104712*0f
$MM R=O*00
$MM AI=0,446f776e6c696e6b205465737420322f33,21990234652722,1678104714*08
$MM R=O*00
$MM ERR,DBX_NOMORE*5c
These are messages I queued around 07:40 yesterday, around ~30 hours ago:
Downlink Test 1/3
Downlink Test 2/3
I was worried that the modem restarts coincided with the downlink, but it appears not. Those are the first messages I queued. There are another four in the ether somewhere…
I did ask Swarm about the restarts and they replied:
"
The configASSERT() error most commonly indicates a database reset that could be caused by a power supply brown-out while a database task was in progress such as during Rx/Tx with a satellite. It is possible that a database error previously occurred and that it hasn’t resolved itself.
The $RS deletedb3E command can be used to reinitialize and rebuild the device database. I would recommend issuing the $RS deletedb3E to the Modem since this command will clear up any database issues that may have been previously created. Please note that any queued messages will be deleted when the $RS deletedb*3E is used.
We highly recommend issuing the $PO*1f command before power is removed from the M138 Modem so that the Modem can safely wrap up any database tasks that may be in progress.
"
Also, for a complete restart:
"
-
Issue the $RS deletedb*3E command again
-
Wait for the modem to restart and power up again
-
Wait for the $M138 BOOT,RUNNING*2a unsolicited message
-
Issue the $PO*1f command and wait for the modem to power down
-
Perform a full power reset of the device
"
Best wishes,
Paul
Hi Jim,
I’ve now received a full set of Downlink messages:
$MM AI=0,446f776e6c696e6b205465737420312f33,21990234652720,1678104712*0f
Downlink Test 1/3
Date Requested (GMT) 2023-03-05T07:40:47Z
Date Sent to Ground Station (GMT) 2023-03-05T07:40:52Z
Date Sent to Satellite (GMT) 2023-03-05T11:12:20Z
Received Mon Mar 06 2023 12:11:52 GMT
Total time: 28.5 hours
$MM AI=0,446f776e6c696e6b205465737420322f33,21990234652722,1678104714*08
Downlink Test 2/3
Date Requested (GMT) 2023-03-05T07:41:07Z
Date Sent to Ground Station (GMT) 2023-03-05T07:41:12Z
Date Sent to Satellite (GMT) 2023-03-05T11:15:11Z
Received Mon Mar 06 2023 12:11:54
Total time: 28.5 hours
$MM AI=0,446f776e6c696e6b205465737420322f33,21990234652722,1678143054*08
Downlink Test 2/3
Duplicate delivery
Received Mon Mar 06 2023 22:50:54
Total time: 39.2 hours
$MM AI=0,446f776e6c696e6b205465737420332f33,21990234652724,1678143057*0c
Downlink Test 3/3
Date Requested (GMT) 2023-03-05T07:41:25Z
Date Sent to Ground Station (GMT) 2023-03-05T07:41:27Z
Date Sent to Satellite (GMT) 2023-03-05T11:15:12Z
Received Mon Mar 06 2023 22:50:57
Total time: 39.2 hours
$MM AI=0,446f776e6c696e6b207465737420342f36,21990234652762,1678143058*01
Downlink test 4/6
Date Requested (GMT) 2023-03-05T18:40:30Z
Date Sent to Ground Station (GMT) 2023-03-05T18:40:34Z
Date Sent to Satellite (GMT) 2023-03-05T19:51:18Z
Received Mon Mar 06 2023 22:50:58
Total time: 28.2 hours
$MM AI=0,446f776e6c696e6b207465737420352f36,21990234652764,1678143060*0d
Downlink test 5/6
Date Requested (GMT) 2023-03-05T18:40:44Z
Date Sent to Ground Station (GMT) 2023-03-05T18:41:04Z
Date Sent to Satellite (GMT) 2023-03-05T19:51:20Z
Received Mon Mar 06 2023 22:51:00
Total time: 28.2 hours
$MM AI=0,446f776e6c696e6b207465737420362f36,21990234652766,1678143061*0d
Downlink test 6/6
Date Requested (GMT) 2023-03-05T18:40:57Z
Date Sent to Ground Station (GMT) 2023-03-05T18:41:05Z
Date Sent to Satellite (GMT) 2023-03-05T19:51:21Z
Received Mon Mar 06 2023 22:51:01
Total time: 28.2 hours
That’s the full set. All present and correct.
I hope this helps,
Paul
Dear Paul,
Thank you for sharing this info . I am trying to setup my Sparkfun Swarm M138 evaluation kit and haven’t been able to transmit any message so far. After reading your posts , I think inability to transmit a message is due to the long latency of the module. Hence , I will try leaving the module and antenna outside for a day , hoping to solve the issue. I wanted to please ask if you could share a picture of your setup. I am using the VHF antenna with ground plane but for the GPS signal , in place of the molex passive antenna I am using a ublox puck antenna. I achieved better RSSI values using this configuration. Hope to hear from you soon and thank you !.
Hello @juliadest,
For these tests, I was using the Swarm antenna with a square aluminium ground plane (8" x 8" - the same size as the SparkFun PCB ground plane). It was mounted on a telescopic pole, and extended just above the roof line of my house. It was connected to the modem via 15m of RG58 cable.
I have attached some photos.
Working down from the top:
Swarm antenna
SMA (1/4") shakeproof washer
Aluminium ground plane
3D-printed adapter for the telescopic pole (black plastic)
BNC-SMA adapter
BNC-BNC adapter
The BNC cable runs through the top part of the pole and connects through the BNC-BNC and BNC-SMA adapters.
I use another BNC-SMA adapter to connect the BNC cable to the modem breakout.
I hope these help!
Best wishes,
Paul




