So this is my code right now:

```
\documentclass[12pt]{article}
\usepackage{pgfplots}
\usepackage{float}
\pgfplotsset{compat=1.17}
\usepackage{tikz}
\usetikzlibrary{shapes, arrows.meta, automata, positioning, matrix, calc}
\usepackage[RPvoltages, american,siunitx]{circuitikz}
\usepackage[margin=1in]{geometry} 
\usepackage{caption}
\usepackage{siunitx}
\begin{document}    
    \begin{figure}[H]
        \centering
        \begin{circuitikz}
            \draw (0,0) to[cI, l=2$i_o$] ++(0,5) to [short] ++(2.5, 0) coordinate(nearCtrlCur) to [R = 100 <\ohm>,v=$v_1$]++(0,-5) to[short]++(-2.5,0);
            \draw(nearCtrlCur) to [R = 25 <\ohm>]++(2.5,0) coordinate(near25Ohm) to [R = 200 <\ohm>,v=$v_2$]++(0, -5) coordinate(below200Ohm) to[short]++(-2.5, 0);
            \draw(near25Ohm) to [R = 50 <\ohm>,  i>^= $i_o$]++(2.5,0) coordinate(near50Ohm) to [R = 5 <\ohm>]++(0, -2.5);
            \draw($(near50Ohm) + (-0.5, 0)$) to[open, v = $v_3$] ++(0, -5);
            \draw(below200Ohm) to[short] ++(2.5,0) coordinate (belowCtrlV) to [cV_=$5 i_o$] ++(0, 2.5);
            \draw(near50Ohm) to[R = 20 <\ohm>]++(2.5, 0); 
            \draw(belowCtrlV) to[short] ++(2.5, 0)to [V,v_=38.5 <\volt>] ++(0, 5);
        \end{circuitikz}
    \end{figure}
\end{document}

```

Output:

[![enter image description here](https://i.stack.imgur.com/kdnzh.png)](https://i.stack.imgur.com/kdnzh.png)

I am trying to mimic this:

[![enter image description here](https://i.stack.imgur.com/80l4C.png)](https://i.stack.imgur.com/80l4C.png)

Is there a way to get the voltage labels `v_1`, `v_2`, and `v_3` such that

1. The spacings between the vertical line and `v_1` and `v_2` is the same as that between the vertical line and `v_3`.
2. The positive and negative signs for `v_1` and `v_2` are positioned in such a way that it is similar to that in `v_3`. That is, the plus sign has equal relative position from the respective top right corner, and the minus sign as well from the respective bottom right corner.

I was wondering if there is a "general" way of doing so for all the voltages, because mine is somehow ad-hoc for doing `v_3`, and the voltage labels for `v_1` and `v_2` can only be applied to only one passive component.