BREmote - DIY Remote

I added this in bremote_tx.ino and commented out everything else to see if all the systems works without crashing or rebooting and it seems fine:

#include "BREmote_Tx.h"  // This includes all function declarations

void setup() {
  Serial.begin(9600);
  while (!Serial);
  Serial.println("DEBUG MODE START");

  Serial.println("Calling initPins...");
  initPins();

  Serial.println("Calling initEEPROM...");
  initEEPROM();

  Serial.println("Calling initNRF...");
  initNRF();

  Serial.println("Calling enableDisplay...");
  enableDisplay();

  Serial.println("Finished setup()");
}

void loop() {
  Serial.println("Loop running...");
  delay(1000);
}

Serial:

DEBUG MODE START
Calling initPiLoop running...
DEBUG MODE START
Calling initPins...
Setting Pins...Done
Calling initEEPROM...
Reading calib. from EEPROM...Done
Calling initNRF...
Enabling NRF...Done
Calling enableDisplay...
Finished setup()
Loop running...
Loop running...
Loop running...
Loop running...
Loop running...

When uploading original firmware this is serial when done uploading:

Setting register...Done
SettingSetting register...Done
Setting Pins..

So even with the shipping demo nothing on the display? Also after pushing the display a bit?
Nothing shown on display, even when pushing

The shipping demo stops after the ā€œ30ā€ output?
The shipping demo seems to stop yes, I can redo and verify

I uploaded a sketch that is forcing a message on the display but nothing shows up so most likely the screen is dead. I suspect water intrusion. Im gonna open it up to investigate more.

1 Like

Yeah, that’s a problem…
The firmware crashes in the middle of the init, so probably some peripheral on the board is defective and upon power up resets / crashes

For opening the remote I recommend splitting the handle along its length 2x, then you can pry it off like opening a clam

Opened it up, did not see any sign of water intrusion, foam was filled in good but there was a small gap between the case and the screen where water could have gotten in, bad epoxy job on my part.

Since it seemed to fail/reset at initPins I commented out each digitalWrite in system.ino and enabled them one-by-one while adding a serial print to each to figure out which one fails.

/*Init Pins*/
void initPins()
{
  DEBUG_PRINT("Setting Pins...");
  pinMode(EN_PWR, OUTPUT);
  pinMode(EN_MOT, OUTPUT);
  pinMode(SR_DAT, OUTPUT);
  pinMode(SR_CLK, OUTPUT);
  pinMode(C1, OUTPUT);
  pinMode(C2, OUTPUT);
  pinMode(HALL_EN, OUTPUT);

  digitalWrite(EN_PWR, HIGH);
  digitalWrite(EN_MOT, LOW);
  digitalWrite(SR_DAT, LOW);
  digitalWrite(SR_CLK, LOW);
  digitalWrite(C1, LOW);
  digitalWrite(C2, LOW);
  digitalWrite(HALL_EN, LOW);  
  DEBUG_PRINTLN("Done");

  analogReference(EXTERNAL);
}

The culprit was SR_CLK which seems to be one of the screen pins. After commenting out that line out the remote turned on with half display and seemed to be working.

I figured some water might be trapped in the pinheaders so removed as much PU foam as I could and flushed with IPA and let dry for the rest of the afternoon.

Uploaded full firmware and seemed to be working for a long while but then all of sudden a similar freeze happened so unplugged and let it sit until the evening when I made another attempt. Now it instead seemed to freeze on initNRF();. Puzzling.

I let it sit overnight to dry and this morning it seems to be working fine again. I hope it just trapped moisture causing problems and not something permanent.

Interesting, thanks for the detailed info
The SR_CLK has no direct connection to the display, it just connects to the display driver, so I am not sure if water in/around the display can be a problem regarding that…
Close to the display is only the NRF module, which, if it got wet, would probably explain those symptoms.
I have had 1 case where the NRF module failed even without water ingress, that behaved like you described. In that case sadly there is not much to do except replace the NRF module…
That’s the main reason the V2 has a way more reliable RF module…

1 Like

Ok good to know! Thanks for being so available with information and help.
Ill keep an eye on this V1 for a few days and then rebuild it but ordered a V2 kit just now so I can be confident I got a working remote for the rest of the season :grinning:

1 Like

I’m thinking of trying a foil assist setup with BREmote V1 receiver and Flipsky 75100 housed together in a small diecast box - battery separate. This will be used in a backpack style foil assist so the receiver will be very close to the handset - arms length!

Pretty sure I have read somewhere that the receiver will function inside an aluminium box without external antenna. It would be great to avoid penetrating the box for the antenna. Will of course connect the supplied antenna cable to the pcb.

Would welcome anyone with experience offering an opinion.

Thank you

Was the flipsky esc just stuck down with paste?

Yep, pulled a couple of them apart. You can also lengthen the wires to the three capacitors slightly and raise them. Then you can set the back of the alloy pcb straight onto a heat sink. End up being super neat, I usually flood them with silicone or polyurethane after connecting to make it 100% waterproof, just leaving the usb c connector exposed to reprogram. This is the non Bluetooth version, cheaper!

Mine felt like it was pretty stuck so didnt bother. Its just the 2 screws and now other tabs holding it in place?

Remove the two screws and gently prize it off with a screw driver. Bit scary but it does come off easily once it starts

This is a question to Ludwig:
sometimes I cannot switch on my bremote. So I changed the magnets on both sides - which worked quite good.
Now I have seen here the output of the calibration from another device.
The main difference to mine is that the difference between the Stb Toggle and the Idl Toggle is less then 10 digit. (see the output of the calibration).
What can be wrong with my TX?
The magnets are new and move well.

10:06:59.866 → Righthander, Trigger left

10:06:59.866 → Min Throttle: 491

10:06:59.910 → Max Throttle: 575

10:06:59.945 → Stb Throttle: 456

10:06:59.945 → Throttle Reversed: 1

10:06:59.978 → Idle Toggle: 525

10:06:59.978 → Stb Toggle: 533

10:07:00.012 → Toggle Reversed: 0

Thanks
Stefan

In my remote the idle and standby are quite far apart as well I think…
I would not say that this is a sign of a problem
Probably just due to mechanical tolerance

Keep in mind idle and standby are measured with different sensors in different positions. Moving the PCB forward/back in the remote body will change where both sensors sit in relation to the magnet and therefore change the values

Thanks for the quick reply.
It happend a few times that I was at the beach everything prepared and the TX did not turned on. :frowning_face:
Can the small difference between the idl and stb value the reason for that?

Sorry to hear that
Idle and standby have nothing to do with each other and are separate sensors on separate inputs
You can try to decrease the std-toggle-threshold in the config and maybe also turn on the thr+tog so you don’t get false turn-ons

Can anyone help with using a Mac and V2?? I can’t get it to connect.

Use Chrome, not Safari

Yes. I tried that but it did not work. did you have to update any other settings to get it to work?

I tried 2 different V2 remotes and 2 different cables. And two different computers. Seems like there’s no way to get this to work with a Mac that I can see. I tried to install some firmware to help, but that didn’t help either. And you won’t have any other ideas for getting this to work on a Mac?