SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By Andy
#2238
My remote SMiRF worked for two days, then the link went dead.
The USB unit could not find the remote unit when scanning.

I hooked the remote SMiRF to a MAX232 level shifter and could not get the menu with control-S sequence. The LED flashed indicating incoming characters. If the bootloader programming program is used to re-program the PIC, it only works on power reset, ie. it appears that the PIC does not respond to the "programming request" string from the program.

I re-program the PIC (by running the program then power cycling the unit) but still no success. Still no MENU, and USB unit cannot find the remote unit when scanning.

Any hints in trouble-shooting?

The last working configuration was:
- 9600bps
- channel 0
- power 0


Andy
User avatar
By sparky
#2248
Hi Andy,

This is the first case of a SMiRF dying so bare with us...

You've done everything right so far. Scanning for the remote unit is a good idea.

Sounds like there's been a glitch with the UART setup. So when the SMiRF boots up, it checks the internal EEPROM for the SPBRG setting. Normally this will be something like 59 for 9600bps. If the eeprom gets corrupted some how, the UART starts operating at a screwy BPS rate and it will fail to recognize Ctrl+S menu command because your terminal program is probably trying to send them a 9600bps - follow? Sounds like the SMiRF is continueing to boot load which is a good thing. The boot loader will attempt to load things at a hardcoded 9600bps at power up, that's why you can still boot load but not communicate during normal operation.

What you can do is try different BPS settings in your terminal program. The SMiRF Firmware should only allow operation at specific bps rates: 9600, 19200, 38400, 57600, and 115200.

If all else fails, we can always re-flash the device for you. You would need to return the unit to us.

Do let us know how it goes,
-Nathan
By Andy
#2269
Hi Sparky,

Thanks for the help, it indeed was the case.
The baudrate was "randomly" changed to 38400, the frequency to 2482 , address to 68, and output power to -10dbm.

SMiRF Firmware v01 - Configuration Menu:
[1] Channel Select (2482MHz)
[2] Address Select (68)
[3] Output Power (-10 dBm)
[4] Baud Rate
[5] View Packet Statistics
[6] Scan for remote units
[x] Exit
:

I reset the unit to previous settings and it is working now.

It is strange the eeprom got corrupted like that. The remote unit was inside a metal shed, powered from a 5V regulator which runs off a battery charged by solar, and just stopped working after two days of rock solid performance.

Thanks again
Andy

PS. Here is the previously working settings:
SMiRF Firmware v01 - Configuration Menu:
[1] Channel Select (2400MHz)
[2] Address Select (13)
[3] Output Power ( 0 dBm)
[4] Baud Rate
[5] View Packet Statistics
[6] Scan for remote units
[x] Exit

I also observed some strange behaviour with channel setting of 0. I initially changed the channel to 0, which did not work. After doing a scan it shows that the remote channel was set to 1 instead. Another channel change to 0 did work (for two days)