This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Can the MDBT42Q BT/RF module be used as a single master to multi slave

Hi There,

I am curious to find out if the MDBT42Q module(s) can be used as a single master to multi slave setup? Essentially I want to have one module setup as a master (with 7 channels) and up to 3 modules set up as slaves and out puting on specific GPIO ports based on the channel assignment.

I noticed that the GPIO ports can only be configured as output ports on the MDBT42Q. Do I need to use a different module (different model) so I can configure some of the GPIO as inputs (master) and then map those to the GPIO out puts (slave) of the MDBT42Q?

Please let me know if this is the correct area for raising this type of query

Regards

George

  • Hi and thanks to the Support engineer that has linked the related tickets.

    Just circling back on what I am hoping to achieve in that can this device be configured to Mirror an input on a GPIO to the output of a GPIO on another module?

    I suspect I may need to use a different but compatible module as the master that the GPIO can be configured as an input.

    Any advise on how to mirror gpio input / output would be greatly appreciated

    Cheers

    George

  • Hi, the MDBT42Q is using the nRF52832. On the nRF52832 all GPIOs can be configured as either output or input.

    Note that GPIO stands for General Purpose Input/Output:

    https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/gpio.html?cp=4_2_0_19#concept_zyt_tcb_lr

    What type of protocol do you want to use? Usually the modules would talk together using SPI, TWI or UART. The SPI and TWI peripherlas can be configured to be either master or slave, and the UART peripheral is full-duplex.

  • Hi Stian,

    Thank-you for your response. As you can probably tell I am very new to this but I am keen to see if my idea will work.

    I will have a read through the documentation but essentially I want to use one module (Master) built on top of an Arduino shield (with voltages dropped to 3.3v) and connected to output pins on the Arduino.

    When a pin changes state i want that to be reflected across up to 3 modules (Slaves) which will be connected to motor driver boards.

    If gpio pin 1 changes to high on the master then I need gpio pin 1 on all other slave modules to change to high.

    Would you also kindly advise which software I should use (Windows 10) to be able to connect to and then configure the modules?

    Regards and have a great day.

    George

  • Hi, first of all I think you should get a couple of nRF52 Development Kits in order to get started with the development: https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52-DK  The DK contains a JLink programmer which is needed to program the chips. You can also use the DK to program external modules later, like the one you linked to.

    You need Segger embedded studio and the SDK to get started with the software development. There's a guide here, with download links: https://infocenter.nordicsemi.com/topic/ug_gsg_ses/UG/gsg/intro.html?cp=1_1_0

    It's not clear to me if you want the modules to communicate using radio communication, like BLE, or if you want them to communicate over the GPIOs. Anyways, it's possible to achieve both.

    If you want the modules to communicate using BLE, and toggle the state of one GPIO (LED) on the "slave" using another GPIO (button) on the "master", you can start with the blinky example in the SDK:

    note that in the BLE world usually the peripherals are called servers, and the central is called client. So for your application the peripheral/server will be the "slave", and the central/client will be the "master".

  • Hi Stian,

    Thank-you again for all this information.

    I do want the the client and server(s) to communicate via BLE / WiFi and yes I want a state change on a client gpio to be mirrored across all other server(s).

    Cheers and have a great day.

    George