Flowchart - how to?


I have difficulty explaining the project I am trying to make so I thought it would be a good idea to break it down into a flow chart. I don’t have much experience in making flowcharts, how much detail do you go into? how much stages do you break it down to?

I’ve attached the flowchart that I made using visio. Its a very basic project I am trying to make hopefully someone can tell me if my flow chart makes sense??

Its just about basic motor control, turn a motor a set number of revs in one direction and then reverse the same number of revs to a starting point with some time delays.

What would the suggested method be of taking a project from idea to end product?

Any suggestions of what other user do to start there project would be much appriciated.


The first thing you should do is to learn how to blink a LED.

Before you proceed further with the project, master the example sketches in the IDE.

What hardware do you have?

Suggest you start with a basic schematic, expand it as you flesh things out.

Hi Larry,

Admittedly I will have to brush up on the basics again as it has been a while since I last used the arduino in anger.

I have an arduino uno, a 60amp motor controller (cytron smart drive duo-60), a geared dc motor with encoder (data sheet attached) and various potentiometers.


Cobalt Encoder CE221002-1.pdf (205 KB)

Flow charts can be very high level to as detailed as almost a line of code - the detail varies by the needs or usage

And as noted above go through the examples in a tutorial to get back up to speed with your coding

60amp motor controller

After mastering the basics as suggested above, I suggest you don't start with this kind of huge motor - at least I am assuming that this 60A motor controller is not just because, but that it has a motor to match.

Start with some small motor with basic encoder, make sure you can turn that reliably before you start playing with motors that have to power to do real damage.


A refined version of OP's Flow Chart:

Figure-1: Flow chart-1 to describe the rotations of motor

This is the one that OP has made:

Figure-2: Flow chart-2 (belond to OP) to describe the rotations of motor

1. Double-sided rectangle is used when calling a user subroutine like timedelay()
2. Parallelogram is used to mean IO operation.
3. In Flow Chart (usually), the entry and exit points of a task are labelled.

Your flowchart looks good, though it is unclear how you get out of "Standby Mode".
The flowchart you have drawn is 'structured', which is good, meaning it is made up of;

  • Sequences
  • Repetitions
  • Selections

each of which could be replaced by a single higher level box with only one entry and exit.
Structuring flowcharts means you avoid spaghetti programs where it is possible to jump in and out of loops at several places - programs like that are next to impossible to follow.

I agree with @wvmarle that you should develop the code with a cheap small hobby motor before scaling up to 60A, there is less risk if things don't work as expected.