digraph FlowChart {

     node [
                  fontname = "Bitstream Vera Sans"
                  fontsize = 8
                  shape = "record"
              ]

     edge [
                  fontname = "Bitstream Vera Sans"
                  fontsize = 8
                  fontcolor = "Red"
              ]

    // all blocks
    Inicio [label="Inicio", shape="oval"]
    Init_hard_param [label="Inicialización de Hardware\ny Parámetros" shape="rectangle"]
    //Block Main Loop
    Ifaz_com [label="Interfaz de comunicación.\nDatos de control y estados", shape="parallelogram"]
    Comp_CRC_parser [label="Comprobación CRC\ny\nanálisis del dato recibido", shape="rectangle"]
    If_establ_param [label="Establecer Parámetros?", shape="diamond"]
    Send_param [label="Envío de Parámetros", shape="parallelogram"]
    Set_param [label="Configuración de Parámetros"]
    //Block ADQ and Control
    Adq_sens [label="Adquisición de datos\n provenientes de los sensores", shape="parallelogram"]
    Comp_filter [label="Estimación del ángulo\nmediante filtro complementario"]
    PID_control [label="Control PID", shape="rectangle"]
    Action_control [label="Acción de control", shape="parallelogram"]

    // relations
    Inicio -> Init_hard_param
    // relations Main Loop
    Init_hard_param -> Ifaz_com
    Ifaz_com -> Comp_CRC_parser
    Comp_CRC_parser -> If_establ_param
    If_establ_param -> Set_param [label="Sí"]
    If_establ_param -> Send_param [label="No"]
    // relations ADQ and Control
    Init_hard_param -> Adq_sens
    Adq_sens -> Comp_filter
    Comp_filter -> PID_control
    PID_control -> Action_control
}
