Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for other than Feather nRF52840 processors #6

Closed
Berg0162 opened this issue Dec 6, 2022 · 9 comments
Closed

Support for other than Feather nRF52840 processors #6

Berg0162 opened this issue Dec 6, 2022 · 9 comments

Comments

@Berg0162
Copy link
Owner

Berg0162 commented Dec 6, 2022

    Have you considered using a D1 Mini NodeMCU ESP32 WiFi and Bluetooth BLE? 

Link here: https://amzn.eu/d/2XgwXKY

ESP32 and nRF52 can do WiFi, Bluetooth Classic, and Bluetooth Low Energy (BLE), so seem are equivalent.
Are there technical limitation can't be applied to ESP32?
ESP32 is cheaper than nRF2 also low dimension

Best Regards
Filippo

Originally posted by @cherryphilip74 in #5 (comment)

@Berg0162
Copy link
Owner Author

Berg0162 commented Dec 6, 2022

When I started the Simcline project (3 years ago), I was looking for a processor that had ANT+ and excellent BLE support. The Adafruit support is great, with lots of code samples and a very rich library for a wide range of sensors. The Feather nRF52832 (Nordic Silicon chip) was offering the right specs. , Adafruit a quick start and steep learning curve!
Unfortunately installing the Nordic Softdevice (firmware) for ANT+ was a bridge to far for me, so I decided to go for the BLE solution and (ANT+) FE-C over BLE that is supported by TACX. At this very moment this is still working without any flaws at my home (3 times a week during indoor season). The Feather type one should buy now is a nRF52840 (more value for money) and what is more: lots of memory. The MITM implementation is at the limits of what this processor can offer due to the large throughput of the BLE channels: never miss a packet (from the trainer of Zwift) or you are down!
Later developments benefitted of the code base that I developed (after all, the cost for an IT-development project is not the processor ($24) but the development speed of the programmer (hourly salary >$50). The FTMS enabled code development took so far more than 80 hours (!), that is low because I could reuse a lot of code from the Wahoo Sim project and the original TACX Simcline.
Yes I have been looking at other processors but a few bucks more or less is not the issue here: supplier support (installed software base), reuse of code and platform continuity are determining whether the projects are feasible and successful or not...
I am considering an ESP32 board now (Adafruit has an interesting Feather with ESP32) for future IOT projects, only because of its WIFI support. Notice that the Simcline code projects can be ported to the ESP32 platform at the cost of many hours... that I rather spent exploring new things! At the start of such an enterprise one is not sure at all, that the ESP32 is as powerful on Bluetooth, as the proven Nordic chip, when it comes to handling a heavy duty BLE MITM application!

@macrocd
Copy link

macrocd commented Jan 9, 2023

I almost finish to assemble my Simcline 2.0. I Used Adafruit-ItsyBitsy-nRF52840 And SH1106 Oled display. Usually I use Rouvy+ Elite SUITO Trainer. I'm waiting for 3D printing parts to terminate my setup.
Implementing the itsybitsy board is almost immediate. For the Display I took a little more time because I don't know the platform well.
M.

@Berg0162
Copy link
Owner Author

Great!
Best wishes, Jörgen

@Berg0162
Copy link
Owner Author

I have been working recently on porting the nRF52 platform Simcline code, (supporting FTMS-enabled trainers), to the ESP32 platform. I have applied an Adafruit product called Huzzah 32 (Feather-esp32-V2 to remain compatible with the Feather formfactor, to allow an easy application of the board in my Simcline 2.0 design/construction.
The process was not easy since the Adafruit/Bluefruit BLE libraries turned out to be superior over the default ESP32 Bluedroid implementation. ESP32 Bluedroid is buggy when the BLE implementation becomes more demanding than a simple single Client or single Server, as is clearly the case with BLE MITM.
Adafruit/Bluefruit on nRF52 was loaded to its limits with the FTMS supporting BLE MITM code but kept working, in the case of ESP32 Bluedroid the implementation was somewhat to demanding.... So just comparing the overal specs (on paper) of both processor platforms is not sufficient... one needs to take into account the (quality of the) available libraries as well to reach success.
Fortunately H2Zero has created a more or less compatible replacement for Bluedroid, called NimBLE H2Zero NimBLE! The application of NimBLE saved the porting project! So it looks now that we will be able to benefit of the immense specs of the ESP32 platform after all!
I will upload soon the ESP32 Simcline code for FTMS-enabled trainers and give you, ESP32 adepts, a change to test for yourself!
Best wishes,
Jörgen.

PS macrocd, how are you doing? Have you succeeded? Can you share your experience?

@macrocd
Copy link

macrocd commented Feb 13, 2023

Unfortunately I was not able to spend much time on it.
I ran my system with itsybitsy processor and SH1106 shield. I arrived to do the first tests with the ftms_V011 version and I managed to find the limits of my system. I correctly set the mac Addresses and I was able to get Rouvy to talk to my PC via Simcline.
Now while switching to version 2.1 I must have made some mistakes or there are some library chenges. The code crashes when I do the display declaration. What I failed to do is also connect the mobile to use the app with the ftms version. Also I was looking for a way to be able to recognize the hardware of the display in order to create an elegant switch like for the processors so as to share the project with you and make my experience useful to someone else
M.

@Berg0162
Copy link
Owner Author

Dear M,
Thank you for your update!
Definitely no changes with respect to the display in version 2.1. Compare and check your inserted SH1106 settings of version 011 vs 2.1...

@Berg0162
Copy link
Owner Author

Client, Server and Bridge 1.0 versions for ESP32 platform have been uploaded now!

@cherryphilip74
Copy link

cherryphilip74 commented Feb 26, 2023 via email

@Berg0162
Copy link
Owner Author

Dear Filippo,
I am curious to hear from you about your experiences with the ESP32 code.....
Best wishes,
Jörgen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants