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

First steps with custom boards

I was looking for something like a checklist of what to do when developing on a custom board but I couldn't find it.

I am working with Keil 5.15. I achieved to develop some code (focus on BLE communication) on nRF51822 Evaluation Kit. No problem with it. I just got it right.

Now, I have got my custom board design included a nRF51822 SoC. My first try was to get basic tutorials OK with this board (I just want my board to advertise).

For board support, I write my own header file to define the I/O pins I am using and update my compilation options to use it. I can program my board and flash it without problem. Unfortunately board is not advertising. I add a virtual COM port to debug, connect to it but was enable to get any message.

Using J-Link Commander, I can see that Cortex-M0 is identified. Voltage is at 1.783 V

I had a look in nRFGo Studio and my custom board is not detected. Is it the first thing to fix? How? What are the next common steps ?

  • Hi

    I'm a little confused. You say that you "can program my board and flash it without problem". Is that the Evaluation Kit or your custom board?

    • Are you able to run simple LED blinking examples on your custom board, but not BLE applications?

    • What kind of programmer do you use?

    • Your Vdd is pretty low. Are you using a Low voltage mode setup?

    • Are you able to debug and step through your code line for line? This is a great way to debug Nordic's examples.

    You might find some interesting reads among these whitepapers. Maybe especially the papers on antenna tuning and Crystal Oscillator Design.

  • Hi Martin,

    Thank you for your reply. To explain a little bit more: everything works fine with Evaluation Kit, even debug mode and step by step debugging.

    The programmer I use is a SEGGER J-LINK that detects my custom board as a CORTEX-M0.

    Using Keil uVision, I can load my code on custom board. Unfortunately, when I try a debug session, I can not reach the first lines of code.

    The code I use to check that everything is fine is really basic:

    int main (void)
    {
      int i = 0;
      i++;
    
      for (;;)
      {
        i++
      }
    }
    

    I will have a look on the whitepaper you mention. But this seems to be a different problem.

  • Your VDD seems both really low and odd. The minimum operating voltage for the nRF51 is 1.8V (from the product specification v3.1, chapter 7 "Operating Conditions"), so you're definitely out of spec. You didn't say what your design voltage was or what other components were on your custom board, but depending on your power path you might have a short somewhere. For instance if you have a short, that can overload a voltage regulator, causing your voltage to crash. What kind of current load does your board have?

  • Hi Nick,

    Thank you for your comment. In fact, for this custom board, I use low voltage mode (1.8V). As explained in the product spec, DEC2 is connected to VDD (1.8V).

    To get this voltage from J-Link, a custom adapter is put between J-link & PCB. J-link provides a 5.0V voltage (checked with voltmeter). PCB gets 1.8V (the forementioned 1.78V voltage - checked with voltmeter).

    I found two interesting questions on this forum that could help: devzone.nordicsemi.com/.../ devzone.nordicsemi.com/.../

    I'm going to further investigate!

  • Hello, I'm a very beginner in Nordic developing code, and almost know nothing about it, before I've been working with aurdino, atmega 16,32 and lpc2148 which implemented simple projects and worked well. Now, I have been dedicated a huge scary work and need to develop the code. In fact I have to understand the code and procedure in Nordic first, and then try to redefine the BLE protocol and add some more sensors to receive the data and transfer them through the BLE to Android for storage and observation. I need someone who is quite expert to talk to in private and show him the source code. Of course I do not expect for free. would please an expert reply my message and leave his email address. Best regards.

Related