most time I use state diagrams drawn on paper by hand. Up on today I did not see any tool what can make usable code. For more complicated states I have a seperate tool (GeSY) for Nassi-Shneiderman what can generate code-frames. I sometimes use the tool but not the code generation feature becouse code is not really usable. E.g. a case switch with 10 or more cases will be implemented as a computed jump for efficiency reason. There are many other things what tools cannot decide automatically.
For complicated things I occasionally use a data flow diagramm or other diagramms from HW design like K-V (Karnough-Veight) tables. Class and Use diagramms and other object oriented stuff I do not use. There are no or only trivial database orientented problems in microcontroller and for most applications diagramms like entity-relationship are trivial and a waste of time
If you compare the price of the tools and the benefit, there seems to be only a small use. In case of NS-Diagram it prevents drawing the thing many times again and again becouse the program can zoom and shift outer blocks. In case of more simple diagrams I am faster doing this on paper. The most important thing is to use a design method if problem requieres this and not to use a tool for the design method.
One of the tools problems is, that the diagramms should describe 100% of the problem to be able for code generation. This is hardly possible becouse each kind of diagram shows a diffrent view of the problem and none is perfect. This should be finally the skill of the artist to decide the balance in doing this or that and if 100 persons write code for the same problem non of them would have the same code in result. This does not mean that HLL compilers or grafical input cannot boost efficency of programmers but in the moment all known tools are not really requiered for the design of good products. UML what can generate code for further modification by hand needs to parse back the modified sources and those tools seems rarely or much too expensive and complicated in use.