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¤cy=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
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
@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
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?
@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.
@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
Very interested
Thanks for the explanation
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.
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.
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.
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 =(
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