• Hello ES! We could use some help to get us past the finish line on building the new knowledgebase for the forum.
    Can you donate? Please see our fundraising page. Thank you!

Vesclabs online!

qwerkus

🚴‍♂️ Mega poster
Joined
Jul 22, 2017
Messages
1,011
For those who didn't spot it already: Team Vedder launched their own commercial platform to sell quality vesc controllers. Great news for europe - not so great for you guys taxed in the US: Home - VESC Labs
It looks like they did design a board with ebikes in mind: VESC Minim - VESC Labs
EDIT: There is a complete datasheet available in the download section.
1758647250690.png
 
Last edited:
That's actually just a pretty common feature on vesc controllers these days; they have a pretty big following in making "one wheel" type vehicles. I have seen one EUC made with vesc, but that seems to be less common.

Doesn't negate the bike-applicability of vesc's though.
 
Nice evolution over the spintend ewheel adapter. native 5v input. It's too bad they didn't think about giving it a case - most ebikers are going to want that.
 
Yes I'm also surprised by the power of some of those controllers. I guess it's a marketing decision, since there are already plenty of low power controllers available, and high power 400V EV ones at the other end but a large gap in between.

Given the hefty price tags, the minim is probably going to be the most sold device, so it makes sense to pack it with as many features as possible. IMUs are great for all kinds of applications, including drones and robots. IIRC casainho used one to auto-start his ebike when pushing it...

What I'm hoping for next is a rework of the software for more modularity. Right now it's packed with features that you never need all at once, and hence takes quite some time to boot up. So sooner or later things will have to improve. Maybe a GUI makefile where you can choose which modules are required before compilation ?
 
Hm, I don't believe, that the VESC will get much use in E-Bikes. Not plug and play, for people, that just want to ride. No bike specific functions for those, who want to deep dive in the setup.
And that high power versions are useless for legal bikes anyway. 🤷‍♂️
 
Hm, I don't believe, that the VESC will get much use in E-Bikes. Not plug and play, for people, that just want to ride. No bike specific functions for those, who want to deep dive in the setup.
And that high power versions are useless for legal bikes anyway. 🤷‍♂️
Well I think the minim controller has potential as replacement device for any broken ebike or if you just want to change the motor. Check out the datasheet - it's much more ebike friendly than any vesc-clone I saw before: adc got upgraded to 5V and there is a dedicated i/o header compatible with most ebike displays, including pins for lights. The tiny size (42*73*28) should fit into most existing ebike controller boxes.
The workflow would look like this: get the controller - crimp cables / fit into box - run motor detection in vesc tool and finally upload the lispBM script matching your setup. You can even do that remotely since they added a esp32c3 wireless chip. No pcb soldering required and no firmware compilation, which I found out to be a huge deterrent...
 
there is a dedicated i/o header compatible with most ebike displays
It's an improvement to have the on/off switch on the header, but just have to switch and UART pins on one header helps nothing, if the common display protocols are not implemented. No2, 5s, Kunteng and Bafang should be supported by default, without having to tweak the code and compile yourself, just choosable by drop down in the VESC tool....
Features for torque sensor based ride modes are missing also.
As written before, I asked in the VESC Discord Group for help to make my implementation for display and torquesensor available by default for all hardware, but there was absolutely zero resonance....
https://discord.com/channels/904830990319485030/937406705816465449/1292898888696594525

My skills are OK to change the firmware on the VESC, but I failed editing and compiling the VESC tool, to make the new features available in the menues :(
 
Last edited:
It's an improvement to have the on/off switch on the header, but just have to switch and UART pins on one header helps nothing, if the common display protocols are not implemented. No2, 5s, Kunteng and Bafang should be supported by default, without having to tweak the code and compile yourself, just choosable by drop down in the VESC tool....
Features for torque sensor based ride modes are missing also.
As written before, I asked in the VESC Discord Group for help to make my implementation for display and torquesensor available as default for all hardware, but there was absolutely zero resonance....
https://discord.com/channels/904830990319485030/937406705816465449/1292898888696594525
I can understand your frustration with vesc, yet one has to understand that this is a design choice. There is a lisp script available for all protocols your mention - albeit not centralized so far, you have to search github or the discord for it.

I personally don't like lisp because of its super confusing syntax, but I do support scripting vs compilation: there is just no simple way to support all possible configurations on an open source platform. So either you go the config-compilation way which many don't like, or you offer a basic engine and let everyone script as they like. The second option has 2 huge advantages: first it s very accessible to newbies, especially since vesc tools comes with a ready to use lispBM IDE and plenty of examples and second it works like a sandbox environment allowing for trial and errors without breaking the underlying firmware.

Right now the vesc project is sort of in between: there are still many options tweakable in the firmware which should be done in a script, but I think it moves into the right direction.
 
There is a lisp script available for all protocols your mention - albeit not centralized so far, you have to search github or the discord for it.
Do you have a link? Discord is way the worst tool, I ever used. Absolutely no structure to find anything :eek:
I can't understand, why you should go the workaround with lisp scripting, while all the protocols are existing in free available C libraries and implementing them in the VESC core is mainly copy & paste, or even already exist in some board specific firmwares.
A simple Wiki would help a lot. How to compile the VESC tool on a Windows PC is still a mystery to me ;)
 
Last edited:
Do you have a link? Discord is way the worst tool, I ever used. Absolutely no structure to find anything :eek:
I can't understand, why you should go the workaround with lisp scripting, if all the protocols are existing in free available C libraries and implementing them in the VESC core is mainly copy & paste, or even already exist in some board specific firmwares.
A simple Wiki would help a lot. How to compile the VESC tool on a Windows PC is still a mystery to me ;)
I think that's more ore less intentional, since vesc-tool donations have been the main money maker for the project for the last years. Might change with vesclabs. They already posted some how to videos, I expect a lot more to come.

You are right about discord: I can't even find my own script posted a couple of month ago with their search function!
 
Last edited:
I was not able to make VESC with those scripts work with a bicycle motor. I do not know how this controller makes this experience much different. I know Innotrace works, I know Luna works, but VESC no dice.
 
Last edited:
Hm, I don't believe, that the VESC will get much use in E-Bikes. Not plug and play, for people, that just want to ride. No bike specific functions for those, who want to deep dive in the setup.
And that high power versions are useless for legal bikes anyway. 🤷‍♂️

In the grand scheme of things, you're right, unless someone decides to put in the effort.

I think there's a ton of money and opportunity in making a vesc work for an ebike but there's also a problem:
- a good controller is the missing piece of a hot rod ebike
- if you make it easy for joe normie to do this, it could get ebikes cracked down on even more
- VESC team is generally EU based? if so, they are thinking about this a lot..

I think there's a hesitancy on many manufacturers' parts to produce this device.

That's the only reason i can think of why nobody has nailed a high power ebike controller using a vesc.
If that's not the problem then we could say that it's a lack of creativity and ambition only.

Choosing LISP as a programming language is...certainly a choice, but still.

Yeah that's a huge problem for me. I could figure out VESC programming but i am extremely hesitant to learn yet another single use language. I already write 5 programming languages for a living, that's enough 😅
 
So sad that the 'world's lightest full power ebike system ' is 1kg heavier than my 2020 italian mid drive and probably less powerful..
When will they catch up to DIY? ;)
 
Discord is way the worst tool, I ever used. Absolutely no structure to find anything
It very much depends on how it's set up. It's much more flexible than a typical forum or chat, but if not set up well, it can be a total mess.
 
Yeah that's a huge problem for me. I could figure out VESC programming but i am extremely hesitant to learn yet another single use language. I already write 5 programming languages for a living, that's enough 😅
I tried to lobby for micro-python in the discord, but Vedder replied that they already put a huge amount of work into it so it's not going to change any time soon. LispBM has moved to a point where it's a dialect on its own; using any other language as base would require the same amount of language construction because most of the vesc functionalites simply do not exist.

I wouldn't consider it a major obstacle though: with the inbuilt examples, some chatgtp and a few test drives, it's probably the quickest language I learned. Way simpler than C. Also scripting is just so much faster than the classic compilation - flashing - debugging, so it cuts developing time in half.

For an instance, for my flixbike project, it took me over 2 weeks to get the display working properly, spent mostly trying to figure out how the driver is supposed to work, although it's written in C which I already knew to some extend, while the basic lisp script took me only 1 week learning from scratch. Granted, i've been tweaking the script every since...

For anyone interested, see attached file. (You need to change the extension to lisp instead of txt to load it with vesc tool, or just copy paste into a new file.)
 

Attachments

  • knob_display_uart.txt
    9 KB · Views: 25
Last edited:
I write and review code for a living.
The code is very short for what it does and the language looks super conducive to what you're trying to do.

That being said, i write in languages that are have C and Java as their ancestors and reading lisp hurts my brain a lot. I understand lisp has a small, hardcore cult following but all the parenthesis and how bracketing works looks like the work of a mentally unwell person from here.

acceptable-coding-styles.png

Sorry i don't mean to disrespect anyone's work, just one very opinionated programmer's opinion.
 
To me, not knowing what any of the stuff shown actually does, the "lisp style" shown in that image makes more visual sense than any of the others. It puts the "func" bits together with the brackets that presumably enclose them to make them one functional object, while all the ohters put stuff in wierd ways on other lines and places that make things confusing.
 
LispBM, more-or-less, only exists for VESC devices: LispBM: Concurrent Lisp for Microcontrollers -- the about section basically says as much.

And it gets much weirder than that example.

Code:
(define a 0)
(cond ((< a 0) 'abrakadabra)
      ((> a 0) 'llama)
      ((= a 0) 'hello-world))

vs, say python:

Python:
a = 0
if a < 0:
  return "abrakadabra"
elif a > 0:
  return "llama"
else:
  return "hello-world"

(Not a 1-to-1 example, but you get the idea.)

The whole S-expressions mode of coding can be hard to wrap one's head around.

It's, by no means, insurmountable, but I can understand people being flustered by the choice.
 
chuyskywalker, thanks for helping me understand that.
I don't like it more, but i at least understand it better!
 
Back
Top