Blinky Example on nRF52840 Custom Board

Hi Yall,

I designed a custom board with SoC nRF52840, and developing software with nRF Connect extension in Visual Studio Code. 

I followed the dev academy instructions on how to create a custom board, setup device tree, and flash the Blinky example successfully.

My issue is that the toggle function behavior differs based on the pin assignment. For example, if I revise my led0 assignment to P0.8, P0.11, or P0.24, then I get a different behaviors. To be transparent, all three pins are connected to different load/circuitry:

DT configured led0 at P0.8, the circuit is a 22Ohm series resistor into a CS slave pin. The output is a square waveform, but the two states are 0V and 700mV.

DT configured led0 at P0.11, the circuit is a 22Ohm series resistor into another CS slave pin. The output is a square waveform with the expected two states at 0V and VDD (3.3V).

DT configured led0 at P0.24, the circuit is a 3.3k series resistor into cathode of an LED to VDD. The output waveform is 2VDC.

Thanks,

EEM

Parents
  • Hi EEM, 

    Please check the device tree configuration. I suspect that the pins may be used in other peripheral causing the pins to behave differently. 

    Please try to disconnect the pins from the series resistor and measure again to double check if the output match 3.3V. You can also test by connecting the button pins on the DK to the custom board and check if the voltage level is correct. 

    Please attach your device tree so we can take a look. 


  • Hi Hung,

    I removed series resistors to disconnect the various GPIOs, and I measured a square waveform that swings between VDD and GND on most of the GPIO; exceptions were P0.14 and P0.24.

    On the left hand quadrant, P0.08, P1.08, P1.09, P0.11 were able to push/pull to VDD/GND.

    On the bottom quadrant, P0.13, P0.19(ext pullup), P0.20(ext pullup) were able to push/pull to VDD/GND. However, P0.14 and P0.24 were 0VDC.

    If I do reconnect the circuit of P0.08, there is a square wave, but the VOH level is attenuated dramatically to <1V.

    I am not sure why the GPIOs are so sensitive. The I/O are intended for digital peripherals SPI, I2C, and single LED.

    Do you think I need to remove the IC, clean up the pads, and attempt to solder? I am using the 48pin QFN, suffix QFAA.

    What are your thoughts?

    Thanks,

    Michael

  • Hi Michael. 
    My tip is to test on a DK. If you don't see the issue on the DK then it must be something wrong with the PCB. 

    Please check the circuit you connet to P0.08, check how much current it's drawing if you set it to 3V. 

  • Hi Hung,

    I really appreciate the feedback so far. I suspect that my reflow process was suspect since a few pads were compromised when I removed the nrf52840 IC.

    I ended up populating a new board, and everything is working as expected.

    Thanks again for bouncing some ideas around.

    EEM

Reply Children
No Data
Related