The Unfancy Remote | WIP DIY reliable remote

One easy way to address lifting pads is to oversize the actual copper pad while keeping the solder_mask_keepout the same, so that the solder_mask extends over the copper. This essentially holds down the copper all the way around the pad.

If the copper trace and the solder_mask_keepout are exactly the same size, then the only thing holding the trace/pad down to the board is the adhesion between the copper and the FR4 substrate (which is very poor)

7 Likes

AFAIK this is standard practice with PCBs unless there’s just not enough space to do it.

1 Like

I recently ran into this on an old rolland keyboard of the lady’s. Power input ring(through hole dc jack), delammed and broke from the trace. I had to get the coating off the trace and bridge with solder from the through hole leg.
PIA

1 Like

Update

Just pushed a code update for the TX that makes sure you notice if it’s running out of battery by vibrating like crazy. Also modified the default battery thresholds that were waaaay too low for the little amount of power the TX consumes, which caused very inaccurate readings (basically a “cliff” between mostly charged and completely empty for the default battery size. Ask me how I know)

Cheers!

Edit: To clarify, the remote already did that, but you had to be on Mode 2 (show me the remote’s battery, not the board’s). This update forces the mode change in case a critically low battery is detected.

9 Likes

Debugging help?
Receiver is showing:

////////ERROR//////////
Receive timeout
//////////////////////
Frequency: 2402500000Hz
Ellapsed: 2.00s | VBat: 0.00V | SNR: -100dB | RSSI: -100dBm
-------------- TASKS --------------
receiveThrottlePacket | 0Hz
writePPMValue | 44Hz
sendTMPacket | 0Hz
checkBattery | 1Hz
setLEDs | 11Hz

Packets/s: 0
TM packets/s: 0
Errors: 4

Transmitter is outputting

////////ERROR//////////
TM timeout
//////////////////////
Ellapsed: 2.00s | VBat: 4.22V | Mode: 0
Frequency: 2402500000Hz
SNR: -100dB | RSSI: -100dBm | Board V: 0.00 (0.00)
Calibration: 271 | 497 | 783 | Inverted: n
-------------- TASKS --------------
readThrottle | 86Hz
sendThrottlePacket | 38Hz
receiveTMPacket | 0Hz
checkButton | 10Hz
checkBattery | 1Hz
displayMode | 18Hz
setLEDs | 86Hz
setMotor | 86Hz

Packets/s: 38
TM packets/s: 0
Interrupts/s: 879
Errors: 3

Looking at the info, -100dB is worrying. Settings:

const unsigned int channel = 1;
const unsigned int TXIdentity = 1;
const unsigned int channel = 1;
const unsigned int RXIdentity = 1;

1 Like

That’s weird, let’s check a few things:

  • Do both of your LoRa transceivers have the correct antenna selected (PCB integrated)?
  • Can you try a different channel closer to the center of the band (15-25)?

There’s also an extra Arduino sketch called register test. It can be used to verify the LoRa module is correctly soldered and talking to the Arduino via SPI. Can you flash it on both units and check the results?

1 Like

lora resistors are good! But maybe rx is bad or my soldering was bad.

RX:
Reset device
Registers at reset
Reg 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Frequency at reset 0hz
Change Frequency to 2445000000hz
Frequency now 0hz

Reg 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

TX:

2_Register_Test Starting
Reset device
LoRa Device found
Reset device
Registers at reset
Reg 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x900 80 0C 7B 02 20 FA C0 00 00 80 00 00 00 00 00 FF
0x910 FF FF 00 00 00 19 00 00 00 19 87 65 43 21 7F FF
0x920 FF FF FF 0C 70 37 0A 50 D0 80 00 C0 5F D2 8F 0A
0x930 00 C0 00 00 00 24 00 21 28 B0 30 09 1A 59 70 08
0x940 58 0B 32 0A 14 24 6A 96 00 18 00 00 00 00 00 00
0x950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x960 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF
0x970 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 04
0x980 00 0B 18 70 00 00 00 4C 00 F0 64 00 00 00 00 00
0x990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9A0 00 08 EC B8 9D 8A E6 66 04 00 00 00 00 00 00 00
0x9B0 00 08 EC B8 9D 8A E6 66 04 00 00 00 00 00 00 00
0x9C0 00 16 00 3F E8 01 FF FF FF FF 5E 4D 25 10 55 55
0x9D0 55 55 55 55 55 55 55 55 55 55 55 55 55 00 00 00
0x9E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x9F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Frequency at reset 2495996672hz
Change Frequency to 2445000000hz
Frequency now 2444999936hz

Reg 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x900 80 0C 7B 02 20 FA BC 13 C1 80 00 00 00 00 00 61

Looks like my RX is the issue here. I have quite a few parts to be able to make myself another rx, but testing them yields the same result or no frequency change using the register test. And, I am out of arduinos noooooo

1 Like

Yeah, your RX is not responding via SPI. Normally I would soak the pads in flux and give the board a good reflow with the heatgun to make sure everything is properly secured. It’s probably salvageable, I’ve yet to have a bad LoRa or PCB!

5 Likes

Holy shit. I drowned it in flux, re-soldered each pad, and et. voila. IT WORKS!!! Thanks so much for your hard work and the help!!! It’s raining here in Austin but the moment it drys up it’s testing time!!!

4 Likes

Great to hear that! Please let us know how it goes and make sure you have followed the recommendations on the guide (specially gluing the magnets and sensor properly in place)

I’m so excited to finally have a working unfancy in the wild! I’m now 99.99% confident on the platform and software working flawlessly, but please be safe the first few rides as you assess the RF situation in your area…and be sure to report anything you don’t like! :grin:

4 Likes


GG. Another pad lifted, literally right as I was going to button up the board :(. Should have superglued right away instead of testing it, also had the glue in my hands. At least I can use this for my dual trigger TX down the road.

1 Like

The pads are likely lifting from too much heat.

If you have to glue after soldering something went wrong.

Too much heat can come from a too high or too low temperature. Meaning you are either cooking the pad off before the sooner can melt.

Or it is taking too long to melt the solder and the board soaks up too much heat.

Another possibility is that the pcbs are a bad batch and somewhat fragile.

2 Likes

Scrape away some of the coating covering the trace leading to the pad then solder to that. You could practice first on another pcb if you have any broken old devices you don’t care about.

I tend to save anything electronic that breaks to test on and salvage components from when I can’t fix it first. Comes in handy.

2 Likes

When I get home I can give you the exact MCU pin connected to that signal pad so you can keep using that PCB by soldering the PPM cable directly to the Arduino (it should be called L1_PPM or something similar in the board.h file)

2 Likes

Yo big ups to you. I scratched off a bit of green by the m of PPM, and there it was, virgin copper. Thanks!!! Back up and running.

4 Likes

Question about receiver connections. I plugged in my rx to my bldc esc (4.12) but I am not convinced the 5v output is stable. After a couple of retries, the rx arduino light started flickering dimly, and I think it died. What esc are you running/how are you connecting rx to the board? I am using ancient escs, so I am due for an upgrade but I figured I’d ask first.

2 Likes

That’s very weird, did you check it is indeed connected to 5V and not 3.3?

I’ve tested receivers on OG Focboxes (V4.20 HW) a couple of MakerX DV6s (V6 HW) and CheapFOCer 2s (V6 HW), all without issues.

1 Like

Yeah, just checked with a multimeter. 5.15v consistent

Can you share a picture of your setup with everything connected?

2 Likes

Yes. Don’t mind the “diy” approach, I know its not waterproof or sexy but it works. At one point I had both RX’s working but after vesc tuning them, turning off the board and turning it back on they both refused to boot. At least the red/orange/brown rx has the light on it but the white/black/grey rx just has a dim light that eventually turns off. Both refuse to output to the serial monitor (might do a loop back test when I have some more time) and the white/black/grey rx makes my programmer show 2 green leds and the programmer chip gets really hot.


I am still waiting on more atmegas from china

2 Likes