DAVEGA X Updates

Sure, here you go.

rubber_gasket.dxf (2.6 KB)


Today I finished assembling the tester for the new DAVEGA PCBs. It’s the first time I made anything of the kind so I was very happy when everything just worked as intended. I’m rather proud of this creation.

The tester is used for both programming and testing. Using pogo pins, electrical connection is created to all peripherals – display, buttons, UART port, and programming port. There are 3 switches for:

  • power on/off
  • enabling/disabling data path to the VESC
  • switching the power source between USB and VESC (so that I can test that it can be powered from either correctly)

Here’s how it all came together. I designed the following PCB:

I ordered these pogo pins:

They consist of two parts – housing part (R75-2W) and pogo part (P75-E2). You can insert the pogo part into the housing like this:

The idea is that if the pogo part breaks (which does happen time to time) you can easily replace it.

The housing is supposed to be soldered to a wire but soldering it directly to a PCB works just as well.

Now, you need something that will hold the pogo pins straight up and prevent them from bending. Usually, an acrylic plate with precisely drilled holes is used. I don’t have good tools for making that one so I tried 3D printing a holder instead. Plus, decided to combine it with a snap-in mechanism for the PCB.

Here’s what I designed:

The hole size needed a little bit of experimenting. I settled at 1.8mm, which works very well. The pin comes in fairly easily but there’s almost no wiggle.

I printed it from PLA. Here’s the assembled PCB with the holder and pogo pins installed:

The four M3 bolts help in guiding the PCB in:

The snap-in mechanism presses the PCB against the pogo pins:

Then I can program the board and do all the testing.

My typical test procedure is to boot up, let the connection with the VESC to be established, enter the menu, navigate to the WiFi settings, and scan available WiFi networks. By doing this I make sure that:

  • communication with the VESC works correctly
  • button presses are correctly recognized
  • WiFi works correctly
  • rendering on display works correctly

The only thing I slightly messed up are the LEDs. They were supposed to indicate whether the PCB is powered from the VESC (green) or from the USB (blue). This works correctly only until the PCB is inserted. After that the other rail gets powered through the PCB so both LEDs light up. :sweat_smile: That’s very minor though, especially since the position of the switch is indicative of the same thing.


Looks very professional!


That thing is genius





Firmware v4.09

Most important updates:

  • faster start up
  • LLT Power BMS support (experimental)


- caching CAN IDs (faster startup)
- LLT Power BMS support (experimental)
- configurable update interval
- ignore decrease in charged/discharged energy (workaround for a VESC bug)
- fix: updating config from Metr CAN fails when imperial units are used
- fix: time retrieved from Metr CAN does not have correct time zone

This is probably the last v4.x release. v5.01 is ready and all new developments will go into v5.x. The idea is that v5.x will initially have:

  • v5.00 - equivalent to v4.01 + new partitioning
  • v5.01 - equivalent to v4.09 + new partitioning

The v4.01 is the last firmware version that works with the Unity legacy firmware. I’ll provide the v5.00 equivalent so that customers who receive a new unit with v5.01 pre-installed will have a chance to downgrade to a version that works with the Unity legacy. Downgrading from v5.x back to v4.x over the air won’t be possible.

I’ll get started on the v5 installer. Since it’s fairly simple (very similar to v4 installer), it should be available later on today or tomorrow.


Mac OS version of the v5 installer is available for download here. Windows version coming soon.

Guinea pigs with a Mac needed. :sweat_smile: @rpasichnyk? :pray: :pleading_face:


This looks awesome dude! I imagine it would be super handy!

I love practical tool design. Sometimes i’ll spend more time making a jig/tool/mould to get a job done than it would take just to do the job, but I can’t help myself :sweat_smile:


It runs, but have no time at the moment to do actual upgrade

1 Like

Windows version of the v5 installer is available for download here.

Guinea pigs Senior DAVEGA testers with Windows needed! :slight_smile:

Disclaimer: If you have a custom splashscreen, the davegax-v5-installer v1.0 won’t preserve it. I only realized it now. I’ll fix that and release as davegax-v5-installer v1.1.

Edit: Done.


Sup - I made a video on the DaVega!

There will be a follow up to this, going through all of the software setup and outlining the user experience

If anyone has questions about capabilities, or anything they want to know before buying, put your questions here and I’ll answer them in that second part.


Has anyone tried updating to v5 yet? Any success stories to share? :slight_smile:


I’m anxiously waiting for my davega to be delivered today :slight_smile: I’m going to use it on my spintend ubox powered dual motor scooter. Will I be able to keep my custom bluetooth module connected ? The other side of the VESC is all taken up with the throttle/brake connections.


I believe there are two UART ports on the ubox. If you have both occupied I’m afraid you’ll either need to sacrifice the BT module or use a PPM remote to free up the other UART port.


his throttle and brake are presumably using ADC since they’re for a scooter, which is on the same JST. He should be able to use a DaveGa from the tx/rx (which shouldn’t be in use) and 5v/gnd from one of the other headers (assuming you’ve swapped all davegas to 5v)


That’s what I was planning to do. And yes… I do use ADC1 and ADC2 for throttle/brake respectively. I use the other UART port exclusively for the BT module.

1 Like

Just thought of something… does davega pull stats from both VESCs ? The one I will directly connect to and the one on the CAN bus ?


In case you need a 2nd UART, I would recommend the usplit. I have davega running through 1 usplit connection and a line to my arduino which I use to control my board lights running though the 2nd usplit connection. My usplit is connected to 1 side of my ubox and the other side is occupied by the built in remote receiver.


Yes, it pulls data from all VESCs on the CAN bus.


I just powered it on and it seems to work great :slight_smile: Tell me… is there a way to edit fonts, colors, etc to our liking more ? I know my way around microcontrollers and their file systems very well. I’ve programmed a lot of projects in the arduino IDE and played with ESP1866 and ESP32s…

1 Like