http://plantuml.com/ is a very easy to use sequence diagram maker that is free. It has a extremely intuitive syntax that will allow you to create complex diagrams within minutes.
There’s a online version here : https://www.planttext.com
Take for example :
@startuml participant FDC_FPGA box "FPGA" #LightYellow participant FDC_FPGA end box box "MPC" #LightBlue participant Kernel participant User_Space end box User_Space -> Kernel : Wait Data Ready ioctl activate User_Space activate Kernel FDC_FPGA -> Kernel : Data Ready Interrupt Kernel -> User_Space : Data Ready Awake deactivate Kernel deactivate User_Space User_Space -> Kernel : Setup Read Descriptors ioctl Kernel -> FDC_FPGA : Set Registers User_Space -> Kernel : Enable DMA Start ioctl Kernel -> FDC_FPGA : Set Registers User_Space->Kernel : Wait DMA Done ioctl activate Kernel activate User_Space FDC_FPGA -> Kernel : Dma Done Interrupt Kernel -> User_Space : Dma Done Awake deactivate User_Space deactivate Kernel @enduml
This gives a very nice diagram that is ready for presentation :
I use it all over the place for Software Design Documents. The best thing is – it has “source code” , so anytime there’s a change done, all I have to do is to use the “source” to regenerate the diagram. Happiness!