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

Works OK on the DK, but not on my custom board (no radio) - NRF52832 wlcsp

Hi fellow devs:)
I'd really appreciate some advice on this please. I've come to a bit of a dead-end.
Hopefully you can spot a mistake I've made.

I am trying to produce a low cost mass producible device which basically measures temperature and broadcasts the beacon data at 1 sec intervals. Pretty simple...
Energy harvesting from a nearby induction field will charge 2 supercapacitors, which power-up the bluetooth chip.
The charging side of it works ok, but for my tests I am just using a bench power supply. I have designed a custom board, long and thin, only 5mm width. That's why I chose the small 3mm WL-CSP.

My application code works just fine on the DK, radio working, advertising works.
But it does not work on my custom board. I actually made 10 boards, and all of them have the same problem.

DK: NRF52832 QFN package. Both a 32MHz and 32.768KHz crystal.
My PCB: NRF52832 WL-CSP. Only 32MHz crystal mounted.

My custom board setup:
VDD-NRF: 3.0V
SWD: Programs OK via DK NRF-Programmer.
Application: Beacon, reporting temperature data.
Problem: No radio (Advertising not found in nrf connect phone app). 

Strange symptom with my custom boards:
Advertising is briefly noticed in the nrf connect app (with scanning mode running) only during programming. After programming, nothing is seen from the radio again.
I repeated this test and monitored brief bursts of activity on the 32MHz clock





  

      


Link to the Schematic PDF


And here is my Prj.conf

CONFIG_ADC=y
CONFIG_ADC_ASYNC=y
CONFIG_ADC_LOG_LEVEL_INF=y
CONFIG_ADC_NRFX_ADC_CHANNEL_COUNT=3

CONFIG_GPIO=y

# BLUETOOTH CONFIG
CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_DEVICE_NAME="Heatle-Rod"

# c library
CONFIG_NEWLIB_LIBC=y

# power management
#CONFIG_SYS_POWER_MANAGEMENT=y
#CONFIG_DEVICE_POWER_MANAGEMENT=y
#CONFIG_DEVICE_IDLE_PM=y

#CONFIG_SYS_POWER_MANAGEMENT=y
#CONFIG_SYS_POWER_SLEEP_STATES=y
#CONFIG_SYS_POWER_DEEP_SLEEP_STATES=y
#CONFIG_DEVICE_POWER_MANAGEMENT=y

CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
#CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM=y
#CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
#CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM=y
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52832_QFAA=y


The project C files are atatched here also.
sw-pcb-rod-ble-develop (1).zip



Kind regsrds,
David
Heatle.de

  • Hi Ansgar,

    Kenneth is out on vacation until 6th of April, but you should update the HW to get this to work.

    AnsgarSchmidt said:
    Board without debugger at power on -> Nothing happens.
    Board with debugger at power on, everything works, even when stopping the debugger.

     You might get "good enough" grounding with debugger connect and therefor it works, but you must reroute the and make sure you ground the center pad properly. Please upload updated design files for a full review, before you produce new prototypes. 

    FYI: This case i public, make if private if you feel this is sensitive information to share in this case, or make a new case for HW review. 

    Best regards,
    Kaja

Related