
Pcb robotito
grupo-avispa/minibot
An open, low-cost differential-drive autonomous robot built around the ESP32 and micro-ROS, designed as a teaching platform for ROS 2.

Laboratorio personal de proyectos, ejemplos y diagramas realizados con mi ESP32 cuya base principal es Rust orientado a su versión STD. Abarcando desde lo más simple hasta proyectos ligeros de IoT. El propósito de este repo es servir como guía de cómo interactúa Rust con el ESP32 (en modo std), utilizando el modelo S3.
Blinking led is an open-source printed circuit board by itsSuwy, from the itsSuwy/esp32-rust-lab repository on GitHub, published under the MIT licence. It is a 2-layer board with 5 parts on 43 nets, routed with 30 tracks and 0 vias.
It is built around the ESP32-S3-DEVKITC-1-N8 and PN2222A. Its parts include 2 resistors, 1 IC, 1 diode and 1 transistor. It belongs with the ESP32 boards of this library.
Este repositorio nacio de la idea de tener un laboratorio personal de proyectos utilizando una placa de desarrollo ESP32, no obstante, a diferencia de repositorios o proyectos utilizando el mismo hardware, aqui se desarrollaran proyectos con el lenguaje de programacion "Rust", mas especificamente a su version STD en arquitectura Xtensa respaldada por Espressif. Ya que Rust en sistemas embebidos, microcontroladores y microprocesadores esta ganando fuerza, por lo que me gustaria aprender y dominar este ambito (no me cierro a trabajar con la version no std a futuro!).
Por otra parte me gustaria que este repositorio pudiera servir de ayuda con los proyectos ya realizados a quienes estan empezando en este ecosistema, ya que encontrar informacion orientada a std, almenos para mi se me complico encontrar.
Ademas de documentar proyectos realizados y poder ayudar a personas nuevas, me gustaria que el destino manifiesto de este proyecto se apegara a los siguientes lineamientos
Dentro de este repositorio existiran multiples carpetas asociadas a un proyecto especifico (blinking-leds, comunicacion UART, etc) las cuales contendran toda la informacion que se utilizo para realizarlo. Dentro de cada trabajo la informacion mantendra un orden jerarquizado en dos categorias principales:
Mi meta es pasar de lo basico a lo particular/nicho con este trabajo orientandolo mas a sistemas IoT, por ende decidi separar por etapas los proyectos a realizar, cada una conteniendo varios proyectos y respetando su enfoque comun. Las fases que decidi seguir son:
Primera etapa del aprendizaje. Aqui se desarrollaran las bases para el trabajo en sistemas embebidos enfocadas a comprender el funcionamiento del HAL (Hardware Abstraction Layer) proporcionado por la libreria oficial de Espressif para abstraer el acceso al ESP-IDF desde Rust. Se aprende a interactual con los perifericos fundamentales del microcontrolador aplicando funciones de: GPIO, UART, PWM, ADC y temporizadores. Estableciendo los conceptos que serviran de base para etapas posteriores.
Etapa enfocada en la construcción de aplicaciones embebidas mediante patrones de diseño fundamentales. A partir de los periféricos estudiados anteriormente, se implementan máquinas de estados, integración de múltiples módulos, control de dispositivos de salida y procesamiento básico de datos provenientes de sensores. El objetivo es desarrollar un diseno de codigo modular, escalable y fácil de mantener, siguiendo una arquitectura que pueda reutilizarse en proyectos de mayor complejidad.
Etapa enfocada en el diseño e implementación de arquitecturas distribuidas mediante la comunicación entre múltiples microcontroladores. Se desarrollan protocolos de intercambio de datos, análisis e interpretación de comandos, asignación de responsabilidades entre dispositivos y coordinación del comportamiento del sistema mediante máquinas de estados distribuidas. El objetivo es comprender cómo construir sistemas embebidos compuestos por varios nodos que colaboran entre sí de forma confiable y escalable.
Etapa dedicada al aprendizaje de los principales protocolos de comunicación utilizados en sistemas embebidos para la interacción con periféricos externos. Se implementan interfaces basadas en I2C y SPI, comprendiendo su funcionamiento, la conexión de múltiples dispositivos sobre un mismo bus y el desarrollo de interfaces gráficas básicas para la visualización de información. El objetivo es adquirir las bases necesarias para integrar sensores, memorias, pantallas y otros periféricos en aplicaciones embebidas de mayor complejidad.
Etapa orientada a la adquisición y procesamiento de datos provenientes de sensores utilizados en aplicaciones embebidas reales. Se trabaja con sensores ambientales, de movimiento, de distancia y convertidores analógico-digitales de alta resolución, abordando tanto protocolos de comunicación como requisitos específicos de temporización y precisión. El objetivo es desarrollar la capacidad de integrar múltiples fuentes de información para construir sistemas capaces de percibir e interpretar su entorno.
Etapa dedicada al desarrollo de sistemas embebidos capaces de intercambiar información sin conexión física. Se implementan enlaces mediante transceptores de radiofrecuencia y redes Wi-Fi, abordando el diseño de protocolos de comunicación, el intercambio confiable de datos y la integración con servicios IoT utilizando MQTT. El objetivo es comprender las bases de la conectividad inalámbrica aplicada a sistemas embebidos modernos.
Etapa enfocada en el desarrollo de sistemas de comunicación de largo alcance y bajo consumo utilizando tecnología LoRa. Se implementan enlaces punto a punto, nodos sensores autónomos y arquitecturas de adquisición de datos con múltiples dispositivos, comprendiendo los principios de las redes de telemetría para aplicaciones distribuidas e IoT.
Etapa destinada a consolidar los conocimientos adquiridos mediante el desarrollo de aplicaciones embebidas completas. Cada proyecto integra múltiples periféricos, protocolos de comunicación, sensores, actuadores y patrones de diseño estudiados en las etapas anteriores, permitiendo aplicar los conceptos en escenarios representativos de sistemas embebidos reales antes de avanzar hacia contenidos de mayor complejidad.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 2k2 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1 |
| 1 | 330 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2 |
| 1 | ESP32-S3-DevKitC | PCM_Espressif:ESP32-S3-DevKitC | U2 |
| 1 | LED | LED_SMD:LED_Yuji_5730 | D1 |
| 1 | PN2222A | Package_TO_SOT_THT:TO-92 | Q1 |
5 parts, built around the ESP32-S3-DEVKITC-1-N8 and PN2222A. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the itsSuwy/esp32-rust-lab repository on GitHub, at the commit this page was made from: the board is Etapa_1/blinking-led/Hardware/Hardware.kicad_pcb and its schematic Etapa_1/blinking-led/Hardware/Hardware.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

grupo-avispa/minibot
An open, low-cost differential-drive autonomous robot built around the ESP32 and micro-ROS, designed as a teaching platform for ROS 2.

Hartmannlight/Buttonbox
Firmware and PCB files for an ESP32-S3 sim-racing button box with five rotary encoders, capacitive touch on encoder/buttons, two ST7789 displays, MCP23017 button/LED expansion, MPR121 touch sensing, WS2812 status LEDs…

willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels

jazzmonger/Traeger-PID-Controller
Traeger Smoker/Grill Controller based on an

ohasanov-hbrw/tribit32-advanced
A tri-microcontroller, overengineered GameBoy Advance clone. More value was given to the controls and the exterior look, which is cool!



FIPATECH/CDFR26_PAMI
Open source firmware and PCB for a differential mobile robot (PAMI) based on ESP32-S3 - Coupe de France de Robotique