# Flow Charting Software

#### jpanhalt

##### Well-Known Member
I find flow charting quite helpful when writing code. For about 10 years, I have used a free version of Lucid Chart and have recommended it many times. It did everything needed and was intuitive. Before I found Lucid Chart, I used PowerPoint. That change was so refreshing that I never went nor want to go back.

Although there is still has a free version, Lucid Chart has gone to a subscription model. I tried to use it twice in the past few weeks. It is so tarted up as to be unusable. Maybe the subscriptions are better, but for twice a year or less use, the subscription cost is prohibitive. One problem with current Lucid Chart is it seems to have gone more toward management and has added all sorts of colorful cute things to make presentations more enjoyable.

Can anyone recommend a free or low cost (<$100) version of flow-charting software suitable for simple programming? John Last edited: #### Ian Rogers ##### User Extraordinaire Forum Supporter Most Helpful Member Can any one recommend a free or low cost (<$100) version of flow-charting software suitable for simple programming?
I still use open office draw.. Still free and always will be..

#### jpanhalt

##### Well-Known Member
Will still try Open Office Draw, but yEd works fine on line.

John

#### MikeMl

##### Well-Known Member
On a similar topic, does anybody know of a simple 2-D vector graphics editor that is capable of making a "site plan layout". I have sampled the AutoCad derivatives, and I absolutely detest the way AutoCad forces the user to deal with the drawing primitives, lines, rectangles, etc.

#### Ian Rogers

##### User Extraordinaire
Forum Supporter
Again.. Office draw is vector drawing... It is able to intersect divide and add... Draw a box and a circle when you overlap you can cut shapes or merge shapes.... I don't know where they got the drawing portion of the software, but it's better than most independent software applications.... I could have sworn it was linked to GIMP..

#### Grossel

##### Well-Known Member
I will strongly recommend Inkscape. It may take some time to get used to, but once you got the hang of it there should be no way back. Just look at my screw thread - drawn in Inkscape. My avatar is made in Inkscape.
I have used that program to many thing - drawing circuits, timing diagram, line protection timing analysis, etc.

#### MrAl

##### Well-Known Member
Hello there,

Are you guys talking about just graphic drawing programs, or are these made specifically for flow charts?

I ask because flow charts can be drawn by hand with various tools, but a flow chart program should include not only graphics objects typical of flow charts but also be able to transform that graphic into a set of pseudo code.

What do you think?

#### jpanhalt

##### Well-Known Member
My specific question was for an intuitive flow charting program that I could use to help design code -- not one I had to concentrate on the mechanics of simply to get a presentable chart. As my anticipated use will be only occasional with big gaps, it needs to be intuitive to be useful to me.

I do not need pseudocode nor want the anticipated restrictions of a program that tries to do that. FlowCode (Microsoft) is not for me.

#### MrAl

##### Well-Known Member
My specific question was for an intuitive flow charting program that I could use to help design code -- not one I had to concentrate on the mechanics of simply to get a presentable chart. As my anticipated use will be only occasional with big gaps, it needs to be intuitive to be useful to me.

I do not need pseudocode nor want the anticipated restrictions of a program that tries to do that. FlowCode (Microsoft) is not for me.
Hello,

Could you describe what you want it to do in more detail?

I ask because there are many variations here.

For example, i would want a program where you could click "test block" and that would draw you a diamond shape where you could type in different words like, "A=B" and one output is "YES" and the other output is "NO" and then you can route the yes and no outputs to more blocks which could be just instructions.
Another block type would be the instruction block type, where we just type in code like, "C=A/B+2", "K=1", etc. That is a rectangular block shape.
Another yet is a round block, signifying a "jump" to another part of the diagram, and that might have a matching round block that is jumped to from that first one.
Another round block could be the start, drawn as an oval and inside you type, "START" or whatever you want.

The blocks would change size if you type more into them, so you dont have to do it manually, or else you can drag one corner to make it larger.

When you drag a whole block, the lines that go to them (connections) rubber band, so that you dont loose the connections just because you move a block a little. They might stay straight though not actually bend or go diagonally.

I realize this is a lot to ask, but modern software can do a lot so why not, and that is an example of what i would look for.

We might also have custom block shapes for special needs.

So it would be almost like a schematic drawing program like LT Spice but for flow graphs.
In the end you would click, "Write Code" and it would write the associated code either in your choice of language or pseudo code which you would learn to code very quickly.

I've used flow graphs since the mid 1970's but dont use them as much anymore. They are great for uC apps though.

#### jpanhalt

##### Well-Known Member
What you describe is what Lucid Chart used to do (still does, but is more complicated) and yEd (post 3) seems to do. I can take or leave the rubber banding -- IMHO it is less useful than the autorouter in Eagle 7.x.

MrAI said:
I ask because flow charts can be drawn by hand with various tools, but a flow chart program should include not only graphics objects typical of flow charts but also be able to transform that graphic into a set of pseudo code.
Don't misunderstand me, if there were a program that could convert a flow chart like you describe into decent code, that would be great. But, I am not aware of one.

Can you give any examples of flow charting programs that meet that "should" criterion?

#### MrAl

##### Well-Known Member
What you describe is what Lucid Chart used to do (still does, but is more complicated) and yEd (post 3) seems to do. I can take or leave the rubber banding -- IMHO it is less useful than the autorouter in Eagle 7.x.

Don't misunderstand me, if there were a program that could convert a flow chart like you describe into decent code, that would be great. But, I am not aware of one.

Can you give any examples of flow charting programs that meet that "should" criterion?
Hi,

No i was just throwing that out there for thought.
I can see how this can be very possible, but the reason i said "pseudo code" was simply because there are too many platforms to support, most likely.

Pseudo code could be very simple and allow you to easily convert it into your language choice. Some things would be the same or nearly the same.
For example, in the flow chart you type:
"A=B"

in a block and without the quotes, and the program spits out:
A=B;

It's then your job to define what types you want them to be or any other info like an initializer or something.
There would actually be two or more layers, and with the possible option to provide your own final layer.
For example, the first layer converts that block with A=B to A=B;, then your final layer converts that to:
float A,B;
A-B;

Of course there would be more to it than that.

I know this would work because i've done a similer IDE for Windows a long time ago that had to take in graphics objects and parse them, then convert them to Windows graphics objects according to the users specs. It would take in the graphics objects one by one, then prompt the user for what type it should be.
The flow chart program would know this already from the shape, or a shape and side note perhaps.
I've also managed to turn pseudo code into ASM for compilation, so i would not be too far from being able to code the whole program but it would take a lot of work. The ASM platform i used was for Microchip however, so there would be some changes for other output platforms.

The rubber banding idea was an idea for use with actually drawing the flow chart. When we add things, sometimes we have to move blocks around. If they held their connections, there would be no erasing and redrawing when a block was moved.

After reading my post over for typos, i realized that maybe we could use a circuit sim program for this if we can get an output node list. The output node list could tell us what *custom* objects are being used and how they are connected. The sim program would allow editing as usual so that would make this simpler. We'd have to be able to read the text too though.
I think most sim programs have a node list output option. I'll have to check LT Spice.
Unfortunately i dont think the text follows the objects like it should in a flow chart that is being edited.

Last edited:

#### jpanhalt

##### Well-Known Member
@MrAI
All great ideas. But my only goal was to find simple software to help design flowcharts, not write software to do something that has never been done yet.

#### Ian Rogers

##### User Extraordinaire
Forum Supporter
I was playing with "Great Cow Basic"... Funny enough.. Flow charts compile to asm code.... Quite a powerful tool IMHO..

If it spewed out debug cof file, it would be marvellous..

#### atferrari

##### Well-Known Member
I've been consistently drawing my flowcharts for maybe ten years now, always using Corel Draw based on rough drafts in pencil.

#### MrAl

##### Well-Known Member
@MrAI
All great ideas. But my only goal was to find simple software to help design flowcharts, not write software to do something that has never been done yet.
Hi,

It was not just about writing software though if someone knew of something already out there.
See Ian's post right after yours.

#### MrAl

##### Well-Known Member
I was playing with "Great Cow Basic"... Funny enough.. Flow charts compile to asm code.... Quite a powerful tool IMHO..

If it spewed out debug cof file, it would be marvellous..

Hi,

Sounds just like i was hoping for. Maybe i should check it out.

#### MrAl

##### Well-Known Member
I've been consistently drawing my flowcharts for maybe ten years now, always using Corel Draw based on rough drafts in pencil.
Hi,

The only problem i really had i guess was that when i want to add something new to the diagram sometimes i would have to move stuff around to get it to fit and look good again. Maybe all i need is rubber banding.

#### atferrari

##### Well-Known Member
Hi,

The only problem i really had i guess was that when i want to add something new to the diagram sometimes i would have to move stuff around to get it to fit and look good again. Maybe all i need is rubber banding.
I agree. To avoid learning a new piece of software I decide to stick to Corel and just be careful. Worked OK.