guancio
10 mW
- Joined
- Jun 4, 2019
- Messages
- 31
Hi all, I'm quite new to this forum. After reading the forum I would like to share some design ideas for a new open source bike "brain" and ask for feedback. My goal is to develop a platform for a flexible central computer that controls several bike peripherals, provides several standard functionalities (including standard multiple PAS level, offroad mode, torque assistance, etc), but that also permits to experiment crazy ideas:
* auto light on/off
* GPS bike alarm
* regulation of assistance level using GPS and bike inclination
* anti wheelie
* automatic gear shift (if connected to shimano Di2)
* regulation of assistance level using heart rate
* etc
To my understanding, the most versatile existing solutions are:
* Cycle analyst
* The flexible opensource by casainho
* Open source controllers, like VESC
All these projects are amazing. Honestly, the their features make probably my effort pointless. My goal is to handle some of the existing limitations
* Cycle analyst
This seems to be the most advanced bike "brain". I define a bike brain a component that receives sensor inputs and is decoupled from the motor controller. I really like this design, since it allows to be compatible with multiple controllers and input sensors.
By a user perspective, these are the limitations of CA that I do not like. The display is coupled with CA and it is quite ugly. Buttons are on the CA. There is no companion Android app
By a developer perspective, the main limitation of CA is that it uses closed source SW and HW. We cannot experiment with new crazy functionalities. We cannot develop a bridge to control CA and to receive CA data from a Garmin head unit or from a smartphone app.
* The flexible opensource by casainho
This seems the most adopted open source controller. Even if it fulfills several of my requirements, it is built on closed source HW. I've nothing against closed source HW. However, this prevents me from extending the platform with new sensors and actuators. How can we connect a Bluetooth phone (actually there is a mechanism to connect a bluetooth module to the serial interface, but this prevents the usage of other handlebar display)? We cannot connect a front wheel speed sensor (i.e. to implement an anti wheelie mechanism) or a gyroscope. From a user perspective, doing HW modification to a controller is complicated and prevents the usage of other controllers.
By a developer point of view, developing new features is quite complicated since they should not interfere with resource requirements of the FOC controller.
* New opensource brain
My goal is to develop a new opensource brain. The idea is to decouple the brain from the controller (like CA) and the display. I'm planning to use a simple development board (probably Arduino zero or microbit). The board will be connected to all sensor inputs (PAS, throttle, additional buttons, gear sensors, break sensor, speed sensors, amp sensor) and will use the throttle signal (an the e-brake signal) to control the controller. If needed, the brain can also use a UART to initiate configuration of the controller. The brain will be connected to other devices like automatic shifter or display using UART interface and digital outputs. Finally, interaction with mobile phone can be provided by Bluetooth.
My feeling is that by decoupling controller, brain, display, phone, and other devices (i.e. shifter) we can simplify the development of new features.
Please feel free to comment.
* auto light on/off
* GPS bike alarm
* regulation of assistance level using GPS and bike inclination
* anti wheelie
* automatic gear shift (if connected to shimano Di2)
* regulation of assistance level using heart rate
* etc
To my understanding, the most versatile existing solutions are:
* Cycle analyst
* The flexible opensource by casainho
* Open source controllers, like VESC
All these projects are amazing. Honestly, the their features make probably my effort pointless. My goal is to handle some of the existing limitations
* Cycle analyst
This seems to be the most advanced bike "brain". I define a bike brain a component that receives sensor inputs and is decoupled from the motor controller. I really like this design, since it allows to be compatible with multiple controllers and input sensors.
By a user perspective, these are the limitations of CA that I do not like. The display is coupled with CA and it is quite ugly. Buttons are on the CA. There is no companion Android app
By a developer perspective, the main limitation of CA is that it uses closed source SW and HW. We cannot experiment with new crazy functionalities. We cannot develop a bridge to control CA and to receive CA data from a Garmin head unit or from a smartphone app.
* The flexible opensource by casainho
This seems the most adopted open source controller. Even if it fulfills several of my requirements, it is built on closed source HW. I've nothing against closed source HW. However, this prevents me from extending the platform with new sensors and actuators. How can we connect a Bluetooth phone (actually there is a mechanism to connect a bluetooth module to the serial interface, but this prevents the usage of other handlebar display)? We cannot connect a front wheel speed sensor (i.e. to implement an anti wheelie mechanism) or a gyroscope. From a user perspective, doing HW modification to a controller is complicated and prevents the usage of other controllers.
By a developer point of view, developing new features is quite complicated since they should not interfere with resource requirements of the FOC controller.
* New opensource brain
My goal is to develop a new opensource brain. The idea is to decouple the brain from the controller (like CA) and the display. I'm planning to use a simple development board (probably Arduino zero or microbit). The board will be connected to all sensor inputs (PAS, throttle, additional buttons, gear sensors, break sensor, speed sensors, amp sensor) and will use the throttle signal (an the e-brake signal) to control the controller. If needed, the brain can also use a UART to initiate configuration of the controller. The brain will be connected to other devices like automatic shifter or display using UART interface and digital outputs. Finally, interaction with mobile phone can be provided by Bluetooth.
My feeling is that by decoupling controller, brain, display, phone, and other devices (i.e. shifter) we can simplify the development of new features.
Please feel free to comment.