DAVEGA X Updates

Yeah, an additional button in the middle or bottom too!

3 Likes

But then people would just buy without reading and appreciating all the interesting content up to the very end of the page. :hushed:

3 Likes

Don’t care, give me a davega, no baseplate included :laughing:
Reading is for nerds

3 Likes

Okay, I added the purchase button but… next time somebody asks me what those numbers in the green rectangle at the top of the screen mean… when normally, in a desperate search for the purchase button, they would scroll all the way to the bottom of the page and watch the short 15 minutes demo video that explains it… I’ll know who to blame!

3 Likes

oh no that naming is gonna be a headache :sweat_smile: Maybe version V.II? But then it becomes vV.II and starts to look like a bad emoji or something

I just need to outpace the VESC development real quick. :slight_smile:

3 Likes

I think it’s okay to share this here, but I just published my second DaVega video! Not on FW 5 yet but hopefully you enjoy anyways

Jan if you don’t want this here I can delete it

1 Like

I have this one from my last very wet ride. Feel free to use it if you like it. :slight_smile:

11 Likes

Hey Jan here are some video reviews about diode lasers. :slight_smile:




Davega pic dump

Playahaya build thread

10 Likes

Thanks! I actually ordered Atomstack X7 this morning. I haven’t figured any other way to test whether the aluminum engraving will work than purchasing one. This one has 10W of power, which is currently the highest you can get from a diode laser. If it doesn’t work, I’ll probably just sell it off and go for a CO2 laser.

I’m thinking of also using the laser for cutting product boxes from some nice paper. At least that should work.

3 Likes

Great for cork/rubber gasket cutting too. :grin:

3 Likes

If it works, make an extra option for custom text engraving, the laser will pay for itself :slight_smile:

3 Likes

v5.02 is officially released

# v5.02 | 2021-12-14
- ENNOID BMS v5.2 support
- improved support for LLT Power BMS (caching MAC address)
- warn that UART needs to be enabled if VESC connection fails
- warn if a reserved CAN ID (10, 11, 173) is used by any VESC

The latest stable firmware is now 5.02 for DAVEGA, 5.02 for VESC, and 5.2 for ENNOID. Welcome to hell! :smiling_imp:

9 Likes

Nice! Will try it tomorrow

I was dreaming of how to make a better travel build potentially for next year’s Carve PDX, and I might have the opposite problem – would it be possible to have the Davega iterate between multiple smart BMSes in the same board? :grinning_face_with_smiling_eyes:

Just get some more DAVEGAs. :slight_smile:

4 Likes

I’m currently quarantined, so that’s an ideal opportunity to work on the firmware and I’ve managed to get quite a bit done this week.

v5.03 is now available as a release candidate.

There 3 new features:

Pause lifespan tracking for a part

Thanks to @ShutterShock for the idea. This is handy for tracking the lifespan of a part that’s not installed permanently. Maybe you have two sets of tires that you toggle. Maybe you have an external battery that you only use for weekend trips but not for your daily commute.

Here’s how you pause the tracking. It’s completely straightforward:

Restore backup over WiFi

This goes in line with the transition to the DAVEGA v1.2 hardware that no longer has the USB port.

Before, it was only possible to upload data directly from the DAVEGA to the cloud. To restore the backup, you would need to download it to your computer and then copy to the DAVEGA over the USB cable.

Now this can be done directly from the DAVEGA:

WebREPL mode

Another update that allows doing more over the air. This is quite a big thing. I’ll do a separate post on it.

5 Likes

Woohooo! This is awesome, I mentioned this in my last video as something that would make the parts lifespan even more great! This will be perfect for me to use both my street tires and offroad tires in succession.

2 Likes

WebREPL mode

As you may know, DAVEGA firmware is written in micropython. Micropython is very cool and the WebREPL is one of the builtin features that allows you to connect to the device and get an interactive prompt.

With v5.03, DAVEGA will boot into the WebREPL mode if you hold the up and down buttons simultaneously at start up (using the :metal: grip).

Here’s how it looks:

DAVEGA will tell you the name of the WiFi access point it has created. Note that once you connect you’ll no longer have Internet so before you do that, you’ll want to open the WebREPL client in your browser, which is available at http://micropython.org/webrepl/.

You’ll want to make sure you have http:// and NOT https:// since the connection won’t work over SSL (we won’t be transferring credit card numbers or bitcoin wallet private keys so don’t worry). Though this may be counter-intuitive, the “Not Secure” warning is actually what you want here.

Now you’re ready to connect to the DAVEGA WiFi:

Then you can hit the “Connect” button in the WebREPL client and it should connect to the DAVEGA. You’ll be asked for a password, which is agevad (I had to put something; it doesn’t work without a password).

Then you should get the Python command prompt and you’re ready to run Python on your DAVEGA. How cool is that?!

For example, here’s one toy thing you can try. Type:

from frozen.display import DISPLAY
DISPLAY.print("hi mum!")

And it will get printed on the DAVEGA display:

There’s also stuff you can do that’s actually useful. In particular the frozen.commands module contains functions for archiving/restoring the DAVEGA data. On the right hand side of the WebREPL client there are widgets for transferring files to/from the DAVEGA.

If you combine this, here’s how you can get a data backup. Type:

from frozen.commands import backup
backup()

This will archive all the DAVEGA data into a single filed called /backup.dfs. If you then type /backup.dfs into the “Get a file” text field and click on “Get from device”, the file gets transferred to your computer.

The other direction is also possible. Say that you have a backup file called backup_from_another_davega.dfs that you either downloaded from https://davega.eu/backups or created using WebREPL the way I just showed.

In the “Send a file” widget, look up the file on your disk and click “Send to device”. The file name will be retained and it will be put in the root directory, so in this particular case the file path will be:

/backup_from_another_davega.dfs

Now we can go ahead and restore that backup as follows:

from frozen.commands import restore
restore('/backup_from_another_davega.dfs')

Last, the .dfs files are now stored in the DAVEGA flash memory. We may want to clean it up. Here’s one way of listing the files in the root directory:

import os
os.listdir('/')

Here’s how to remove the files:

os.remove('/backup.dfs')
os.remove('/backup_from_another_davega.dfs')

(The leading slash is not strictly necessary since we’re working from the root directory.)

Being able to run custom code on DAVEGA opens the door for tinkering if you know what you’re doing. Some other things one could potentially do include:

  • accessing VESC data programmatically
  • changing VESC settings
  • accessing smart BMS data programmatically
  • changing smart BMS settings
  • changing DAVEGA settings (including hidden settings)
  • adjusting DAVEGA odometers
  • writing DAVEGA plug-ins

Obviously none of this is straightforward and it’s not for everyone. It’s also riding completely without seatbelts and you can easily mess things up if you’re not careful. (Still if you backup everything first, there’s not a lot to worry about.)

Currently there’s no documentation for the DAVEGA APIs and I don’t intend to write and maintain complete documentation. However, if people come up with interesting use cases I’m happy to document relevant parts of the APIs and/or write up guidelines/tutorials.

12 Likes