01-Apr-2017, 08:59 AM (This post was last modified: 02-Apr-2017, 09:08 PM by Oscar. Edit Reason: added missing link )
That VTX/OSD combo is pretty much perfect - Grisha0 has already reviewed it here, so I won’t bother
I had only one issue with this thing - it is unable to read battery voltage directly, only trough MSP, which in turn doesn’t work on Raceflight beta builds. The result on my build:
That is a design decision - Diatone makes them to be used in their own builds, where they get power from a regulated source. Ok, I get that, time to hack ^^
Since OSD on board is basically an Atmega powered system, I have figured that the chips pinout has to be configured somewhere inside the MWOSD code. Here it is:
So basically, we can have live voltage reading taken either from analog pin 0 or 2. I have chosen A0. Because reasons
Here is this chips pinout:
full size | source
Pin A0 on this VTX is driven to the ground by a 1k resistor to always show 0V.
We have to remove that resistor and solder on a piece of wire either directly to an Atmega pin or a conveniently bigger resistors soldering pad. Guess which I have chosen ;p
Ok now, we shouldn’t deliver 4S voltage to an Atmega or else it will read gibberish. It has to be in range from 0 to 1.2V and then it can be calibrated through the MWOSD GUI. We have to make a voltage divider of some sort - I have made a resistor type divider here.
After countless minutes of calculating resistance values I figured: duh… I am making a KV mod here… Those are required resistor values:
source
Of course I didn’t have a 1.5kOhm resistor. I have scavenged a very similar SMD components from an old board I had laying around. Reuse what you can guys.
They are so tiny - I have lost 2 during soldering
Connect loose ends with another wire and your voltage divider is ready to be soldered onto the board:
Use some hot glue to secure it in place.
Afterthought: I could just replace old 1kOhm with a 1.5kOhm since it was grounded anyway and just drive a wire with a 22kOhm one to the same pad/leg - this way I would have only one wire flying around the board.
Since those resistors have slightly different values than “original” kvmod ones, they have also a bit different readings depending on voltage applied:
2s 7.7v reads as 7.4
3s 10.9 reads as 10.8
4s 15.05v reads as 15.0
4s 16.45v reads as 16.4
Perfect for my 4S needs.
BTW, live voltage reading seems to refresh more frequently than MSP driven solution:
I had only one issue with this thing - it is unable to read battery voltage directly, only trough MSP, which in turn doesn’t work on Raceflight beta builds. The result on my build:
That is a design decision - Diatone makes them to be used in their own builds, where they get power from a regulated source. Ok, I get that, time to hack ^^
Since OSD on board is basically an Atmega powered system, I have figured that the chips pinout has to be configured somewhere inside the MWOSD code. Here it is:
Code:
#ifdef SWAPVOLTAGEPINS
#define VOLTAGEPIN A2
#define VIDVOLTAGEPIN A0
#else
#define VOLTAGEPIN A0
#define VIDVOLTAGEPIN A2
#endif
So basically, we can have live voltage reading taken either from analog pin 0 or 2. I have chosen A0. Because reasons
Here is this chips pinout:
full size | source
Pin A0 on this VTX is driven to the ground by a 1k resistor to always show 0V.
We have to remove that resistor and solder on a piece of wire either directly to an Atmega pin or a conveniently bigger resistors soldering pad. Guess which I have chosen ;p
Ok now, we shouldn’t deliver 4S voltage to an Atmega or else it will read gibberish. It has to be in range from 0 to 1.2V and then it can be calibrated through the MWOSD GUI. We have to make a voltage divider of some sort - I have made a resistor type divider here.
After countless minutes of calculating resistance values I figured: duh… I am making a KV mod here… Those are required resistor values:
source
Of course I didn’t have a 1.5kOhm resistor. I have scavenged a very similar SMD components from an old board I had laying around. Reuse what you can guys.
They are so tiny - I have lost 2 during soldering
Connect loose ends with another wire and your voltage divider is ready to be soldered onto the board:
Use some hot glue to secure it in place.
Afterthought: I could just replace old 1kOhm with a 1.5kOhm since it was grounded anyway and just drive a wire with a 22kOhm one to the same pad/leg - this way I would have only one wire flying around the board.
Since those resistors have slightly different values than “original” kvmod ones, they have also a bit different readings depending on voltage applied:
2s 7.7v reads as 7.4
3s 10.9 reads as 10.8
4s 15.05v reads as 15.0
4s 16.45v reads as 16.4
Perfect for my 4S needs.
BTW, live voltage reading seems to refresh more frequently than MSP driven solution:
Find me on Youtube and Instagram. I currently fly: DRC Aura, NOX5R, Minimalist 112 and drive a scrap RC car