I'm fairly new to the Arduino world, but have a history of good working knowledge of computers and software (I'm a software engineer), but I've only had the opportunity so far to create a few simple successful play-around projects.

I've decided to embark on a fairly ambitious project to build my son a ride on battery powered car for Christmas and trying to put all the pieces together.

An integral part of this plan is to develop what I call a couple of 'Power cells', which is simply a battery enclosure that has:


  1. An input from the Arduino to control the motor speed/voltage.
  2. An input from either the Arduino or forward reverse switch to control the direction of polarity (make motor spin forwards or backwards)
  3. Has a output to power the motor: 20V, drawing about 1-1.5 Amps
  4. Has a output to power the 9x 12V LED lights on it, about upto 50W total (the LED lights will be controlled by the Arduino outside of the power bank, seeing there are a few of them).

I've drawn up a schematic that works with the components I've bought to help put the system together and was wondering if I am missing anything, critical or not?

Info about the battery I'm using can be found here: Aldi Xfinity 20V Li-Ion Battery teardown.

More Specifically:

  • Are there any errors with the cabling, I'm assuming no additional earth is required in a DC Circuit.
  • What size cables will i need to adequately service my power requirements?
  • Would I be able to control the reverse polarity switch directly from the Arduino? As I would like to also trigger a beeper when it is switched in reverse mode. Keep in mind the arduino would need to control 2-4 power cells.
  • I assume the controlling the potentiometer from the arduino I would need to use junction boxes between the arduino and the power cells to distribute the signal across each power cell, would this be the best way to do this?
  • The Li-Ion Battery also seems to have T output pin, i assume this is temperature monitoring, is there a way to utilize this input into the arduino for safety monitoring?
  • I was thinking of splitting the lighting power load between 2 power banks, would this be recommended / possible? (left power cell would power left side leds and right power bank would power right cell leds, with the exception of them both powering the center led).
  • Are there any additional safety precautions I should be following, especially working with a Li-Ion battery, ie. Fuse etc ?

I'm planning to make 2x of these Power cells to put in the car (each powers its own motor) (with the ability to add another 2 down the track).

Would really appreciate your feedback (please let me know if this is not the right place to ask this sort of question).

Power Cell Schematic

  • I don't understand what you are trying to show with the wires. You have = and - lines merging. What is this supposed to mean? And this question will probably get flagged as not being a "Arduino" question since it is about stuff not directly about the Arduino boards or code that is running on them. I think a more electrical engineering forum is where they want questions like this. But while it is here I will try and give you an answer. One thing, there are no protection diode for the mosfet. I think you need to draw the negative paths for the circuit. It really doesn't make sense. – Rudy Nov 29 '18 at 0:53
  • Each controller / regulator board has a + and a - input, the merging is simply the way in which visio represents it, they never merge except on the boards. – MikeDub Nov 29 '18 at 0:57
  • You show them merging and then connected to a mosfet. And that is meaningless. If you want to know if anything is wrong you need to clearly show how the circuit is connected. I design electronics for a living. 30+ year. What you have shown is nothing anyone can work with. – Rudy Nov 29 '18 at 1:01
  • Maybe start with the boards. Then draw wires that show the connections to the terminal blocks/connectors on those boards. Use one color for + and one for -. (red and black are my favorites) – Rudy Nov 29 '18 at 1:22
  • I've updated the schematic image, I hope this is more understandable. Red is positive, black is negative (ground) and the blue one is a data wire from the controller. Does this make sense ? – MikeDub Nov 29 '18 at 3:30

OK. Looks much better now. And I see one problem. It seems that the normal way to do the speed control is with a pot. A variable voltage at the input depending on the rotation. The Arduino low end designs have an analog out capability but it really is not analog. It is a pulse width variable signal that produces an on percentage between 0 volts and the CPU positive supply voltage. The boards do not have a real digital to analog converter. (maybe some higher end boards but not boards based on the Uno CPU.

It may still work but you need to integrate the pulse output and produce a real analog output voltage. A resistor on the output connected to a capacitor to ground will do the integration and filter out the pulses.

See http://www.ontrak.net/pwm.htm for more details.

enter image description here

The problem you might encounter is to much loading on the capacitor by the pot input circuit. Without more details about the module I couldn't say. The signal can be buffered with an amplifier but that adds to the complexity. Still would be doable though.

Or you can add a real digital to analog converter to the Arduino board. That would be my preference rather than having to add a buffer amplifier if a simple RC circuit wasn't good enough.

Do you have a link for that board?

From the picture of the linked speed module. It uses a LM324 opamp to generate the PWM signal. I did a quick look and found a typical circuit.

enter image description here


Typical but not the exact one. It is much as I expected. And if you did the RC only filtering then it may just work. The opamp input would not be too much loading on the capacitor. The concern that I have is that the 5 volt maximum from the Arduino may not be high enough to turn the motor on at its maximum value.

Not the answer you're looking for? Browse other questions tagged or ask your own question.