Modular Potato Powered Robot

Powering LEDs or clocks with potatoes is too simple for you ?
Let's build a modular robot powered by a single potato !

Similar projects worth following
This is a low power modular Robot, powered by a single potato !
If you can power it with a potato, you can power it with almost any power source !

Why ? :
I know that building a potato robot isn't going to change the world, but I hope it will encourage people to create low power things (without AA battery, or manual lipo battery charging)

This robot must be :
1. Modular (breadboard / perfboard friendly)
2. Arduino compatible
3. Low power = Powered by a single potato (on the robot)

The modules will be :
1. Energy harvesting & power supply
2. Supercap breakout
3. I2C dual motor driver & Tachymeter (optosensor, hall, IR or whatever you want)
4. I2C distance sensors (IR, Ultrasonics or LIDAR)
5. Other modules that would be useful on a robot ???

PS : English is not my native language, but i'm doing my best.
If you see mistakes, do not hesitate to tell me so that i can correct and improve myself

This project :

I was looking for a project idea to submit for the 2018 Hackaday Prize and when I saw the "Pickle Rick Achievement", I said to myself "I want it". That's how I got the idea of my potato robot.

My robot is currently composed of a potato battery (energy generation), two supercapacitors (energy storage), an energy harvesting module (to extract energy from the potato to supercapacitors and generate a 3V3 power supply), an I2C motor driver (to control (with PID) and monitor the two small dc motor without overloading the main µC) and an arduino nano (the brain).

Both modules can be used for anything and everything (solar energy harvester to a lipo battery, a stepper moter driver...). The potato battery is only the fun part of this project !

I did not have a potato when I took this picture, so I used an onion instead.

The potato battery :

A potato battery is basically a galvanic cell (or voltaic cell). It is an electrochimical cell that uses a chimical reaction (oxidation and reduction) to produce power. The metal from the two electrodes reacts with the electrolyte (the potato) and generates a flow of electrons ( = current ). The energy comes from the oxidation of the magnesium electrode, not the potato itself.

The voltage of the cell is determined by the "standard potential" of the two electrodes.

For my potato battery, i will use Magnesium for the anode (-) and Copper for the cathode (+).

The magnesium has an standard potential of -2.37V, and the copper has a standard potential of +0.38V. In theory, i should have 2.75V ( 0.38 - ( -2.37) ) but because of some electrochimcal stuff i don't completely understand, i only have around 1.6V.

If i want to increase the voltage of my potato battery, i have two options :

  1. Use a different metal for both electrodes (but it will be too expensive or too dangerous)
  2. Place multiples potato cell in series.

If i want to increase the current of my potato battery, i have three options :

  1. Increase the surface of the electrodes. The more surface you have, the more reaction there is and the more current is produced.
  2. Lower the pH of your electrolyte = use something more acidic than a potato (lemon for example)
  3. Reduce the internal resistance of the potato by placing the electrodes as close as possible. You can also boil the potato for a few minutes (you do not want mashed potatoes ...)

I measured the current and voltage of the potato battery to determine the maximum power  (MPP) I could get. For the electrodes, i used a 8mm x 100mm magnesium rod and a 8 x 100mm copper pipe. Both electrodes were spaced 10mm apart :

I also took into account the efficiency of the energy harvester :

I observed an open circuit voltage of 1.45V and an short circuit current of 12.31mA.

The maximum power of THIS potato battery is 1mW (MPP = 35% of Voc).

The Supercapacitors :

The two supercapacitors of 350F and 2.7V are assembled in series. This equates to having a single supercapacitor of 175F and 5.4V.

The energy of a capacitor can be calculated with the formula : E = 1/2*C* V².

If i charge my supercacitors at 5V (I saw what happens if you overload a basic electrochemical capacitor, I really do not want to see what happens to a supercapacitor in this case...), the energy of the capacitors is : E = 1/2 * 175 * 5² = 2187,5 Joules.

Because of the ernergy harvester IC and the 3V3 regulator, i can't descharge my capacitors...

Read more »


Schematic of I2C motor driver module

Adobe Portable Document Format - 108.46 kB - 06/05/2018 at 10:11



Schematic of energy harvesting module

Adobe Portable Document Format - 41.16 kB - 04/20/2018 at 19:36


  • 2 × BCAP0350 E270 T13 350F, 2.7V SuperCap
  • 1 × BQ25504 Energy harvesting IC
  • 1 × TPS63030 High Efficient Buck-Boost Converter
  • 2 × DRV8839 Low-Voltage Dual ½-H-Bridge Driver IC

  • 3D CAD in progress.

    Alexandre LE GALL07/12/2018 at 10:55 0 comments

    I am currently doing the 3D CAD of the robot body.

    For the moment, the robot has no caterpillars. I prefer to stay simple and use wheels for the first prototype.

    Here is the right part :

    I need to make some adjustments before printing the left part.

    I still have to do the central part (on which will come the electronics and the potato).

    In the following days, I will try to update my github repository and add details to this project page.

  • It's (almost) working !

    Alexandre LE GALL07/10/2018 at 21:06 0 comments

    I didn't have potatoes at home, so let's build an Onion Robot for now !

    The two supercapacitor are slowly charging (i didn't measure the current/voltage/energy but it's charging) and the undervoltage, overvoltage, good battery indicator work well but the 3V3 regulator can only power very small load when it's connected to the BQ25504.

    if i want power bigger load (the i2c motor driver for example), i have to connect the regulator input directly to the supercapacitors

    I think the problem of power limitation comes from my layout. I will try to modify the board with tiny wires and fine soldering skill, until i make a version 2 of this board.

    The i2c motor driver works perfectly well (μController, H-Bridges, and quad comparator).

    I am currently working on the body of the robot (it will be printed in 3D). I hope to post some photos or pictures soon.

  • Soldering done !

    Alexandre LE GALL07/05/2018 at 18:45 0 comments

    I just finished soldering the boards.

    I made some mistakes but it was easily repaired.

    I have not yet test everything, but the buck boost converter (energy harvesting module) and the quad comparator (motor driver module) is working properly.

    Tomorrow, I will try to flash the microcontroller, and test the the H-Bridge ICs...

  • PCB and components finally here !!!

    Alexandre LE GALL07/01/2018 at 19:56 0 comments

  • Problem with the gerber files ??

    Alexandre LE GALL06/07/2018 at 08:35 0 comments

    I wanted to send PCB in production, but i have a problem with the gerber files of the harvesting module : The online gerber viewer (from JLCPCB) does not want it.

    There is no problem with the other two modules, and i use the same export parameters.

    I tried to export with another computer (and a different OS), but the problem persists.

    I also tried to upload the files to another PCB manufacturer (EuroCircuit: we use this manufacturer at my job, but it's a lot more expensive than the Chinese manufacturer), and it works this time...

    I don't understand where the problem come from...

    I have to look at this more closely (waiting for the results of the robotic contest).

  • Arduino Energy Logger

    Alexandre LE GALL06/04/2018 at 14:02 0 comments

    I'm currently building an Arduino Energy logger.

    It's made with what i have on hand :
    • Arduino Nano
    • INA219 Current Sensor (actually with an 0,1 Ohm resistor, i need to change that if i whant mesaure micro or nano ampere)
    • RTC module
    • SD card breakout (bottom side)
    • 128x32 Oled Display
    • 18650 Lipo battery + lipo charger module + 5V boost converter

    It will be useful for measering power and energy that i can harvest from a potato...

  • Motor Driver Board

    Alexandre LE GALL06/04/2018 at 13:59 0 comments

    I'm just finished the I2C motor driver board.

    There is :

    • 2x DRV8839 dual half-bridge driver (it can drive 2 motor in both direction, or 4 in single direction)
    • 2x INA180 Current Sensor (1 for each driver)
    • 4 sensor input (analog, or digital with a LM339 Quad comparator)
    • Atmega168 or 328P (for I2C interface, Speed Control and monitoring)

    It's perfboard/breadboard compatible (except for ICSP and UART programming connector).

  • Energy Harvesting Module

    Alexandre LE GALL04/20/2018 at 21:03 0 comments

    Here is a 3D model (kicad 3D view) of the Energy harvesting module.

    It is based on a BQ25504 Energy Harvester (with MPPT and Battery management), pair with TPS63030 Buck/Boost Converter. It's perfboard/breadboard compatible.

    There is also a 1V precision voltage reference.

    You can adjust the parameters (Under & Over voltage protection, Output voltage...) by changing the value of some resistors.

    I also made a breakout board for BCAP0350 E270 T13 Supercap (350F, 2,7V).
    It's also perfboard/breadboard compatible, but you can use M3 Mounting Hole as terminals if you want (for high current).

    There will be more details (explanation and schematic) on the main project page.
    I still have to do the other modules (I2C motor driver, sensors...) before I can order PCBs and components (and wait for my salary).
    I also have to open a GitHub repository to share files and documentation, but I have never used it ...

  • Somes calculations = autonomy of +60 minutes

    Alexandre LE GALL03/27/2018 at 11:09 0 comments

    I juste made some simples calcultation to find out if it's possible to power the robot with potatoes energy.

    The energy is harvested from a single potato in two super capacitor (2.7V / 350F).

    If i place the two capacitor in series, it gives me a single capacitor of 5.4V / 175F.

    The energy inside capacitor is :Energy in Capacitor

    I don't want overcharge it, so i will charge at maximum 5V :

    To extract maximum energy from capacitor, i need a boost converter. Because of the energy harvesting IC, i can't discharge over 2.2V :

    I can store and use 2187.5 - 423.5 = 1764 J (0.49 Wh)

    At 3.3V, my two motors use each 25mA (light load). (3.3V * 25mA = 82.5 mW)
    The electronics (µC, sensors... ) sould use maximum 50mA. (3.3V * 50mA = 165mW)
    In total, i need 0.33W. (2 * 82.5mW + 165mW = 330mW)

    With 75% efficency boost converter, i should use 0.44W of power from the capacitor.
    With a consumption of 0.44W and a capacity of 0.49 Wh, i can power the robot for 1.11 hours (66 minutes, 49 seconds)

    If i want know how long i can charge my capacitor with potatoes, i have to measure how much power i can exctract from it...

    Edit after some datasheets reading and power consumption measurement of my new tiny motor...

View all 9 project logs

Enjoy this project?



Lee Djavaherian wrote 06/05/2018 at 06:57 point

I like your decision to use the supercapacitors.  And the BQ25504 seems to be pretty amazing with its 130 mV minimum input.

You mentioned that your tiny motors use 25mA each under light load.  This is interesting, since the ATmega 328p can drive up to 40 mA on its IO pins.  If you're careful with pulse-modulation/gearing, depending on the situation, you might be able to skip the DRV8839 altogether and drive the thing directly from the microcontroller pins, maybe saving a few mA.

Good luck with your project---it gets one thinking about how to handle such extremely low-power situations.

  Are you sure? yes | no

Alexandre LE GALL wrote 06/05/2018 at 07:22 point

I have not yet published the schematics and details of the motor driver board, I will try to do it during my lunch break.

The DRV8839 has a separate Motor (0V to 11V) and Logic (1.8V to 7V) power supply, and a maximum drive current of 1.8A.

You can use low power motor (like me in this project) or more powerful motor if you want.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates