Modifying the controller
The ESP32 draws a good bit more current than the 2.4Ghz transmitter, and I want the remote to be rechargeable so I don’t have to replace batteries all the time. Prior to the ESP32, I used an Arduino. The Arduino is easier on the battery, but as the project expanded, the Arduino became too limited for what I wanted it to do. When I had the Arduino in there I was powering the unit with a “9V” rechargeable (it was actually 2 Li-Ion cells in a 9V style case, so it hit a max of about 8.4V). At that time I used a couple of linear voltage regulators to get 5V for the dashboard and 3.3V for the transmitter.
But with the ESP32, the 9V didn’t last as long as I wanted it to. So I changed to a single 18650 Li-Ion cell. This has a capacity of 3400 mAh (vs 600 mAh in the 9V). So the primary objective here is to modify the controller to use a rechargeable 18650 and a switching DC-DC boost circuit to produce the 5V needed for the dashboard. There are a few other things going on, but that’s the thrust of it.
The first thing to do is to take the controller apart.
Ignore the dashboard on top in this view. Obviously your controller won’t come with one. To take it apart, unscrew the 5 screws marked with red arrows from the left hand side (LHS) of the controller. The remaining (silver) screw lets you remove the battery cover. You can remove that or leave it at this point. With the screws removed you can just lift that left half of the shell off the right half.
At the top of the controller there are a couple of knobs. Those knobs, and the On-Off switch are mounted on a little PC board that fits into notches on both halves of the shell. I usually like to try and hold that assembly in place on the right half of the shell while lifting off the left half of the shell.
Be aware, the trigger uses a little lever and spring mechanism to make it center. Both the trigger and the lever also fit into accommodating holes on both halves of the shell. I like to try and keep them in the right half of the shell as well when lifting the left half off.
NOTE: at some point (or maybe many points) during this modification, that spring is going to go flying. You probably should pick a spot where you have a good chance of finding it when it does.
With the left half of the shell removed, we need to remove the battery case from the left half to accommodate the 18650 and the boost circuit. I did this with a Dremel cut-off wheel. This will all be hidden inside when the project is done, so you don’t have to be terribly clean about it.
Next we have to remove a bit of material from the right side of the shell. This is a little cross bracing. This has to be ground down with a Dremel or similar to make room for the 18650 cell.
You can see another hole below the cross bracing in the RHS of the shell. That was for the charging port when I had a 9V battery in there. You can ignore it.
Next we have to make some minor modifications to the control board. Basically, we need to tap into the On-Off switch to power the DC-DC boost circuit.
This shows where the leads from the 18650 will connect to the board.
The wire marked “ignore” is from a previous mod. It can be ignored. Note that it’s attached to one pad of a little set of three. Those pads originally attach to the steering wheel pot. I removed the steering wheel and pot because it’s not needed and it doesn’t hurt to have a bit more room in there.
On the top of the control board we need to solder a wire onto the switch output terminal. This wire will power the DC-DC boost circuit when the switch is on.
I routed that wire around the aft end of the control board and tacked it down with a bit of hot-melt glue.
With the controller apart, and the control board hanging out, we can remove the steering wheel and pot.
Unscrew the knob from the steering mechanism from the outside, then unscrew the mechanism from the inside. Unsolder the three wires from the board and set this assembly aside (or even discard it). At this point I removed the raised portion of the outside of the RHS of the shell with a Dremel cut-off wheel and covered the steering wheel hole with a piece of black duct tape. No pic - but trust me, I really did.
Installing the charge port
The next order of business is installing the charge port for the 18650 battery. I use a female servo connector for this. You could also use the female version of standard 0.1" pin headers. I like to use 3 pins. I make the center pin (+) and the outer pins (-). This way I can plug it in either way.
To install this connector we need to cut a slot in the bottom of the RHS of the shell. I use a Dremel cutoff wheel to cut the slot, and clean it up a bit with an X-acto. We then use a healthy glob of hot-melt glue to hold it in place. Be careful not to get the hot-melt glue in areas that will keep you from putting the two shell halves back together.
Sorry for the poor focus on this pic:
Installing battery and boost circuit
Now we need to install the 18650 battery and boost circuit. I strongly recommend getting an 18650 battery with solder tabs if possible. If you can’t find one, we can solder wires to the battery terminals, but we have to be pretty careful since heat can destroy the battery.
If you’re going to solder wires to the battery terminals, you’ll first need to sand the terminal surfaces, clean them with a cloth and alcohol, apply some paste flux to them and then solder the wires on with a very hot iron. I set my iron to 450 deg-C and use a relatively broad tip. The ticket is to tin the tip first and make the solder joint as fast as possible. But of course it’s imperative that the solder flows on the battery terminal. After tinning the end of the wires, you can quickly reflow the solder on the battery terminals and introduce the wires. You don’t want the iron on the battery terminals for more than about 3 seconds.
Next I cut out a piece of cardboard to go between the battery and the boost circuit. I learned the hard way that the solder joints on the bottom of the boost circuit can cut through the heat-shrink insulation on the 18650 otherwise. Don’t do that.
Then I tape the boost circuit to the battery with the cardboard in between.
This is probably as good a place as any to talk about the connections. The (-) input on the boost circuit will go directly to the battery negative. The (+) input on the boost circuit goes to the wire we soldered onto the switch output on the control board. We also build our voltage divider with our two resistors across these two inputs (sorry I don’t have a proper pic of that).
Three wires are going to go from the controller to the dashboard. They will be the (+) and (-) outputs of the boost circuit and the junction of the voltage divider (which will be used to monitor the battery voltage). These three wires should be routed behind the control board and come out through a small hole we’ll make in the seam between the two shell halves at the top of the controller.
I like to gather all the wires that will go to each end of the battery and solder them to the battery wires at the same time. This makes it easy to protect the solder joint with a piece of heat shrink tubing. The negative battery terminal will connect to the control board (-) input, the two outer pins on the charge port, and the (-) input of the DC-DC boost circuit. The (+) terminal of the battery will go to the center pin of the charge port and the (+) input of the control board.
Before installing the battery into the shell is probably a good time to adjust the output of the DC-DC boost circuit to 5V. We do this by turning the control board switch On and turning the trim-pot on the DC-DC boost circuit while monitoring the voltage at the DC-DC boost circuit output. But you must have a load on the boost circuit to do this. You could use the ESP32 as a load or a beefy 50-ohm resistor, but beware that the resistor is going to get hot. We’re going to be dissipating 1/2 watt through it while we do this.
Then we can put the battery into the shell. You could secure the battery with hot-melt glue, but I didn’t bother. It’s going to be pretty tight in there.
Once the battery is installed, you can fit the shell halves back together. At this point you should make sure ALL the wires are tucked inside the shell - including the three that will later go to the dashboard. Also make sure you have your trigger and spring mechanism in place. This part can get a little fiddly - particularly getting the control board to seat properly into the notches in both shell halves. I found it useful to reach in through the switch opening on the LHS shell with an X-acto to guide the board into place while closing the shell halves.
With the shell halves back together (make sure it all fits nicely with no interference from the battery, wires, boost circuit, or hot-melt glue) you can drill a small hole in the seam between the shell halves where the three wires will exit. Note the location of that hole so it comes up through the dashboard mount (which is not there yet).
After this hole is drilled you will open the halves back up, run the three wires through that hole and reassemble the shell halves. At this point you can screw the shell halves back together.