Electrical – Regarding RN4020 and MSP430 interface

bluetooth low energylaunchpadmicrochipmsp430

I have recently started working (no previous experience of working with BLE) on BLE2 click module (RN4020), I could successfully connect TTL-USB cable to my laptop and could communicate with the module via the MLDP mobile application.

However, now I would like to use it in UART mode and as per the link: http://microchip.wikidot.com/ble:rn4020-operating-modes , I should be working in MLDP mode, i.e. CMD/MLDP pin should be connected to Vcc, is my understanding correct?

Also, I would like to clarify on this point which is mentioned on the same webpage: "To enter Command mode, set the WAKE_SW pin high." Is it WAKE_SW pin that should be held high or CMD/MLDP pin should be held low?

Also, can anybody provide information regarding the set-up required to interface the module with MSP430 mcu, can i directly connect the module to MSP430 after performing the following steps using TTL-USB interface:

+                // echo on
SF,2             // perform complete factory reset
SS,C0000000     // enable support of the Device Information and Battery services
SR,00000000     // set the RN4020 module as a peripheral
R,1             // reboot to apply settings

Best Answer

  • MCU Interface with RN4020

You need to connect your(MSP430) UART RX and TX to the TX and RX of the BLE RN4020. Make sure the order is as I mentioned above.

Let me explain some further steps, Refer to page 88 of RN4020 User Guide.

It shows the correct way to define a private service after the first few initializations that you mentioned. You will need these services to communicate with the RN4020.

Once the service is set up and device is discoverable you will be able to see data that is sent via any BLE trasmitter to your RN4020 module on the RX line of the MCU in your case MSP430.

Also as far as I could read from the documentation, CMD pulled low will allow it do me in MLDP/Data Service mode.

Follow the link to see the initializations I did with my RN4020 module to send data from an Android phone to a private service that I created: https://github.com/sekale/ECE477/blob/master/ECE477_Team08/ECE477_Team08/src/BLE.h