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

Reply
  • 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

Children
No Data
Related