{"id":1581,"date":"2026-09-07T20:40:25","date_gmt":"2026-09-07T20:40:25","guid":{"rendered":"https:\/\/modular-mx.com\/Trainings\/?p=1581"},"modified":"2026-11-11T00:02:48","modified_gmt":"2026-11-11T00:02:48","slug":"thebluetoothmicrotraining","status":"publish","type":"post","link":"https:\/\/modular-mx.com\/Trainings\/thebluetoothmicrotraining\/","title":{"rendered":"Micro Training: Introducci\u00f3n a Bluetooth"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600;700;800&display=swap');\n\n  \/* Contenedor adaptativo optimizado para m\u00f3vil y desktop *\/\n  .modular-banner-limpio {\n    max-width: 1250px;\n    margin: 30px auto;\n    font-family: 'Gilroy', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    box-sizing: border-box;\n    padding: 0 15px;\n    \n    opacity: 0;\n    transform: translateY(20px);\n    filter: blur(10px);\n    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), \n                transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), \n                filter 1.2s cubic-bezier(0.16, 1, 0.3, 1);\n  }\n\n  .modular-banner-limpio.animar-entrada {\n    opacity: 1;\n    transform: translateY(0);\n    filter: blur(0);\n  }\n\n  .modular-banner-limpio img {\n    width: 100%;\n    height: auto;\n    display: block;\n    border-radius: 16px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.06);\n  }\n\n  @media (max-width: 768px) {\n    .modular-banner-limpio {\n      margin: 15px auto;\n      padding: 0 10px;\n    }\n    .modular-banner-limpio img {\n      border-radius: 12px;\n    }\n  }\n<\/style>\n\n<div class=\"modular-banner-limpio\" id=\"bannerAnimado\">\n  <img decoding=\"async\" src=\"https:\/\/modular-mx.com\/Trainings\/wp-content\/uploads\/2026\/09\/BANNERS_WEB_TRAINNING_bluetooth-scaled.jpg\" alt=\"MicroTraining Zephyr Banner\">\n<\/div>\n\n<script>\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    const banner = document.getElementById('bannerAnimado');\n    if (banner) {\n      setTimeout(() => {\n        banner.classList.add('animar-entrada');\n      }, 150);\n    }\n  });\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-bc18b00a wp-block-group-is-layout-flex\">\n<div style=\"height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer wp-container-content-38cd910e\"><\/div>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600;700;800&display=swap');\n\n  .modular-navegacion-contenedor {\n    max-width: 1100px;\n    margin: 40px auto;\n    font-family: 'Gilroy', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    box-sizing: border-box;\n    padding: 0 15px;\n  }\n  .menu-botones-anclaje {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-bottom: 40px;\n  }\n\n  \/* Tonos actualizados al Morado de Zephyr Bluetooth *\/\n  .btn-anclaje {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    background: #7E3AF2; \n    color: #ffffff;\n    border: none;\n    padding: 12px 24px;\n    border-radius: 30px;\n    font-size: 15px;\n    font-weight: 700;\n    text-decoration: none;\n    text-align: center;\n    box-shadow: 0 4px 15px rgba(126, 58, 242, 0.2);\n    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n    font-family: 'Gilroy', inherit;\n    cursor: pointer;\n  }\n\n  .btn-anclaje:hover {\n    background: #6228c2;\n    transform: translateY(-4px);\n    box-shadow: 0 8px 25px rgba(126, 58, 242, 0.35);\n    color: #ffffff;\n  }\n\n  .contenido-grid-dos {\n    display: flex;\n    align-items: center;\n    gap: 40px;\n    box-sizing: border-box;\n  }\n\n  .contenido-texto-libre {\n    flex: 1.3;\n  }\n\n  .contenido-badge-contenedor {\n    flex: 0.7;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n  }\n\n  .badge-enlace-interactivo {\n    display: block;\n    max-width: 280px;\n    width: 100%;\n    border-radius: 20px;\n    overflow: hidden;\n    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n    text-decoration: none;\n  }\n\n  .badge-enlace-interactivo img {\n    width: 100%;\n    height: auto;\n    display: block;\n    transition: transform 0.4s ease;\n  }\n\n  .badge-enlace-interactivo:hover {\n    transform: translateY(-8px);\n  }\n\n  .badge-enlace-interactivo:hover img {\n    transform: scale(1.04);\n  }\n\n  .titulo-contenido-libre {\n    font-size: 32px;\n    font-weight: 800;\n    color: #001439;\n    margin: 0 0 20px 0;\n    display: flex;\n    align-items: center;\n    gap: 15px;\n    font-family: 'Gilroy', inherit;\n  }\n\n  .titulo-contenido-libre::before {\n    content: '';\n    display: inline-block;\n    width: 8px;\n    height: 32px;\n    background: #7E3AF2;\n    border-radius: 4px;\n  }\n\n  .texto-contenido-parrafo {\n    font-size: 16px;\n    color: #444444;\n    line-height: 1.7;\n    margin-bottom: 18px;\n    font-family: 'Gilroy', inherit;\n  }\n\n  .texto-contenido-parrafo:last-child {\n    margin-bottom: 0;\n  }\n\n  .texto-contenido-parrafo strong {\n    color: #111111;\n    font-weight: 700;\n  }\n\n  @media (max-width: 850px) {\n    .modular-navegacion-contenedor {\n      margin: 20px auto;\n      padding: 0 10px;\n    }\n    .contenido-grid-dos {\n      flex-direction: column;\n      text-align: left;\n      gap: 25px;\n    }\n    .titulo-contenido-libre {\n      font-size: 26px;\n      justify-content: flex-start;\n    }\n    .titulo-contenido-libre::before {\n      height: 26px;\n    }\n    .menu-botones-anclaje {\n      flex-direction: column;\n      align-items: stretch;\n      gap: 10px;\n      margin-bottom: 30px;\n    }\n    .btn-anclaje {\n      width: 100%;\n      padding: 12px 15px;\n      box-sizing: border-box;\n      font-size: 15px;\n    }\n    .badge-enlace-interactivo {\n      max-width: 220px;\n      margin: 0 auto;\n    }\n    .contenido-badge-contenedor {\n      width: 100%;\n    }\n  }\n<\/style>\n\n<div class=\"modular-navegacion-contenedor\">\n\n  <div class=\"menu-botones-anclaje\">\n    <a href=\"#Content\" class=\"btn-anclaje\">Contenido<\/a>\n    <a href=\"#Requirements\" class=\"btn-anclaje\">Requerimientos<\/a>\n    <a href=\"#Tools\" class=\"btn-anclaje\">Herramientas<\/a>\n    <a href=\"#Duration\" class=\"btn-anclaje\">Duraci\u00f3n<\/a>\n    <a href=\"#FAQ\" class=\"btn-anclaje\">F.A.Q<\/a>\n  <\/div>\n\n  <div class=\"contenido-grid-dos\" id=\"Content\">\n    <div class=\"contenido-texto-libre\">\n      <h2 class=\"titulo-contenido-libre\">Contenido<\/h2>\n      <p class=\"texto-contenido-parrafo\">\n        <strong>\u00a1Bienvenidos a bordo!<\/strong> Bienvenidos a nuestro primer MicroTraining. Este entrenamiento est\u00e1 dise\u00f1ado para ingenieros y desarrolladores que buscan sumergirse directamente en <strong>Zephyr<\/strong> con un enfoque dedicado en <strong>Bluetooth<\/strong>.\n      <\/p>\n      <p class=\"texto-contenido-parrafo\">\n        En lugar de perderte en conceptos generales, te enfocar\u00e1s puramente en Bluetooth: dominando perif\u00e9ricos, manejando operaciones de lectura\/escritura (<em>read\/write<\/em>), enviando mensajes, solucionando errores de comunicaci\u00f3n y mucho m\u00e1s&#8230; <strong>todo en solo 3 d\u00edas<\/strong>.\n      <\/p>\n      <p class=\"texto-contenido-parrafo\">\n        <em>Nota: Por ahora, este entrenamiento est\u00e1 dise\u00f1ado para hispanohablantes. Inicia el <strong>1 de Diciembre de 2026 a las 6:00 p.m. (CDMX)<\/strong> a trav\u00e9s de Microsoft Teams Online.<\/em>\n      <\/p>\n    <\/div>\n\n    <div class=\"contenido-badge-contenedor\">\n      <a href=\"https:\/\/www.acreditta.com\/achievement\/191b47f2-bc61-456b-a244-fa78242989cd\" target=\"_blank\" class=\"badge-enlace-interactivo\">\n        <img decoding=\"async\" src=\"https:\/\/modular-mx.com\/Trainings\/wp-content\/uploads\/2026\/09\/BADGE.png\" alt=\"Badge Training\">\n      <\/a>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n<script>\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    const botonesAnclaje = document.querySelectorAll('.menu-botones-anclaje a[href^=\"#\"]');\n    botonesAnclaje.forEach(boton => {\n      boton.addEventListener(\"click\", function(e) {\n        const destinoId = this.getAttribute(\"href\");\n        const elementoDestino = document.querySelector(destinoId);\n        if (elementoDestino) {\n          e.preventDefault();\n          elementoDestino.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n        }\n      });\n    });\n  });\n<\/script>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600;700;800&display=swap');\n\n  \/* SECCI\u00d3N DE AGENDA \/ D\u00cdAS (REEMPLAZO DE FASES) *\/\n  .agenda-seccion {\n    max-width: 1200px;\n    margin: 60px auto;\n    padding: 0 15px;\n    font-family: 'Gilroy', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    box-sizing: border-box;\n  }\n\n  .agenda-header {\n    text-align: center;\n    margin-bottom: 50px;\n  }\n\n  .agenda-header h2 {\n    font-size: 56px;\n    font-weight: 800;\n    color: #111;\n    margin: 0 0 5px 0;\n    font-family: inherit;\n  }\n\n  .agenda-header h3 {\n    font-size: 38px;\n    font-weight: 800;\n    color: #7E3AF2;\n    margin: 0;\n    font-family: inherit;\n  }\n\n  .agenda-header h3 span {\n    font-size: 24px;\n    font-weight: 600;\n    color: #333;\n  }\n\n  .agenda-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 30px;\n  }\n\n  .agenda-tarjeta {\n    border-radius: 28px;\n    padding: 40px 30px;\n    box-sizing: border-box;\n    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n    display: flex;\n    flex-direction: column;\n  }\n\n  .agenda-tarjeta:hover {\n    transform: translateY(-8px);\n  }\n\n  .agenda-morada {\n    background: #7E3AF2;\n    color: #ffffff;\n    box-shadow: 0 15px 35px rgba(126, 58, 242, 0.25);\n  }\n\n  .agenda-blanca {\n    background: #ffffff;\n    color: #111111;\n    border: 2px solid #7E3AF2;\n    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);\n  }\n\n  .agenda-tarjeta-header {\n    display: flex;\n    gap: 12px;\n    margin-bottom: 30px;\n    align-items: center;\n  }\n\n  .pill-dia {\n    padding: 8px 22px;\n    border-radius: 30px;\n    font-size: 18px;\n    font-weight: 800;\n  }\n\n  .pill-tema {\n    padding: 8px 22px;\n    border-radius: 30px;\n    font-size: 18px;\n    font-weight: 800;\n    border: 2px solid;\n  }\n\n  \/* Colores internos seg\u00fan el fondo de la tarjeta *\/\n  .agenda-morada .pill-dia { background: #ffffff; color: #7E3AF2; }\n  .agenda-morada .pill-tema { background: transparent; color: #ffffff; border-color: #ffffff; }\n  .agenda-morada .agenda-lista li { border-bottom: 1px solid rgba(255,255,255,0.2); color: #ffffff; }\n  .agenda-morada .icono-check-agenda { color: #ffffff; border: 1px solid #fff; border-radius: 50%; padding: 2px; width: 14px; height: 14px; display: flex; align-items: center; justify-content: center; font-size: 10px; }\n\n  .agenda-blanca .pill-dia { background: #7E3AF2; color: #ffffff; }\n  .agenda-blanca .pill-tema { background: transparent; color: #7E3AF2; border-color: #7E3AF2; }\n  .agenda-blanca .agenda-lista li { border-bottom: 1px solid rgba(0,0,0,0.1); color: #222222; }\n  .agenda-blanca .icono-check-agenda { color: #7E3AF2; border: 1px solid #7E3AF2; border-radius: 50%; padding: 2px; width: 14px; height: 14px; display: flex; align-items: center; justify-content: center; font-size: 10px; }\n\n  .agenda-lista {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n  }\n\n  .agenda-lista li {\n    padding: 16px 0;\n    display: flex;\n    gap: 12px;\n    align-items: flex-start;\n    font-size: 15px;\n    font-weight: 500;\n    line-height: 1.5;\n  }\n\n  .agenda-lista li:last-child {\n    border-bottom: none;\n  }\n\n  .icono-check-agenda {\n    margin-top: 3px;\n    flex-shrink: 0;\n  }\n\n  @media (max-width: 992px) {\n    .agenda-grid { grid-template-columns: 1fr; }\n    .agenda-header h2 { font-size: 42px; }\n    .agenda-header h3 { font-size: 28px; }\n    .agenda-tarjeta { padding: 35px 25px; }\n  }\n<\/style>\n\n<div class=\"agenda-seccion\">\n  \n  <div class=\"agenda-header\">\n    <h2>1 al 4 de Diciembre<\/h2>\n    <h3>6:00 p.m. <span>(Hora centro)<\/span><\/h3>\n  <\/div>\n\n  <div class=\"agenda-grid\">\n    \n    <!-- D\u00cdA 1 -->\n    <div class=\"agenda-tarjeta agenda-morada\">\n      <div class=\"agenda-tarjeta-header\">\n        <div class=\"pill-dia\">D\u00eda 1<\/div>\n        <div class=\"pill-tema\">Set-Up<\/div>\n      <\/div>\n      <ul class=\"agenda-lista\">\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Introducci\u00f3n a Zephyr<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Set-Up: West + SDK, NXP IDE \/ VS Code, J-Link \/ pyOCD<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Boards &amp; targets<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Primer blink OK<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> BLE Observer<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> BLE Broadcaster<\/li>\n      <\/ul>\n    <\/div>\n\n    <!-- D\u00cdA 2 -->\n    <div class=\"agenda-tarjeta agenda-blanca\">\n      <div class=\"agenda-tarjeta-header\">\n        <div class=\"pill-dia\">D\u00eda 2<\/div>\n        <div class=\"pill-tema\">GATT<\/div>\n      <\/div>\n      <ul class=\"agenda-lista\">\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Peripheral &amp; Central<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Servicios GATT<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Characteristics:<br>Read \/ Write, Notify \/ Indicate<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> nRF Connect:<br>Scan &amp; connect, Read\/Write desde cel<\/li>\n      <\/ul>\n    <\/div>\n\n    <!-- D\u00cdA 3 -->\n    <div class=\"agenda-tarjeta agenda-morada\">\n      <div class=\"agenda-tarjeta-header\">\n        <div class=\"pill-dia\">D\u00eda 3<\/div>\n        <div class=\"pill-tema\">Debug<\/div>\n      <\/div>\n      <ul class=\"agenda-lista\">\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Pairing &amp; Bonding<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Proyecto integrador<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Debugging BLE:<br>CONFIG_BT_DEBUG_LOG, Log levels Zephyr<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> BTSnoop log desde Android:<br>activar HCI snoop en opciones de desarrollador, capturar con nRF Connect, abrir .cfa en Wireshark<\/li>\n        <li><span class=\"icono-check-agenda\">\u2713<\/span> Errores comunes del stack BLE en Zephyr<\/li>\n      <\/ul>\n    <\/div>\n\n  <\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600;700;800&display=swap');\n\n  .modular-seccion-info {\n    max-width: 1100px;\n    margin: 40px auto;\n    font-family: 'Gilroy', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    box-sizing: border-box;\n    padding: 0 15px;\n  }\n\n  .grid-info-superior {\n    display: flex;\n    gap: 30px;\n    margin-bottom: 35px;\n  }\n\n  .tarjeta-visual-modular {\n    background: #ffffff;\n    border: 1px solid #eaeaea;\n    border-radius: 24px;\n    padding: 35px;\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.05);\n    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n    box-sizing: border-box;\n  }\n\n  .tarjeta-visual-modular:hover {\n    transform: translateY(-6px);\n    box-shadow: 0 20px 40px rgba(126, 58, 242, 0.12); \/* Sombra Morada *\/\n    border-color: #7E3AF2; \/* Borde Morado *\/\n  }\n\n  .contenido-info {\n    width: 100%;\n    margin-bottom: 25px;\n  }\n\n  .contenedor-imagen-interactiva {\n    width: 100%;\n    height: 250px; \n    position: relative;\n    border-radius: 16px;\n    overflow: hidden;\n    cursor: pointer;\n    background: #f8fbff;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 6px 20px rgba(0,0,0,0.06);\n  }\n\n  .contenedor-imagen-interactiva img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    display: block;\n    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);\n    padding: 10px;\n    box-sizing: border-box;\n  }\n\n  .contenedor-imagen-interactiva:hover img {\n    transform: scale(1.06);\n  }\n\n  .titulo-seccion-card {\n    font-size: 24px;\n    font-weight: 800;\n    color: #001439;\n    margin: 0 0 20px 0;\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .titulo-seccion-card::before {\n    content: '';\n    display: inline-block;\n    width: 8px;\n    height: 24px;\n    background: #7E3AF2; \/* Barra Morada *\/\n    border-radius: 4px;\n  }\n\n  .lista-estilizada {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n  }\n\n  .lista-estilizada li {\n    font-size: 15px;\n    color: #444;\n    margin-bottom: 16px;\n    display: flex;\n    align-items: flex-start;\n    gap: 12px;\n    line-height: 1.6;\n  }\n\n  .icono-check-azul {\n    color: #ffffff;\n    background: #7E3AF2; \/* Fondo Morado *\/\n    font-size: 10px;\n    font-weight: bold;\n    width: 18px;\n    height: 18px;\n    border-radius: 5px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n    margin-top: 3px;\n  }\n\n  .texto-item-lista {\n    flex: 1;\n  }\n\n  .lista-estilizada a {\n    color: #7E3AF2; \/* Enlace Morado *\/\n    text-decoration: underline;\n    font-weight: 700;\n  }\n\n  .tarjeta-duracion-grid {\n    background: #ffffff;\n    border: 1px solid #eaeaea;\n    border-radius: 24px;\n    padding: 35px 40px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.05);\n    transition: all 0.4s ease;\n  }\n\n  .tarjeta-duracion-grid:hover {\n    transform: translateY(-4px);\n    box-shadow: 0 15px 35px rgba(0,0,0,0.08);\n  }\n\n  .grid-duracion-items {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 20px;\n    margin-top: 20px;\n    text-align: center;\n  }\n\n  .duracion-item {\n    background: #fcf9ff; \/* Fondo muy sutil morado *\/\n    padding: 20px 15px;\n    border-radius: 16px;\n    border: 1px solid #f0e6ff;\n  }\n\n  .duracion-item strong {\n    display: block;\n    font-size: 20px;\n    color: #7E3AF2; \/* Texto Morado *\/\n    margin-bottom: 5px;\n  }\n\n  .duracion-item span {\n    font-size: 13px;\n    color: #666;\n  }\n\n  @media (max-width: 900px) {\n    .modular-seccion-info {\n      padding: 0 10px;\n      margin: 20px auto;\n    }\n    .grid-info-superior {\n      flex-direction: column;\n      gap: 20px;\n    }\n    .tarjeta-visual-modular, .tarjeta-duracion-grid {\n      padding: 25px 20px;\n    }\n    .grid-duracion-items {\n      grid-template-columns: repeat(2, 1fr);\n      gap: 15px;\n    }\n  }\n\n  @media (max-width: 500px) {\n    .grid-duracion-items {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style>\n\n<div class=\"modular-seccion-info\" id=\"Requirements\">\n\n  <!-- ================= FILA SUPERIOR ================= -->\n  <div class=\"grid-info-superior\">\n    \n    <!-- Requisitos -->\n    <div class=\"tarjeta-visual-modular\">\n      <div class=\"contenido-info\">\n        <h3 class=\"titulo-seccion-card\">Requisitos<\/h3>\n        <ul class=\"lista-estilizada\">\n          <li>\n            <span class=\"icono-check-azul\">\u2713<\/span>\n            <div class=\"texto-item-lista\">Computadora con <strong>Linux o Windows<\/strong>.<\/div>\n          <\/li>\n          <li>\n            <span class=\"icono-check-azul\">\u2713<\/span>\n            <div class=\"texto-item-lista\">Experiencia en programaci\u00f3n <strong>C y C++<\/strong>.<\/div>\n          <\/li>\n          <li>\n            <span class=\"icono-check-azul\">\u2713<\/span>\n            <div class=\"texto-item-lista\">Conocimiento de protocolos de comunicaci\u00f3n.<\/div>\n          <\/li>\n          <li>\n            <span class=\"icono-check-azul\">\u2713<\/span>\n            <div class=\"texto-item-lista\">Conceptos b\u00e1sicos de <strong>Sistemas Embebidos<\/strong>.<\/div>\n          <\/li>\n        <\/ul>\n      <\/div>\n      \n      <div class=\"contenedor-imagen-interactiva\">\n        <img decoding=\"async\" src=\"https:\/\/modular-mx.com\/Trainings\/wp-content\/uploads\/2026\/10\/EDGE-AI_1.pdf_23.png\" alt=\"Tasaari Requisitos\">\n      <\/div>\n    <\/div>\n\n    <!-- Herramientas -->\n    <div class=\"tarjeta-visual-modular\" id=\"Tools\">\n      <div class=\"contenido-info\">\n        <h3 class=\"titulo-seccion-card\">Herramientas<\/h3>\n        <ul class=\"lista-estilizada\">\n          <li>\n            <span class=\"icono-check-azul\">\u2713<\/span>\n            <div class=\"texto-item-lista\">Se trabajar\u00e1 con la board <strong><a href=\"https:\/\/www.nxp.com\/design\/design-center\/development-boards-and-designs\/FRDM-MCXW72\" target=\"_blank\">NXP FRDM-MCXW72<\/a><\/strong> compatible con Zephyr RTOS para las pr\u00e1cticas y despliegue Bluetooth.<\/div>\n          <\/li>\n          <li>\n            <span class=\"icono-check-azul\">\u2713<\/span>\n            <div class=\"texto-item-lista\">Grupo privado exclusivo para participantes.<\/div>\n          <\/li>\n          <li>\n            <span class=\"icono-check-azul\">\u2713<\/span>\n            <div class=\"texto-item-lista\">Acceso al material pr\u00e1ctico del entrenamiento.<\/div>\n          <\/li>\n        <\/ul>\n      <\/div>\n\n      <!-- Imagen actualizada con tu nueva Board y redirecci\u00f3n a NXP -->\n      <div class=\"contenedor-imagen-interactiva\" onclick=\"window.open('https:\/\/www.nxp.com\/design\/design-center\/development-boards-and-designs\/FRDM-MCXW72', '_blank')\">\n        <img decoding=\"async\" src=\"https:\/\/modular-mx.com\/Trainings\/wp-content\/uploads\/2026\/10\/MICRO_TRAINING_ZEPHYR_BLUETOOTH_ACTUALIZACION.pdf_5.png\" alt=\"Board NXP FRDM-MCXW72 Desarrollo Zephyr\">\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <!-- ================= FILA INFERIOR: DURACI\u00d3N ================= -->\n  <div class=\"tarjeta-duracion-grid\" id=\"Duration\">\n    <h3 class=\"titulo-seccion-card\" style=\"margin-bottom: 10px;\">Duraci\u00f3n y Modalidad<\/h3>\n    <p style=\"color: #666; font-size: 14px; margin-top: 0;\">Entrenamiento intensivo enfocado 100% en la implementaci\u00f3n.<\/p>\n    \n    <div class=\"grid-duracion-items\">\n      <div class=\"duracion-item\">\n        <strong>3 D\u00edas<\/strong>\n        <span>de duraci\u00f3n total<\/span>\n      <\/div>\n      <div class=\"duracion-item\">\n        <strong>Sesiones en vivo<\/strong>\n        <span>instrucci\u00f3n guiada<\/span>\n      <\/div>\n      <div class=\"duracion-item\">\n        <strong>Pr\u00e1cticas<\/strong>\n        <span>100% enfocadas<\/span>\n      <\/div>\n      <div class=\"duracion-item\">\n        <strong>Remoto<\/strong>\n        <span>En l\u00ednea (En vivo)<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:29px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:23px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .precios-contenedor {\n    display: flex;\n    justify-content: center;\n    gap: 30px;\n    max-width: 900px;\n    margin: 40px auto;\n    font-family: inherit;\n    box-sizing: border-box;\n    padding: 0 15px;\n  }\n\n  .precio-tarjeta {\n    background: #ffffff;\n    border: 2px solid #e0e0e0;\n    border-radius: 20px;\n    padding: 40px 30px;\n    width: 100%;\n    max-width: 400px;\n    display: flex;\n    flex-direction: column;\n    position: relative;\n    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n    box-sizing: border-box;\n  }\n\n  .precio-tarjeta:hover {\n    transform: translateY(-12px) scale(1.02);\n    box-shadow: 0 20px 40px rgba(126, 58, 242, 0.15);\n    border-color: #7E3AF2; \n  }\n\n  .etiqueta-promo {\n    position: absolute;\n    top: -15px;\n    right: 20px;\n    background: #ff3b30;\n    color: white;\n    font-size: 12px;\n    font-weight: bold;\n    padding: 6px 15px;\n    border-radius: 20px;\n    box-shadow: 0 4px 10px rgba(255, 59, 48, 0.3);\n  }\n\n  .precio-titulo {\n    font-size: 28px;\n    font-weight: 800;\n    color: #7E3AF2; \n    margin: 0 0 10px 0;\n  }\n\n  .precio-subtitulo {\n    font-size: 14px;\n    color: #555;\n    font-weight: 600;\n    margin: 0 0 15px 0;\n  }\n\n  .precio-fecha {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    background: #f6f0ff;\n    color: #7E3AF2;\n    font-size: 14px;\n    font-weight: 700;\n    padding: 6px 12px;\n    border-radius: 8px;\n    margin-bottom: 25px;\n    width: fit-content;\n  }\n\n  .precio-monto {\n    display: flex;\n    flex-direction: column;\n    margin-bottom: 25px;\n    padding-bottom: 25px;\n    border-bottom: 1px solid #eee;\n  }\n\n  .precio-nuevo {\n    font-size: 32px;\n    font-weight: 300;\n    color: #333;\n  }\n\n  .precio-lista {\n    list-style: none;\n    padding: 0;\n    margin: 0 0 30px 0;\n    flex-grow: 1; \n  }\n\n  .precio-lista li {\n    font-size: 15px;\n    color: #666;\n    margin-bottom: 18px;\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n    line-height: 1.4;\n  }\n\n  .icono-check {\n    color: #7E3AF2;\n    font-weight: bold;\n    font-size: 16px;\n  }\n\n  .precio-boton {\n    display: block;\n    text-align: center;\n    background: #7E3AF2;\n    color: #ffffff;\n    text-decoration: none;\n    padding: 16px 20px;\n    border-radius: 30px;\n    font-size: 18px;\n    font-weight: 500;\n    transition: background 0.3s ease;\n  }\n\n  .precio-boton:hover {\n    background: #6228c2;\n    color: #ffffff;\n  }\n\n  @media (max-width: 768px) {\n    .precios-contenedor {\n      flex-direction: column;\n      align-items: center;\n      padding: 0 10px;\n    }\n    .precio-tarjeta {\n      max-width: 100%;\n      padding: 30px 20px;\n    }\n  }\n<\/style>\n\n<div class=\"precios-contenedor\" id=\"pricing\">\n  \n  <div class=\"precio-tarjeta\">\n    <div class=\"etiqueta-promo\">\u00daltimos Lugares<\/div>\n    <h3 class=\"precio-titulo\">Entrenamiento<\/h3>\n    <p class=\"precio-subtitulo\">Sesiones en vivo y acceso al material.<\/p>\n    \n    <div class=\"precio-fecha\">\ud83d\udcc5 1 al 4 de Diciembre<\/div>\n    \n    <div class=\"precio-monto\">\n      <span class=\"precio-nuevo\">$ 550 MXN<\/span>\n    <\/div>\n\n    <ul class=\"precio-lista\">\n      <li><span class=\"icono-check\">\u2713<\/span> Acceso total a los 3 d\u00edas de entrenamiento<\/li>\n      <li><span class=\"icono-check\">\u2713<\/span> Archivos y c\u00f3digos fuente<\/li>\n      <li><span class=\"icono-check\">\u2713<\/span> Acceso a la comunidad privada<\/li>\n      <li><span class=\"icono-check\">\u2713<\/span> Certificado de participaci\u00f3n<\/li>\n    <\/ul>\n\n    <a href=\"https:\/\/modular-mx.com\/Trainings\/cart\/?add-to-cart=1593\" class=\"precio-boton\">Inscr\u00edbete ahora<\/a>\n  <\/div>\n\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Contenido Requerimientos Herramientas Duraci\u00f3n F.A.Q Contenido \u00a1Bienvenidos a bordo! Bienvenidos a nuestro primer MicroTraining. Este entrenamiento est\u00e1 dise\u00f1ado para ingenieros y desarrolladores que buscan sumergirse directamente en Zephyr con un enfoque dedicado en Bluetooth. En lugar de perderte en conceptos generales, te enfocar\u00e1s puramente en Bluetooth: dominando perif\u00e9ricos, manejando operaciones de lectura\/escritura (read\/write), enviando mensajes, [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":1584,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-1581","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microtraining"],"_links":{"self":[{"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/posts\/1581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/comments?post=1581"}],"version-history":[{"count":36,"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/posts\/1581\/revisions"}],"predecessor-version":[{"id":1873,"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/posts\/1581\/revisions\/1873"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/media\/1584"}],"wp:attachment":[{"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/media?parent=1581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/categories?post=1581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/modular-mx.com\/Trainings\/wp-json\/wp\/v2\/tags?post=1581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}