BPI NB-Iot Linaro 96Boards Upgrade FW

Hi all,

Thanks for creating the BPI NB-Iot Linaro board! It is a great board, especially after loading the DFU mentioned in post BPI NB-Iot Linaro 96Boards Easy Development with Arduino

The board that I have still has the BC95G with this firmware BC95GJBR01A01. I would like to update the FW to a newer version (BC95GJBR01A04). I have the QDownload and the fwpkg, but I don’t know how to create a COM port directly to the the BC95G.

Is it possible to upgrade the FW of the BC95-G? If yes, how should I do it?


Hi, solu

You can check out this PDF,here is how to upgrade BC95 firmware.


1 Like

Hi @yelvlab,

Thank you for the very quick reply! From the Software point of view, it is clear to me what needs to be done.

My doubt is more on the Hardware side (How should I connect the PC to the board to do the FW update?) I have tried flashing over the virtual COM port over USB, but this didn’t work (the Neul software said it couldn’t reset the modem). I have also tried to connect a Usb-to-TTL (ch340) to the CON2 Uart (GND->GND TX->RX RX->TX and VCC->V3.3), but this also didn’t work (the Neul software couldn’t connect to the BC95-G).

For someone with some Hardware knowledge, this is probably a very easy question (but not for me).

Do you know how I should connect to the PC?



1 2 3

You can take a look at these pictures,it showed how to connect hardware


1 Like

Thanks Hao! The FW upgrade went well, so that’s great. Sorry for asking such an easy question (I didn’t know it was so easy). Thanks again!

Hi,solu It’s all right.We can discuss any issues here.

And , I hope that you can post a post on the upgrade process and the problems encountered.


Yes, sure I can describe the FW upgrade. Though, after reading your reply, there were no problems.

Electronics Setup:

  • PC Connected to USB-to-TTL board
  • GND on USB-to-TTL board connected to GND on BPI
  • TXD on USB-to-TTL board connected to P29 of BC95-G on BPI
  • RXD on USB-to-TTL board connected to P30 of BC95-G on BPI
  • battery (at 3.8V) connected to the battery connector on the BPI


  • had to select the right type of OC: BC95GJB-02-STD in our case
  • selected the COM port of the USB-to-TTL
  • selected FW file
  • selected SSB file
  • left all the checkboxes unchecked
  • clicked on “Query Version” to see the current FW version
  • clicked on “Read IMEI” to get the current IMEI
  • clicked in “Download 0”
  • after a minute of two the update was done and it wrote the IMEI on the module
  • Verified the FW with ATI and also the new commands (AT+QCHIPINFO=“ALL” etc)

And that was all!

Hi Solu,

thanks for your detailed instruction.

I have some questions about it

  1. Where can i get the FW and SSB file"?
  2. Instead of powering by battery i would instead like to power by an USB adapter. Is this o.k.?
  3. Did you solder the TTL-connection directly at the P29/P30 pins of the Quectel module?

Hi @Manfred, sorry for not seeing your message before. Regarding the files, I recommend you get into contact with Quectel. In some cases, having this direct contact can be of great importance if you want to meet your customer’s deadline. We tried powering the device with the USB adapter and it didn’t work for us. Unfortunately we did not have the time to investigate why this is so. Soldering directly to the pins is possible, but we just pressed two dupont wires directly to P29 and P30 and kept it still during the update, which is relatively quick (yes, you need more than 2 hands for this). For one module someone sneezed during the update and we had to start over again. The software is sufficiently smart to recover. We just had to manually enter the IMEI afterwards and program it again.

Hi solu, thank you for this information. i solderd fine wires. It’s not easy, but i got it.

Now im am happy to work with this great board !


By the way: After FW update you can transmit data by MQTT as described in the app note “BG96_MQTT_Application_Note_V1”. But you should prefer UDP/CoAP.