# Help me! Where can I find the bx3105 spi communication guide?

**URL:** <https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729>\
**Category:** IoT Modules\
**Created:** [March 18, 2019, 12:12am UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729 "2019-03-18T00:12:29Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![parkss093642](https://avatars.discourse-cdn.com/v4/letter/p/c77e96/32.png) [@parkss093642](https://forum.sierrawireless.com/u/parkss093642)\
**Post date:** [March 18, 2019, 12:12am UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/1 "2019-03-18T00:12:29Z")

</div>

I would like to control the mcu and bx3105 modules via spi communication, but the bx310x manual I found did not give clear instructions.  
Where can I check the communication protocols and clocks needed for spi communication?

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [March 18, 2019, 1:17am UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/2 "2019-03-18T01:17:56Z")

</div>

see if this helps you:

> [@BX100 AT Command for SPI Error](https://forum.sierrawireless.com/t/bx100-at-command-for-spi-error/15538/2):
>
> @dargaj, I am assuming you are talking about the BX3100? I suspect that your firmware is not 2.5+ ati BX310x OK at+cmgr BX310x.2.5.0-2 OK at OK at+srspi? +SRSPI: 0,0 OK at+srspi=1,1 OK Couple of other things as they are not well documented. SPI Frame: command 2 bytes payload\_length 2 bytes more 1 byte reserved 3 bytes payload 256 bytes \<command\> 0x0001: AT command 0x0002: AT response 0x0003: data (data mode) 0xffff: dummy data \<payload\_length\>: Length of the significan…

---

<div class="post-metadata">

**Author:** ![parkss093642](https://avatars.discourse-cdn.com/v4/letter/p/c77e96/32.png) [@parkss093642](https://forum.sierrawireless.com/u/parkss093642)\
**Post date:** [March 18, 2019, 6:49am UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/3 "2019-03-18T06:49:58Z")

</div>

Thank you very much.!!!  
But I have updated the firmware version. And I confirmed that the following text is printed.

Sierra Wireless Copyright 2018  
BX310x.2.5.0-2  
READY

If the above statement is output, dummy-slave-msg is not output, but after that, dummy-slave-msg is output again.

So I think there is a problem with the data transmission, but I can not solve it.

I created the data format below and sent it to for.  
And stored in an array to check the return value of all the data.

typedef struct format {  
byte command [CMD\_MAX]; // command 2bytes  
byte payloadLength [LENGTH\_MAX]; // length 2 bytes  
byte more; // more  
byte reserved [RESERVED\_MAX]; // reserved  
byte payload [PAYLOAD\_MAX]; // payload 256bytes  
} spiFormalt;

spiFormalt protocol = {  
{0x00, 0x01}, // command  
{0x00, 0x03}, // payload length  
0x00, // more  
{0x00, 0x00, 0x00}, // reserved  
{0x41, 0x54, 0x0d,} // payload  
};

for (int i = 0; i \<CMD\_MAX; i ++) {  
a [i] = SPI.transfer (protocol.command [i]);  
delayMicroseconds (3);  
}  
…  
As a result of checking the output, it is filled with DUMMY-SLAVE-MSG from the eighth element to the 22nd element, and the rest is output as all zeros.  
I can not go on in this part anymore … Is there a good way to solve this?

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [March 18, 2019, 7:07am UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/4 "2019-03-18T07:07:37Z")

</div>

What is the value of CMD\_MAX, LENGTH\_MAX,PAYLOAD\_MAX?  
From your code, you seems only send the command…

did you pull the GPIO17 to high?  
did you connect SPI chip-select of BX module?  
What do mean by DUMMY-SLAVE-MSG from the eighth element to the 22nd element?  
Is there is any output from BX module?

---

<div class="post-metadata">

**Author:** ![Engineer](https://avatars.discourse-cdn.com/v4/letter/e/8baadc/32.png) [@Engineer](https://forum.sierrawireless.com/u/Engineer)\
**Post date:** [August 6, 2019, 2:06pm UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/5 "2019-08-06T14:06:11Z")

</div>

Hello.  
I have a problem getting an answer on spi.  
All my requests are answered “DUMMY-SLAVE-MSG”.  
How to send a command and receive a response in accordance with the Protocol ?  
If possible, demonstrate with an example.  
Thank you in advance for your help.

---

<div class="post-metadata">

**Author:** ![jeffrey.harris](https://avatars.discourse-cdn.com/v4/letter/j/bcef8e/32.png) [@jeffrey.harris](https://forum.sierrawireless.com/u/jeffrey.harris)\
**Post date:** [October 1, 2019, 1:19pm UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/6 "2019-10-01T13:19:28Z")

</div>

Hello Engineer and jyijyi  
Has this problem a solution as we have exactly the same problem here.  
We get the Sierra wireless reply correctly but following that we get a DUMMY-SLAVE-MSG from the BX3105 but it does not start at the beginning of the frame but some time after e.g. 15 bytes of 0 followed by the start of the frame.  
Why do we not get the frame starting when the CS is selected and the clock starts?  
Thank you

---

<div class="post-metadata">

**Author:** ![maizezoidberg](https://avatars.discourse-cdn.com/v4/letter/m/c0e974/32.png) [@maizezoidberg](https://forum.sierrawireless.com/u/maizezoidberg)\
**Post date:** [January 20, 2020, 5:29pm UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/7 "2020-01-20T17:29:57Z")

</div>

We have some problem too. Any commands have DUMMY-SLAVE-MSG answer. Did anybody solve it?

---

<div class="post-metadata">

**Author:** ![alberthuang](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@alberthuang](https://forum.sierrawireless.com/u/alberthuang)\
**Post date:** [January 31, 2020, 3:12am UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/8 "2020-01-31T03:12:17Z")

</div>

I referenced this document ,but just display DUMMY-SLAVE-MSG too. How can I get correct status with AT command on SPI mode?

[SPI](https://forum.sierrawireless.com/uploads/short-url/i2Labnh7zQ4z1iFZUKCQCyl4JNS.pdf)

---

<div class="post-metadata">

**Author:** ![alberthuang](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@alberthuang](https://forum.sierrawireless.com/u/alberthuang)\
**Post date:** [February 6, 2020, 6:30am UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/9 "2020-02-06T06:30:10Z")

</div>

Hi maizezoidberg,  
I successful got correct response. If you still have same status, email to me.  
[ahwow120509@gmail.com](mailto:ahwow120509@gmail.com)

---

<div class="post-metadata">

**Author:** ![paolo.ferretti](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/paolo.ferretti/32/5186_2.png) [@paolo.ferretti](https://forum.sierrawireless.com/u/paolo.ferretti)\
**Post date:** [May 5, 2020, 12:27pm UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/11 "2020-05-05T12:27:22Z")

</div>

Hello,  
I approach to use the BX3105 module with SPI communication.  
I was wondering if there is a detailed document were protocol commands and answers are described.  
If I have not misunderstood the AT commands are transposed on SPI. Is there a specification on this?  
Do you have any suggestions for me to avoid mistakes and waste of time?  
Is there some code sample?  
Thanks in advance

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [May 5, 2020, 2:07pm UTC](https://forum.sierrawireless.com/t/help-me-where-can-i-find-the-bx3105-spi-communication-guide/15729/12 "2020-05-05T14:07:02Z")

</div>

Here has the protocol:

> [@BX100 AT Command for SPI Error](https://forum.sierrawireless.com/t/bx100-at-command-for-spi-error/15538/2):
>
> @dargaj, I am assuming you are talking about the BX3100? I suspect that your firmware is not 2.5+ ati BX310x OK at+cmgr BX310x.2.5.0-2 OK at OK at+srspi? +SRSPI: 0,0 OK at+srspi=1,1 OK Couple of other things as they are not well documented. SPI Frame: command 2 bytes payload\_length 2 bytes more 1 byte reserved 3 bytes payload 256 bytes \<command\> 0x0001: AT command 0x0002: AT response 0x0003: data (data mode) 0xffff: dummy data \<payload\_length\>: Length of the significan…

I have tested both FW 2.6.3 and 2.7.2, it is working fine.
