This project is meant to get me familiar with designing my own PCB and working with lower-level components. I have experience with BLE using Arduino shields and BeagleBones, but I want to try building my own. After a lot of research, I think a suitable BLE chip is Nordic's nRF52833 SoC. An appropriate module built around this chip is Fanstel's BM833. Fanstel has an evaluation board, but the point of this project is to build around the module on my own.

I suppose my main issue is that I am having a lot of trouble finding helpful documentation.

My first question is, Would I need any other major components besides these:

  • A BM833 bluetooth module,
  • an ATmega328PB microcontroller to be the bluetooth module's master (I think I would have to burn the Arduino boot loader onto the microcontroller),
  • a 32.768 kHz crystal oscillator, and
  • an RS232 / USB to Serial adapter (strictly for programming purposes).

Is there anything major that I am missing?

My second question is, How do I configure the BLE module so that it is compatible with the ArduinoBLE library? I assume I need to upload some firmware, but I neither know where to get that firmware from nor how to install it. The only guides I see, such as on this data sheet, are for using the evaluation board, but I would really like to avoid that, in part because the board is kind of expensive ($40 + shipping).

My third (and last question) is, What would I wire between the BLE module and the microcontroller?

For communication between the module and the microcontroller: The BM833 pin functions table page 20 says that pins 31 and 32 (P1.01 and P2.02, respectively) are used as UART TX/RX on the evaluation board; the 328PB pin configurations page 15 lists pins 30 and 31 (PD0 and PD1, respectively) as RX and TX. Would I connect P1.01 to PD0 and P2.02 to PD1?

For VDD/VSS: The 328PB has 1 VCC and 1 GND, which is easy. However, the BM833 pin functions table above lists 11 grounds and 4 power supplies (although only 1 VSS, 2 VDDs, 1 VDDH, and 1 VBUS). Which of these pins would need power? Would all the grounds need to be connected or just the one labeled VSS? Should the two modules be wired in parallel or somehow in series?


I've been researching this for about a week and am just about ready to tear out my hair. If this post has too many parts, please let me know and I will either break it up or remove parts. I also apologize if any of this seems very simple (which I am sure much of it is).


The NRF52833 SoC is a 64 MHz ARM Cortex M4. You can program it directly without having to use another microcontroller. Nordic provides an SDK for it, with SoftDevices that implement the BLE protocol stack as well as other RF stacks. Unless there's a specific reason you want to have 2 microcontrollers in this system, I think you can ditch the ATmega. Even if you'd prefer to use an Arduino, because of your familiarity with it (understandable), you'd still have to program the nrf52 as well. So I think you should just do that.

If you want to use this project to work on PCB design, you could basically design your own dev board for this Nordic SoC, and then use it to flash the BLE stack onto the chip.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.