This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Reason for no Bluetooth signal?

I'm trying to finish a handmade custom board I started. I had previous problems with the crystals, and a few others, but right the thing seems to be working ok. At least I checked with UART that the board is running the hole code. I'm trying a simple Beacon example. But with the nRF Beacon application for Android I'm not seeing any signal. Even with the telephone touching the board. The board has a nRF51822FAAG0 with the balun BAL-NRF01D3, and a Johanson 2450AT43A100 chip antenna. I'm really lost here, I have a series of reasons in mind why the Bluetooth signal it's measing:

  1. A soldering problem with the balun. I had resolder the compoment a couple of times, I'm almost sure that it's in his right position, but it's very tricky to solder.
  2. The shunt capacitor of the antenna. I have a 1.5pF capacitor there, when the recommended it's 0.8pF. I'm trying to get the 0.8pF one.
  3. The 16Mhz crystal. I have this crystal with 18pF capacitors with 5% tolerance (the crystal load capacitance is CL = 12pF). The frecuency tolerance it's ok? Really don't sure because the datasheet it's not very clear.
  4. The design of the board and the code used it's from the OpenBeacon proyect. So, it's suppose to be a working proyect.

Can you help to understand where can be the problem? What can I try next? Thank you so much.

I leave here the schematics of the board, and a Photo of the proyect. image description image description

Update: And also the scope of the VDD_PA I got. image description

OpenBeacon.PDF OpenBeacon2.PDF

UPDATE: This is the code of my advertisment function.

static void radio_send_advertisment(void)
{
	const TMapping *map;
	int My_tasks_txen;

	/* transmit beacon on all advertisment channels */
	map = &g_advertisment[g_advertisment_index];

	/* switch frequency & whitening */
	NRF_RADIO->FREQUENCY = map->frequency;
	NRF_RADIO->DATAWHITEIV = map->channel;

	/* BLE header */
	g_pkt_buffer[0] = 0x42;

	/* add MAC address */
	g_pkt_buffer[2] = (uint8_t)(g_uid>>24);
	g_pkt_buffer[3] = (uint8_t)(g_uid>>16);
	g_pkt_buffer[4] = (uint8_t)(g_uid>> 8);
	g_pkt_buffer[5] = (uint8_t)(g_uid>> 0);
	g_pkt_buffer[6] = 0;
	g_pkt_buffer[7] = 0;

	/* No BT/EDR - Tx only */
	g_pkt_buffer[8] = 2;
	g_pkt_buffer[9] = 0x01;
	g_pkt_buffer[10]= 0x04;

	/* append beacon packet */
	g_pkt_buffer[1]= BLE_PREFIX_SIZE+g_beacon_pkt_len;
	if(g_beacon_pkt_len)
		memcpy(
			&g_pkt_buffer[BLE_POSTFIX],
			g_beacon_pkt,
			g_beacon_pkt_len
		);

	/* set packet pointer */
	NRF_RADIO->PACKETPTR = (uint32_t)&g_pkt_buffer;

	NRF_RADIO->EVENTS_END = 0;

	/* start tracker TX */
	NRF_RADIO->TASKS_TXEN = 1;
	My_tasks_txen = NRF_RADIO->TASKS_TXEN;
	debug_printf("\n\rTasks_TXEN = %d\n\r", My_tasks_txen);
}

void POWER_CLOCK_IRQ_Handler(void)
{
	/* always transmit proximity packet */
	if(NRF_CLOCK->EVENTS_HFCLKSTARTED)
	{
		/* acknowledge event */
		NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;

		/* start advertising */
		radio_send_advertisment();
	}
}
  • Hi Daniel,

    Sorry, did not account that you had the STM-debugger. It might be easier then to open the project, compile and load this. Remember to load the softdevice first (can also be done through Keil, via the drop-down menu in the upper left corner, which normally states "nrf51422_xxac_s130").

  • Hi Håkon. I got the scope of the VDD_PA. At the beggining it was the stable signal I adjunted to my original question. After some others tests I did I went back to get a image with a smaller time scale, and the signal was dead. I'm not sure, beacuse I was in a hurry. I will came back to repeat the test tomorrow. What do you thing of the signal? Seems ok for me... About the softdevice... I will check in a couple of hours. Thanks

  • Well, I repeated the test. And I got again the same picture. Yesterday it was a contact problem. So, what do you thing? About the softdevice, I had a little problem with the MDK of Keil. But right now it's solve. I hope to test the softdevice version today. Thanks.

  • Hi Daniel,

    The VDD_PA pin goes high, just as it should. It sends three TX packets back-to-back, then goes to idle. Do you have a microscope available? The BALUN can be a bit tricky to solder properly, and it might not have good enough contact to the pad. You should be able to see this if you tip the PCB on it's side, and zoom in on the BGA balls of the BALUN.

  • Hi Håkon. Yesterday I tried to solder the balun again with a fiend. We soldered it 4 times, without luck. We didn't receive any bluetooth signal. It's difficult to believe that we miss every single time. We didn't have a microscope, so we could check. I did a small antenna with a pi circuit. I will try to connect the signal with short wires. May be sound a little crazy, but at lease I hope to be sure that the problem it's not wit the soldering. What do you thing about the external antenna idea?

Related