Skip to content
View creyes2001's full-sized avatar

Block or report creyes2001

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
creyes2001/README.md

Cristopher Reyes

I'm a communications and electronics engineer working on automotive-style embedded projects, applying C and learning AUTOSAR and FreeRTOS.

Currently working in the automation industry at Alimentos Sello Rojo.

I'm drawn to motorsport — I'm fascinated by how an F1 car's onboard systems capture and process sensor data in real time, and by the whole electronic system of the car: powertrain, battery management, and control systems. That same curiosity extends to how systems like Mars rovers acquire and transmit data from remote, extreme environments.

Skills

Languages: C

Microcontrollers: 8-bit (PIC18F4550), 32-bit ARM Cortex-M (STM32F446RE, STM32G431RB)

RTOS: FreeRTOS (tasks, task notifications, scheduling)

Protocols: UART, CAN, I2C (academic)

Tools: GCC/arm-none-eabi-gcc, Makefile, GDB, CMSIS, Git

Debugging: Oscilloscope, multimeter, UART-based debugging

Other: Driver development, register-level programming, reading datasheets and reference manuals

Currently learning: AUTOSAR

Experience

  • Bare-metal sensored FOC motor control for a BLDC/PMSM motor, built on an AUTOSAR-inspired layered architecture
  • Hardware: STM32G431RB (NUCLEO-G431RB), STSPIN830 motor driver, AS5600 magnetic encoder, GBM2804H-100T gimbal motor
  • Mcu and Port modules complete and tested — clock configuration (150 MHz SYSCLK, verified via MCO), input/output pin configuration
  • ADC driver in progress
  • Two FreeRTOS tasks — UART command handling and LED blink control — synchronized via xTaskNotify
  • UART driver runs in both bare-metal and FreeRTOS contexts; debugged and fixed a baud rate bug (corrected formula and clock source)
  • All HAL drivers (GPIO, UART) written from scratch using CMSIS
  • FreeRTOS integrated as a git submodule, built via Makefile
  • No IDE — build, flash, and debug (GDB) entirely from the command line
  • Wrote all drivers from scratch in C
  • Cooperative scheduler with 1ms tick (Timer 2)
  • Interrupt-driven design: system tick, UART communication with ring buffers
  • Debugged via multimeter and UART prints (external printf implementation)
  • Built and flashed from the command line via Makefile

Popular repositories Loading

  1. pic18-gpio-hal pic18-gpio-hal Public

    C

  2. pic18-button-driver pic18-button-driver Public

    C

  3. Led-task-scheduler Led-task-scheduler Public

    Assembly

  4. embedded-event-scheduler embedded-event-scheduler Public

    Assembly

  5. dio-module dio-module Public

    Assembly

  6. automotive-button-driver automotive-button-driver Public

    Assembly