ARDUINO - help and ideas thread

true they usually give raw data… still tho would be full data logger with that.

This is true, its so easy to forget how much you’ve spent … at least im nearly set up to log data long after the world has ended! I usually sell something i no longer want/use on ebay and the money i have transferred to my paypal is my project spending money

thats a good system to keep things going, I just throw it in a box for “later”

1 Like

I’m designing controller boards to fit inside cheap chinese wii nunchucks so look forward to that in the future!

I think one of users on this forum already made a module called ‘‘vesc bluetooth module’’ he even created an app for iphone’s and the app, I believe, was able to show graphs / charts, too!

Perhaps there can be some cooperation made on how to make this to be recorded onto sd card…

Really nice thread !

I played a lot with Arduino and VESC. I got working an “embedded computer” with

  • Lights ON/OFF
  • Brakelight
  • Datalogging on microSD
  • LCD screen with button for menu interaction
  • Odometer

For that, I had to improve a bit the Rollinggecko’s library to add fault management and temperatures.

Here is an overview of the project :

However, I2C LCD, VESC comm, SD librairies, that was too much for my nano… But everything was working separately…

Using the VESC UART with a HC05 now, I tried to measure directly battery voltage with a voltage divider. Worked well on the breadboard but my final solder on the prototype wasn’t clean enough and I fried all (Nano + LCD) :smile:

@chinzw I’m not sure we could simply implement xml configuration loading though UART because of packet length. MC_CONF command is a huge amount of data. It didn’t matter for Vedder as far as he used USB connection. But that’s not impossible !


I’m not sure what I’m looking at here … :slight_smile: @Okami, what would be the bare minimum we should look at trying to log for the database? If we cut all the un-necessary parts off the logger (no displays etc) so it is simply recording the minimum, I guess it would also be possible to reduce the amount of data by only taking a ‘log’ every second rather than 1/10th of a second (or whatever the sample rate would normally be)

@Pimousse the magic smoke is never a welcome sight. I guess it went up quite nicely :wink: Would you be interested in assisting with this little project seeing as you have basically already done it? As we mentioned above the goal would be to log some basic info to an SD card to collect data for the database. If you don’t mind sharing your modified code with us I’m sure that would be a great start !

I’m so in love with open source and collaborative projects. So I’ll be so pleased to share everything.

I had datalogger working

Here with random values. I wasn’t able to have I2C LCD, SD breakboard and VESC comm working simultaneously. (I didn’t find out why).

Honestly, I switched to the HC05 bluetooth module with VESC Monitor app for datalogging which is quiet more convenient. So I didn’t push the dev so far.


Brilliant, thanks so much! Would you be able to email it to me when you have a spare minute please, no rush at all - just when it is convenient for you! I’ll pm you my email address if this is ok :slight_smile: then i dont mind forwarding it to whoever else would like it.

@smudgeUK god I’ve had a lot of mentions in this thread. Sorry for the delay joining in, work has been intense.

My plan for the Arduino is to control the PWM signal so you can adjust top speed and apply a delayed throttle curve to the ESC. This will make some boards easier to ride and when friends want to ride you can limit the performance so they won’t get thrown off the board.

So far I can read the PWM signal from the receiver, apply some smoothing to the result (average over 10 inputs) and then relay that to a servo (will be an ESC in the future). There is a lot more to do and I’m a total beginner to Arduinos and coding so the code is a mess but I’ll be giving it a tidy and sort out the comments. I am getting the hang of it though and have an idea of what needs to be done. The only thing I might struggle with is scheduling the tasks so they don’t interrupt each other. Hopefully I’ll have time this week to tidy stuff up, add comments and give out the code I have so far.

@Pimousse the problem running a few things at the same time is you only can process one thing at a time so if a bit of code interrupts another task it will stop things from working. Have you tried adding delays between parts of the code to slow things down? The other option is to schedule the code but reading about that means you have to do a rewrite of it all.

As I said, I didn’t push the dev so far. Maybe adding some delays could help. I already have one at he end of the code. I’m not used to handle intterupts, and I read (IIRC from Vedder himself) that Arduino doesn’t manage it very well.

regarding arduino / SD Card data logger - we’ve been there already and @makevoid has done it already. See

I would love to see the microSD config.XML to VESC - with a slow and limited default config being loaded and then the ability to load the “hero mode”.

So @EssEnn how much progress have you made? It seems that you have had a discussion with @DWiskow already, he is the one who has already made such a ‘‘module’’.

Though I dont have the time and understanding to go into that now, so:

Can you just summarise how far have you gotten and is it easy to build such a device / module?

(for throttle ramping)

Original thread, where @DWiskow mentioned it, is here:

Would be great if he found the time and willingness to share this with others!

At least from the topic alone I dont get a clear idea on how to do this myself… unfortunately

I have to check up on our initial plans for the Data base!

We intended to collect energy use data, somer power requirements and such.

@whitepony went even further and advised on how it should look to make it somewhat meaningful (with charts etc)

If I reorganise all of that stuff in somewhat readable manner I will update the old thread or make a new one!

Basic things would be:

  • mah consumed
  • distance done
  • average speed
  • top speed
  • max amp draw
  • average amp draw

From this it would be way easier to calculate max achievable distance from battery based on average + top speed (and average / peak amps)

Also design suitable battery for your needs (EG only 15mph/25kmh top speed and so on)

It sounds really great !!

I was wondering about how build a database for collecting datalog from VESC Monitor app. I built a Excel sheets with macros to make the analysis fast and easy with lot’s of calculated parameters (like range). It’s still in beta since I need more .txt files from longer runs than mine (1km, 3min :smile: ). But anyway, it could be awesome so share the file directly from the app to the database and then see charts and average data etc.

The link of Excel sheet :

Wait… Are we building the eskate Google ? :smile:

1 Like

I have to send this to ‘‘our programmer’’. Unfortunately, at this stage I am more of a ‘‘coordinator’’ and ‘‘inspirer’’ than the one who does all the work!

@deathcookies is the one doing the hard work now (technical things).

I think, to make this even further he have to contact @makevoid and some of the high experts of this forum, to progress the project further.

As of right now we have only finished the platform, where to put all the info and text files / pictures etc… the next step with converting files and uploading them in an easy to look at result would probably take some extra effort… it is a question about human resources, now, I think :slight_smile:

Would it be possible for you to summarise what has been done so far?

(For reliabily recording and exporting data from vesc)

I opened the thread but it is way too intense and detailed for me to start readin it now… perhaps someone who has gone through all the thread can do the simple work of outlining:

  • How well does it work?
  • Is it easy to set it up?
  • What exactly is required besides Vesc, the app to make it working?

Answers to all of this would be great! So far the only ‘‘shortcut’’ and easiest way to see some live data from vesc and also export it is to use the bluetooth module. So I am not so sure how much easier it is to do it on a SD card.

I don’t have any skill in web or database coding, but I’ve another skill : I love to learn :slight_smile: So if I can join the dev process, let me know. I’m also beta-tester of VESC Monitor app and report issues to the dev. I could be a link between both platform if needed.

There are lot’s a talent guys here, but it seems that some of them work only on their own (sometimes with the hope of making money…). If only we could all put effort together, we should be able to ride our board just with our mind. :smile:

1 Like

ha ha :smiley: nice future concept and something to strive for! :smiley:

Dunno how fast this ‘‘brain impulse’’ technology will come in everyday use, though there are some applications where it is already happening, like with the paralyzed people and such…

I wrote a message to @deatchookies (our dev), will see what he tells us… though, we will probably need more than one person involved in this one… since it was a somewhat hard toll on @deatchookies to do it alone, partly of wrong initial planning, though, with more people in the team, this should be doable…

Though, I do hope that all of us (the interested parties) can come up with a plan and find a way to collaboate with each other… will be hard if everyone is coding and doing their own project alone…

Some ideas and suggestion for the first initiatives on what should be done, would be great!

So far, I’ve got to understand how much progress have been made so far…

As of now it looks like there is:

  • Working bluetooth module, with the option to make an app for android, too, not just iphone

  • Way to write vesc data to an SD Card (not 100% in tune, but that’s what I understand)

  • Somewhat finished Esk8 database for storing and displaying info with a few functions and design things still missing (should be updated&improved over time!)