Particle Photon

Spark Devices / Spark.ioMCU 8-32 bitarduino

⚡ Lo esencial en 60 segundos

La Particle Photon se presenta como una placa de desarrollo para el Internet de las Cosas que marcó un hito al demostrar que la conectividad a internet de alta calidad podía estar disponible para creadores y estudiantes a un precio accesible. Lanzada originalmente en noviembre de 2014 por la empresa Spark, que posteriormente se rebautizó como Particle, esta tarjeta fue comercializada inicialmente a diecinueve dólares estadounidenses. Su propuesta de valor radicaba en ofrecer una experiencia de desarrollo "lista para usar", donde la complejidad de la comunicación por radio y la gestión de servidores en la nube quedaban ocultas bajo una interfaz de programación sencilla, permitiendo a los usuarios centrarse en la lógica de su aplicación en lugar de en los detalles de bajo nivel de las redes.

Desde el punto de vista del hardware, la Photon es una placa compacta diseñada para ser insertada fácilmente en una protoboard o placa de pruebas, gracias a sus pines con un espaciado estándar de 0,1 pulgadas. El cerebro de la tarjeta es un microcontrolador STM32F205 de la firma STMicroelectronics, basado en la arquitectura ARM Cortex-M3. Para quien no esté familiarizado con estos términos, un microcontrolador es un pequeño ordenador integrado que ejecuta instrucciones específicas, y el Cortex-M3 es un tipo de procesador eficiente en consumo de energía, ideal para dispositivos que funcionan con baterías. Este chip opera a una frecuencia de 120 MHz, lo que significa que puede realizar 120 millones de ciclos de reloj por segundo, una velocidad más que suficiente para la mayoría de las tareas de sensores y actuadores. La placa cuenta con 1 MB de memoria flash para almacenar el programa y 128 KB de memoria RAM para los datos temporales. La comunicación inalámbrica se gestiona mediante un chip Broadcom BCM43362, que soporta el estándar Wi-Fi 802.11b/g/n en la banda de 2,4 GHz. Es importante aclarar una confusión común en las primeras descripciones de marketing: aunque el chip Wi-Fi es potente, no es el procesador principal; el STM32 se encarga de la aplicación del usuario, mientras que el Broadcom se limita a gestionar la conexión de red, liberando recursos del microcontrolador principal.

La verdadera innovación de la Photon reside en su integración nativa con la nube de Particle. A diferencia de otras placas que requieren configurar servidores propios o librerías complejas, la Photon viene con un sistema operativo de dispositivo que incluye funciones listas para usar como Particle.variable, Particle.function y Particle.publish. Estas funciones permiten exponer datos del sensor a internet, recibir comandos desde una aplicación web o enviar mensajes a otros dispositivos, todo ello sin escribir una sola línea de código de red. La seguridad está garantizada mediante cifrado TLS y una identidad única por dispositivo, almacenada en una tabla de configuración llamada DCT. Además, la placa soporta actualizaciones de firmware "over-the-air" (OTA), lo que significa que puedes modificar el código de tu dispositivo desde tu ordenador sin necesidad de conectarlo físicamente, siempre que tenga conexión Wi-Fi. Esta capacidad de gestión remota fue revolucionaria en 2014 y sigue siendo una de sus características más apreciadas.

En cuanto a las capacidades de entrada y salida, la Photon ofrece una versatilidad notable para su época. Dispone de 18 pines de propósito general (GPIO), de los cuales ocho pueden funcionar como entradas analógicas de 12 bits, permitiendo leer sensores con gran precisión. También incluye dos salidas analógicas de 12 bits (DAC), útiles para generar señales de audio o controlar motores con suavidad, y soporta protocolos de comunicación comunes como I2C, SPI e incluso CAN bus, este último habitual en aplicaciones automotrices e industriales pero raro en placas de hobby a este precio. La alimentación puede realizarse a través de un puerto micro-USB o mediante un pin de entrada de voltaje (VIN) entre 3,6 y 5,5 voltios. La placa incluye un regulador interno que genera los 3,3 voltios necesarios para la lógica, aunque este regulador tiene una capacidad limitada de corriente (100 mA), por lo que no debe usarse para alimentar periféricos externos de alto consumo.

El ecosistema de software se basa en una API similar a Arduino, conocida como Wiring, lo que facilita la transición para quienes ya tienen experiencia con esa plataforma. El código se escribe en C/C++ y se compila utilizando una cadena de herramientas basada en GCC para ARM. Aunque en sus inicios se promocionaba un entorno de desarrollo web, hoy en día se recomienda el uso de la línea de comandos Particle CLI o editores locales. Es crucial mencionar que el soporte de software ha evolucionado; actualmente, la versión recomendada del sistema operativo es la serie 2.x LTS (Long Term Support), mientras que las versiones anteriores y la serie 3.x han quedado fuera de soporte oficial. Esto implica que los desarrolladores deben mantener sus proyectos actualizados a esta versión estable para garantizar la seguridad y la compatibilidad futura.

La familia de productos relacionada incluye el módulo P0, que es el corazón Wi-Fi de la Photon, y el módulo P1, una variante más robusta con memoria flash adicional y antena externa, aunque este último ha sido oficialmente descontinuado y se recomienda migrar a los nuevos módulos P2. También existe el hermano celular, la Electron, que utiliza el mismo microcontrolador pero sustituye el Wi-Fi por un módem 3G o 2G, permitiendo la conectividad en lugares sin acceso a internet. Para los usuarios avanzados, la Photon expone interfaces de depuración como JTAG y SWD, permitiendo un control total sobre el microcontrolador. Sin embargo, los usuarios deben ser conscientes de ciertas limitaciones físicas y de diseño. Por ejemplo, los pines de salida PWM (modulación por ancho de pulso, usada para controlar la potencia de motores o LEDs) comparten temporizadores internos, lo que significa que no todos los pines pueden generar señales PWM independientes simultáneamente. Asimismo, se han reportado casos de variabilidad en el consumo de energía en modo de sueño profundo entre unidades individuales, y se recomienda encarecidamente utilizar cables USB de buena calidad y fuentes de alimentación estables para evitar reinicios inesperados durante picos de transmisión de datos.

En resumen, la Particle Photon es una placa legendaria que democratizó el desarrollo de productos conectados. Su combinación de hardware sólido, precios competitivos y una nube integrada la convirtió en la opción preferida para miles de proyectos, desde detectores de humo hasta sistemas de riego inteligentes. Aunque ha sido superada tecnológicamente por sucesores como la Photon 2, que ofrece Wi-Fi de doble banda y Bluetooth, la Photon original sigue siendo una plataforma madura y estable para quienes buscan una solución probada y con una gran comunidad de soporte detrás. Su legado reside en haber demostrado que la complejidad de la nube podía simplificarse hasta hacerla invisible para el desarrollador, estableciendo el estándar para muchas de las placas IoT modernas que conocemos hoy.

Foro (1 tema) →

AttrEspecificacionesverificado
wi_fi_chipBroadcom BCM43362, 802.11b/g/n 2.4 GHz single-band (Photon datasheet, Features list). Used in products like Nest and LIFX (CNX 2014). Note: marketing at launch sometimes described the BCM43362 as a "Wi-Fi SoC with Cortex-M3", but Particle's datasheet is explicit that the application CPU is the STM32, not the Broadcom chip.? sin verificar
application_mcuSTM32F205RGY6, single-core ARM Cortex-M3 @ 120 MHz (Photon datasheet). No GPU (MCU-class board).? sin verificar
memory1 MB flash, 128 KB RAM (STM32F205RGY6) (datasheet). Flash layout: 16 KB bootloader, 2×16 KB DCT, 80 KB EEPROM emulation, 512 KB Device OS, 3×128 KB (factory backup / OTA backup / user app) (datasheet, Memory map).? sin verificar
gpio_peripherals_photon_board_24_outer_pins18 mixed-signal GPIO; 8× 12-bit ADC inputs (A0–A7); 2× 12-bit DAC (DAC=A6, A3=DAC2); 2× SPI; 1× I2C; 1× I2S; 1× CAN; USB; 9 PWM-capable pins → 7 independent PWM outputs (A5/D2 and A4/D3 share timers) (datasheet, Peripherals and GPIO). Logic level 3.3 V; all pins 5 V-tolerant except A3 and DAC (datasheet note [1]).? sin verificar
debugJTAG on D3–D7, SWD on D6/D7; standard 20-pin 0.1" JTAG header supported (datasheet, JTAG and SWD).? sin verificar
rfSPDT RF switch between on-board chip antenna and U.FL connector for external antennas; software antenna selection incl. auto mode; 50 Ω controlled impedance (datasheet, RF).? sin verificar
powermicro-USB (Micro-B) or VIN 3.6–5.5 V; on-board 3.3 V SMPS regulator; 3V3 output max 100 mA, VIN as output max 1 A; VBAT 1.65–3.6 V for RTC/backup SRAM (datasheet, Power / Pin description).? sin verificar
consumptiontypical ~80 mA average @5 V with Wi-Fi on; deep-sleep quiescent ~80 µA (datasheet, Power).? sin verificar
miscRGB status LED (external drive provided), Setup + Reset buttons, ~40 µA-class RTC backup domain (datasheet).? sin verificar
certificationsFCC (US), CE (EU), ISED (Canada) (datasheet, Features).? sin verificar
operating_temperature? sin verificar
board_dimensions? sin verificar
  • Fabricante: Spark Devices / Spark.io — renombrado Particle (Particle Industries / Particle.io) tras el rebranding de 2015. La propia retrospectiva de Particle de 2023 señala "the market and company name have changed since" el lanzamiento original. (CNX Software,
  • Anunciado: 12 de noviembre de 2014 ("Introducing the $19 Photon", blog.spark.io, según el enlace de la cobertura del anuncio de CNX Software del 14 de noviembre de 2014: Los pedidos anticipados se abrieron a $19 + gastos de envío, con entrega prevista para marzo de 2015 (mismo artículo de CNX).
  • Precio de lanzamiento: US$19 por la placa Photon; el módulo P0 a secas costaba $10 (CNX Software, artículo de 2014 arriba).
  • Variantes: - Placa de desarrollo Photon, dos formatos físicos: con conectores de pines (enchufable en protoboard) o sin conectores, con bordes castellados para SMT (datasheet de Particle, Números de modelo PHOTONH / PHOTONNOH (mismo datasheet). - Módulo P0 (el módulo Wi-Fi del tamaño de una miniatura que está en el corazón del Photon) (datasheet + CNX 2014). - Módulo P1: "the PØ's big brother" — añade flash SPI externa de 1 MB a bordo (MX25L8006E), antena PCB integrada + conector U.FL + conmutador RF, 25 GPIO (datasheet del P1, El P1 ha sido oficialmente descontinuado; el reemplazo recomendado es el P2 (misma página). - Variantes de grado industrial Photon E / P1 E: > sucesor Photon 2 / P2 (2023, Realtek RTL8721DM) (artículo de CNX 2023 arriba).
  • Estado (2026): línea de producto madura/heredada, sin aviso formal de EOL del Photon encontrado. - 2018, CEO de Particle: "we have no current plans to discontinue either the Photon or Electron" ( - 2020, personal de Particle: Photon "currently in Generally Available 'GA' lifecycle" ( - 2022, personal de Particle: "we are preparing p1 end-of-life" ( el datasheet del P1 ahora indica "The P1 has been deprecated." - Guía de Device OS: usar la línea 2.x LTS; las versiones anteriores y la 3.x están "past the end-of-support date"; solo 2.x LTS permanece en la ventana de Extended Support & Maintenance (datasheet del Photon, sección Device OS Support). - A fecha 2026-10-13, redirige a la página de inicio de la tienda (la página de producto original del Photon ya no existe; la tienda destaca Photon 2 y Tachyon). >

+ Puntos fuertes

  • IoT en la nube a $19 desde el primer día: Particle Device Cloud asegurada con TLS integrada en el firmware — Particle.publish/subscribe, Particle.variable, Particle.function con cero código de red (ejemplo del datasheet; referencia de la Cloud API).
  • Actualizaciones de firmware OTA reales por Wi-Fi (y por celular en el Electron), respaldadas por una región de flash de backup OTA dedicada de 128 KB (mapa de memoria del datasheet).
  • Configuración Wi-Fi por Soft AP (frente a Smart Config en el antiguo Core) (datasheet; tabla comparativa de CNX 2014).
  • Compatible con protoboard con formato de paso de 0.1"; el mismo PCB puede montarse en SMT gracias a los bordes castellados; diseño de hardware de código abierto (datasheet, Overview).
  • Identidad y seguridad de dispositivo en hardware: par de claves por dispositivo + clave pública del servidor almacenados en la DCT, modelo de propiedad de dispositivo reclamado (DCT layout del datasheet; documentación OAuth2 de la Cloud API).
  • Amplitud de periféricos inusual para 2014 a $19: bus CAN, 2× DAC, I2S, JTAG expuesto, VBAT, pin de wake WKP, opción de antena U.FL (datasheet; CNX 2014 "adds DAC and CAN interface" frente al Core).
  • Sistema de LED RGB de estado que codifica el estado de conexión (cian respirando = en línea, etc.).
  • Amplitud de la familia: hermano celular Electron — mismo STM32F205 @120 MHz + módem u-blox SARA serie U (3G) o serie G (2G), nano-SIM, u.FL — llevó la telefonía celular a la misma plataforma Wiring/nube (CNX, resultados de búsqueda módulos P0/P1/P2 para integración en producto.
  • Device OS LGPLv3 explícitamente compatible con firmware de usuario cerrado (FAQ de LICENSE del README de device-os).
  • Sucesor: Photon 2 (2023) — Realtek RTL8721DM Cortex-M33 @200 MHz, Wi-Fi de doble banda + BLE 5, formato Feather, $17.95 (CNX 2023).

− Puntos débiles

  • Aliasado de pines PWM: los temporizadores PWM están duplicados en A5/D2 y A4/D3 — esas parejas no pueden ejecutar PWM independiente simultáneamente (7 salidas independientes, no 9) (datasheet, nota PWM [3]).
  • Caídas de tensión por cable USB: Particle advierte explícitamente que los cables USB malos/de alta resistencia provocan caídas del voltaje de entrada durante los picos de TX/RX Wi-Fi → "system brown out or intermittent operation"; la fuente debe suministrar ~1 A (datasheet, Power).
  • Transitorios de voltaje en VIN con cables largos: con condensadores cerámicos de entrada y cables de alimentación largos, los escalones de carga pueden inducir picos dañinos en VIN; el datasheet recomienda un zener de 5.1 V o capacitancia electrolítica adicional (advertencia Power del datasheet — nota Richtek/Linear AN-88).
  • El pin 3V3 es débil: solo ~100 mA disponibles para circuitos externos (datasheet, Power).
  • Los pads de coexistencia son hardware muerto: los tres pads dorados cerca de A3 para una interfaz de coexistencia Bluetooth nunca fueron admitidos por el software WICED en el P0 y "cannot be used" (datasheet, External coexistence interface).
  • OTA estancada en Wi-Fi inestable: usuarios reportan dispositivos atrapados en magenta (sin nube) tras un intento de OTA sobre una conexión deficiente (comunidad,
  • Regresión del "LED verde" del P1: a los usuarios se les indicó retroceder Device OS a 2.1 "because of the green-led problem" mientras se preparaba el EOL del P1 (comunidad,
  • Variabilidad del consumo en sueño entre unidades: caso documentado de tres Photons idénticos donde uno agotó una batería en 1 día frente a 30 días (comunidad,
  • Cambios de endpoints heredados: api.spark.io fue apagado (aviso de EOL), rompiendo las integraciones de antiguas flotas de Photons (anuncio en la comunidad,
  • Riesgo de cola de soporte de firmware: solo Device OS 2.x LTS permanece bajo Extended Support & Maintenance; 1.x y 3.x han superado su fin de soporte (datasheet del Photon, Device OS Support).
  • Retour d'expérience expert expert — expert-microcontroleur
    • Retour d'experience sur la Photon après quelques mois. La simplicite du cloud Particle est reelle, le setup Soft AP fonctionne bien et l'architecture STM32F205 @120MHz offre une bonne puissance de calcul pour ce prix. Les peripheriques comme le CAN et les 2 DAC sont rares a ce niveau. Attention tou… — expert-microcontroleur
    • Merci pour ces precisions. Je suis en train de prototyper un petit objet connecté et je bute sur un problème de consommation en veille. J'ai lu dans la datasheet une valeur de ~80 microampere en deep-sleep, mais sur mon premier exemplaire, la batterie se vide en 1 jour alors que sur deux autres ide… — maker-debutant-42
    • Le problème de variance de consommation de sommeil est documente par d'autres, comme le montre le thread sur le forum officiel ou trois Photons avaient des comportements totalement differents. Cela peut venir de composants de la chaîne d'alimentation ou de la carte elle-même. Verifie aussi que tu n… — tech-sauvage

Opiniones y proyectos de la comunidad

Contenido no disponible todavía.

  • Aliasado de pines PWM: los temporizadores PWM están duplicados en A5/D2 y A4/D3 — esas parejas no pueden ejecutar PWM independiente simultáneamente (7 salidas independientes, no 9) (datasheet, nota PWM [3]).
  • Caídas de tensión por cable USB: Particle advierte explícitamente que los cables USB malos/de alta resistencia provocan caídas del voltaje de entrada durante los picos de TX/RX Wi-Fi → "system brown out or intermittent operation"; la fuente debe suministrar ~1 A (datasheet, Power).
  • Transitorios de voltaje en VIN con cables largos: con condensadores cerámicos de entrada y cables de alimentación largos, los escalones de carga pueden inducir picos dañinos en VIN; el datasheet recomienda un zener de 5.1 V o capacitancia electrolítica adicional (advertencia Power del datasheet — nota Richtek/Linear AN-88).
  • El pin 3V3 es débil: solo ~100 mA disponibles para circuitos externos (datasheet, Power).
  • Los pads de coexistencia son hardware muerto: los tres pads dorados cerca de A3 para una interfaz de coexistencia Bluetooth nunca fueron admitidos por el software WICED en el P0 y "cannot be used" (datasheet, External coexistence interface).
  • OTA estancada en Wi-Fi inestable: usuarios reportan dispositivos atrapados en magenta (sin nube) tras un intento de OTA sobre una conexión deficiente (comunidad,
  • Regresión del "LED verde" del P1: a los usuarios se les indicó retroceder Device OS a 2.1 "because of the green-led problem" mientras se preparaba el EOL del P1 (comunidad,
  • Variabilidad del consumo en sueño entre unidades: caso documentado de tres Photons idénticos donde uno agotó una batería en 1 día frente a 30 días (comunidad,
  • Cambios de endpoints heredados: api.spark.io fue apagado (aviso de EOL), rompiendo las integraciones de antiguas flotas de Photons (anuncio en la comunidad,
  • Riesgo de cola de soporte de firmware: solo Device OS 2.x LTS permanece bajo Extended Support & Maintenance; 1.x y 3.x han superado su fin de soporte (datasheet del Photon, Device OS Support).
  • Faire clignoter la LED D7 du Photon debutant Schéma : IMG-particle-photon-debutant-1-photon-clignotement-led.svg — Photon sur breadboard, LED jaune D7 et câble micro-USB mis en évidence
  • Bouton MODE et console série debutant Schéma : IMG-particle-photon-debutant-2-photon-bouton-console.svg — Photon avec les boutons SETUP (MODE) et RESET annotés et le câble USB vers l'ordinateur
  • Lire un capteur analogique sur l'ADC 12 bits debutant Schéma : IMG-particle-photon-debutant-3-photon-capteur-adc.svg — potentiomètre relié à A0 du Photon (3,3 V, broche centrale sur A0, GND) pour lecture ADC
  • Se connecter au Wi-Fi et publier des événements cloud intermediaire Schéma : IMG-particle-photon-intermediaire-1-photon-wifi-publish.svg — Photon connecté en Wi-Fi au Particle Cloud via un routeur, événements publish diffusés vers d'autres appareils
  • Commander une LED à distance avec Particle.function intermediaire Schéma : IMG-particle-photon-intermediaire-2-photon-fonction-distance.svg — appel REST POST vers api.particle.io déclenchant la fonction led du Photon qui allume D7
  • Variables cloud et intégration HTTP intermediaire Schéma : IMG-particle-photon-intermediaire-3-photon-variables-hook.svg — variables sensor et status exposées par le Photon, interrogées par un script Python via l'API REST
  • Sommeil profond et réveil sur broche WKP avance Schéma : IMG-particle-photon-avance-1-photon-sommeil-reveil.svg — Photon sur batterie avec la broche WKP reliée à un interrupteur magnétique et l'RTC de sauvegarde
  • Mises à jour OTA et sauvetage par USB DFU avance Schéma : IMG-particle-photon-avance-2-photon-ota-dfu.svg — deux chemins de flash du Photon : OTA par le cloud vers la zone de sauvegarde 128 Ko, et USB DFU en bootloader
  • Build local avec Device OS, ARM GCC et Particle CLI avance Schéma : IMG-particle-photon-avance-3-photon-build-local.svg — chaîne de build locale : sources C++, make et ARM GCC du dépôt device-os produisant firmware.bin flashé par Particle CLI

Biblioteca de código — ejemplos escritos para esta placa

  • clignotante.ino Arduino

    El blink con nube: el LED D7 parpadea y dos variables exponen el estado y el contador a la API de Particle. Desde el panel o con curl, la placa se consulta a distancia sin código de red adicional.

  • bouton-evenement.ino Arduino

    Cada pulsación publica un evento JSON hacia la nube Particle, consultable por otras placas (suscritas) o por un webhook. El montaje antirrebote es igual que en Arduino puro: el framework solo añade l…

  • fonction-distance.ino Arduino

    Particle.function convierte un handler sencillo en una API remota: la nube llama a piloter() con una cadena de argumentos y el LED obedece. Es el ladrillo base para controlar la placa desde un botón …

  • capteur-dht.ino Arduino

    El sensor DHT11 entrega temperatura y humedad, publicadas a la nube cada 30 s como evento privado. El ritmo respeta el límite de flujo de Particle y la batería; el JSON cabe en 64 bytes.

  • ruban-neopixel.ino Arduino

    Una tira NeoPixel animada localmente cuyo motivo cambia a distancia con un simple Particle.subscribe. Ilustra el modelo de eventos de Particle: la placa actúa sola pero sigue controlable desde cualqu…

  • pwm-respiration.ino Arduino

    Un LED PWM respira suavemente hacia un brillo objetivo que se cambia a distancia con Particle.function. El suavizado exponencial evita saltos bruscos y el latido sinusoidal da un aspecto vivo.

  • veille-cloud.ino Arduino

    El modo SEMI_AUTOMATIC recupera el control del enlace cloud: el script parpadea rápido cuando la nube se pierde, lento cuando todo va bien, y reintenta cada minuto. El reflejo de despliegue para una …

  • servo-cloud.ino Arduino

    El servo gira con una simple llamada a la nube (Particle.function "tourner") y su posición queda legible como variable. La rutina de volver al centro tras dos minutos muestra cómo dar autonomía razon…

  • buzzer-alarme.ino Arduino

    Un evento cloud "alarme" dispara una sirena de dos tonos en un zumbador pasivo, y "off" la detiene. El patrón sonoro no bloquea (tone con duración + paso de 200 ms), así la alarma sigue controlable m…

  • sommeil-basse-consommation.ino Arduino

    El ciclo de supervivencia a batería: despertar, medida DHT, publicación cloud y luego sueño profundo de 60 s con la radio apagada. Reiniciar cada ciclo simplifica el firmware a cambio de una reconexi…

Ejemplos y repositorios encontrados en línea