Page 1 of 2

Building the Cavedioboard

Posted: Fri Nov 04, 2016 7:41 am
by bugo
Hello everybody!

We are Ugo and Giovanni two Italian mechatronic engineering students at the University of Trento.
We are doing our final project to be presented for the master degree. It consists of a particular electric longboard.

We want to electrify the Loaded vanguard flex 3 board with two hub motors, a "DIY" 12S battery pack with a123 cells.
The aim of the project is to create a controller for the motor that adjust the torque to the wheels in order to improve the stability and steer; so we have to design a particular sensor that measure the steering angle.

So far we are developing the CAD drawings of the board with solid works.
We have developed also the mathematical model of the longboard in order to understand any kinematic and dynamic constraints.

I've started a new topic in order to have an activity log of this project. Any suggestion, help and questions are welcome.

See you soon
Ugo And Giovanni

Re: Building the Cavedioboard

Posted: Fri Nov 04, 2016 4:55 pm
by Josh Hess
Very cool project. I am curious to see the results of the real-time torque adjustments while riding.

In order to actively sample the angle, you will need some kind of sensor. A few things come to mind for this. A flex sensor would do the trick with some calibration. They are very sensitive, inexpensive, and are also fairly durable. See here: You could possibly attach these to the truck hangar and the bottom of the deck with a little bend and then measure the value of the sensors as the bend changes. You could figure out the minimum and maximum value of the sensor for the range of the board angle and map it to your motor controllers.

Alternatively, some kind of encoder would work nicely and would have the highest resolution. A traditional encoder would work very well but would be hard to implement on the truck and may have issues with durability over time. There is a lot of shock and vibration on the trucks when riding that should be considered.

I think your best option would be to use a variable hall effect sensor with two magnets. The variable hall effect sensors essentially measure magnetic field polarity and intensity. They have three pins (ground, output, and voltage) and output similarly to a potentiometer. For example, if you wire up the hall effect sensor with 3v and ground without a magnetic field nearby, the output will read half (1.5v). As the north face of a magnet is brought towards the hall effect sensor, the voltage will approach 3v and if a south face is brought near, it will approach 0v or vice versa depending on the sensor's orientation.
Here is a video of one of these sensors in action:

Coming back to your application, I would mount it like this on the truck:

If you decided to use the caliber trucks, I can help design and test some mounting brackets and such for them and send you the files to be 3d printed.

I would also recommend this hall sensor: I am currently using it in my remote project with an arduino and I have had good consistent results with it.

I look forward to helping you with this project!


Re: Building the Cavedioboard

Posted: Fri Nov 04, 2016 7:32 pm
by Josh Hess
I made a quick model in SolidWorks to better illustrate the idea. Obviously the thing to do from here is to make a mount for the hall sensor. I think something that bolts in with the truck would work nicely and could be 3D printed or even water jet cut. The best way to mount the magnets, especially for testing would be with some glue. Once they are tested and tweaked, I would recommend using some strong epoxy so they don't fall off. Here is a quick video showing the design:

Here are the files for the trucks and that assembly:
(3.45 MiB) Downloaded 319 times


Re: Building the Cavedioboard

Posted: Fri Nov 04, 2016 7:50 pm
by bugo
Thanks a lot Josh for your hint its super useful!!!!

The hall sensor is a very good idea!
For measure the steering angle we have also thought to a 3-axis magnetometer to fix in the hangar of the truck and a magnet in the deck.
Otherwise a linear potentiometer fixed it the truck that slide on the deck could be a solution.
In any case we have to filter the data due to vibration or involuntary movements.
Anyway now we are collecting all the sensors, board, motor and controller and than we can start the test.

But due to the state where we live, the cost and bureaucracy of the university the times are getting longer!

See you soon guys,
Ugo and Giovanni

Re: Building the Cavedioboard

Posted: Sun Nov 27, 2016 12:11 pm
by giovisanta
Hy guys,

I'm Giovanni and together with Ugo I'm building the board mentioned before.
I would like to ask you if these motors we bought (they are not arrived yet) are BLDC motors or PMSM ?
A professor of us told us this is an AC motor but I'm not so sure. ... otor-dual/

Many thanks,

Re: Building the Cavedioboard

Posted: Sun Nov 27, 2016 3:00 pm
by Josh Hess
Those motors are definitely bldc motors and can easily be driven with the VESC motor controller. They are not sensored so you will have to give the board a small push before engaging the motors for smooth startup.

Re: Building the Cavedioboard

Posted: Tue Jan 17, 2017 12:33 pm
by bugo
Hi guys! Finally all stuff arrived at university!
Today we start connecting the two vesc to the two motors.
Unfortunately there are problem in the detection of the motor parameters, both in BLDC and FOC.
If we try to detect the parameters the motor start to spin jerky and the message is "Bad detection parameter received"!
Both vesc and motors doesn't work properly!
We use a lab DC power supply 0-30 V 0-3A.
The vesc is updated with 2.18 firmware, we use a 75KV hub motor.
Any of you has some ideas to proceed?

Thanks a lot,

Re: Building the Cavedioboard

Posted: Wed Jan 18, 2017 8:48 am
by bugo
So guys, sorry for the question above, now the motors works perfectly! We have done a mistake with the BLDC tools, now fixed!
Today we start with the a123 battery pack! We are not a solder master so we have bought the cells with the wings! In the attachment there is the battery configurations with BMS!
If you have any suggestions on soldering the battery pack don't esitate!

While I'm soldering Giovi will try to send speed reference to the vesc from an arduino! Do you have any suggestions about how to set up the vesc (PPM, Nunchuck, e..) and which input use in the vesc?

See you soon,
Ugo and Giovi

Re: Building the Cavedioboard

Posted: Wed Jan 18, 2017 9:51 am
by Josh Hess
Very nice progress! Those hub motors look very nice as well. A side note, if you don't have to run in FOC, I would stay away from it as it only complicates things. In my experience, most of my VESCs burn out the DRV chip in FOC.

As far as interfacing with an Arduino is concerned, the easiest way would be over the three PWM pins. This will allow you to control the motor speed with the Arduino via PWM. However, you can not receive data from the VESC such as motor current, battery voltage, etc. If you need to do that, you will have to tie into the UART connection. There is a short tutorial on Ben's site for doing that here:

If you only need to send control commands to the controller (accelerate and brake) then I would stick with just the PWM as it is much easier. You should also be able to find some tutorials online on how to interface an Arduino with a Brushless Motor ESC. Some tweaking for the minimum and maximums pulse widths may be necessary as well, although the latest release of BLDC tool has adjustments for this as well.

I'm excited to see this project move forward! Keep up the good work.


Re: Building the Cavedioboard

Posted: Wed Jan 18, 2017 1:27 pm
by bugo
New update!
Today we have built the battery pack with the BMS and charger!
Soldering was difficult but the cell are finally well connected!
But we have a problem with the BMS... We have been very careful in the connections and soldering of the BMS itself. We double checked every voltage meanwhile we were proceeding with the work. When we have connected the BMS to the driver of the motors the driver don’t work. With a multimeter we have measured the voltage that the driver receive and it is very low (4,5V but it should be of 39V).
If we measure the voltage directly from the battery (bypassing the BMS) the voltage is correct of 39V as you can see in the images.
Any idea?

Thank josh for your hint!
What we want to do is cruise control and the arduino (which elaborate the data from the steering sensor as you can see in the schematic) only have to send a RPM signal to the vesc (different for the right and left vesc) and the motors have to maintain this velocity (is like the Nunchuck cruise control but with the velocity of the rear right motor different from the rear left).

Update is coming