Firefly Nano remote

im trying to make a regular firefly remote just with a larger screen, what code needs to be changed to make this display work with the original firefly code by solidgeek? also how is the display soldered to the nano? is it the same way as the original OLED display?

not yet…

I’ve already implemented an automatic pairing, will upload the code in a few hours. Meanwhile, you can comment out the address check block to make the receiver accept all remotes:

@KrisKraanen Good idea, is this one ok? This feature will be easy to add.

I guess you can update logo array in remote.h with this app: https://www.riuson.com/en/lcd-image-converter

Really impressive work! Awesome. The code is awesome!

Looks like u forgot to implement the Smoothed.h

******************************************************************
* Looking for Smoothed.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:Smoothed.h"
* Web  > https://platformio.org/lib/search?query=header:Smoothed.h
*
******************************************************************

I added it manually

Should be fine mosfet or relay will both work, i have this board still laying around https://m.banggood.com/nl/5V-Relay-1-Channel-Module-One-Channel-Relay-Expansion-Module-Board-p-91800.html?gmcCountry=NL&currency=EUR&cur_warehouse=CN&createTmp=1&ID=227&utm_source=googleshopping&utm_medium=cpc_bgs&utm_content=frank&utm_campaign=pla-nl-elc2-pc-nl&gclid=CjwKCAjwycfkBRAFEiwAnLX5ITXGKQ0_1lDUorxwmYdicsa5z4l8Gr-GayEd2CMFKbgtx4wkKmIcNBoCWlMQAvD_BwE

2 Likes

Just uploaded the new code. Description of new settings and features:

Auto-pairing

Just compile and upload as is (keep FAKE_UART). The remote will pair automatically.

#define FAKE_UART // Comment out after pairing the remote and connecting VESC

Unity support

// const COMM_PACKET_ID VESC_COMMAND = COMM_GET_VALUES; // VESC
const COMM_PACKET_ID VESC_COMMAND = COMM_GET_UNITY_VALUES; // Enertion Unity

Endless ride

For now, it’s more for situations when remote is out of power. Just push with a speed over 12 km/h for 3 seconds and stand still. Cruise control will be activated for 30s when speed drops below 12 km/h.

Slide the board backward while standing on it or foot brake to produce a spike in the current and stop the board. Please test it first in an open space and be ready to turn on the remote.

const bool  AUTO_CRUISE_ON = false;     // disabled by default
const float PUSHING_SPEED = 12.0;       // km/h
const float PUSHING_TIME = 3.0;         // seconds
const float CRUISE_CURRENT_SPIKE = 5.0; // Amps

Board will stop after 30 seconds if the current is low (flat ground).

const float AUTO_CRUISE_TIME = 30.0;    // seconds
const float CRUISE_CURRENT_LOW = 5.0;   // Amps

Auto-stop if remote is not connected and speed is over 20 km/h - not tested yet!

const float MAX_PUSHING_SPEED = 20.0;   // km/h

Auto-stop

The receiver will apply gradual breaking if the connection with the remote is lost.

const float AUTO_BRAKE_TIME = 5.0;    // time to apply the full brakes
const int AUTO_BRAKE_RELEASE = 5;     // time to release brakes after the full stop

The display will turn on only if the battery charge > 15% to avoid boot loop.

const int DISPLAY_BATTERY_MIN = 15;

OTA updates

Future updates for the receiver can be applied over WiFi. Just set your network name and password in receiver.cpp.

platformio.ini:

; upload_port = 192.168.1.x ; IP from receiver screen
3 Likes

@DroidSector awesome work !
I forgot to change the frequency to 433 MHz. The pairing is now working.

But the connection to the FOCBOX is not working (LED is constantly blinking). Do I need to make some configurations in the BLDC tool? Baudrate is set to 115200.

Focbox — reciever
5V <====> 5V
GND <==> GND
RX <====> TX
TX <====> RX

image image

Awesome!

Is there no running compiling code for the TTGO REMOTE? I Just see a TTGO RECEIVER…?

Thx

Is there any easy fix to the previous connectivity issues that the Firefly has @DroidSector ?

Amazing work by the way, you’re convincing me that maybe I should buy a nano in white… Instead of the maytech waterproof remote…

How many other code improvements do you think you’ll be doing for the Firefly? :slight_smile:

@StefanMe thanks! Just add the target like this:

env_default = Remote.TTGO.OLED.v1

@tobias the last build is for Unity by default, make sure to uncomment COMM_GET_VALUES.

1 Like

@anon64938381 if you’re talking about getting receiver ID, it’s not needed anymore, since pairing is automatic now.

I still need to add pairing to a new board, configuration menus, trip statistics… Mobile apps for tracking and updating firmware in some distant future :slight_smile:

1 Like

Very interested :wink:

Thanks for the explanation

1 Like

If anyone is interested in having them printed i have a few printed and painted that i would be willing to sell. I would be willing to supply other hardware pieces as well if you like however the hardware is on order.

These would come with all printed parts, Painted if you like or in plain white/grey. these are printed with 3D Fillies PLA+ there is option for PETG also if you want even stronger and heat resilient.

PLA+
$20 printed & painted with a gloss finish
$10 printed no paint, will come in either white or grey

PETG
$26.50 Printed & painted with gloss finish
$16.50 Printed Will come in either grey or white

if you want to get other parts printed check out my thread Here

Shipping is extra

If this is the wrong place to put this post i can have it removed, Just let me know.

Note this is the Feather version, other versions or files can be printed if you like.

IMG_20190321_145532 IMG_20190321_150833 IMG_20190321_150934 IMG_20190321_151203 IMG_20190321_151326

2 Likes

Looks nice! Please keep in mind these parts are for Feather version, would be great if you could offer this one as well: https://www.thingiverse.com/thing:3303495

Since I can’t edit the first post anymore, I’ll make a new topic for Heltec version soon to separate these two versions.

2 Likes

yes that is correct, this is for the feather version i forgot there were 2. i will update post and thank you for reminding me. I can print out any version if another is required. @DroidSector that would be great, also you dont mind me using your designs to print and paint?

Not at all, the price is reasonable and I don’t have time to do it myself anyway.

1 Like

thank you, I thought the prices were around the right price of something i would pay, And i’m currently trying to fill in my time since i’m still job hunting =(

1 Like

Hi, Great remote… thanks for the hard work I was wondering if you can share the code for the receiver with the battery meter function?

Thanks

The current code for the receiver already contains this feature.

ok so i have not hooked the receiver to the vesc yet, but so far the code is ruining on the receiver and remote (helltec2) and there is no any data on the receiver screen