Skip to content
View prielhoffman's full-sized avatar

Block or report prielhoffman

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.

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
prielhoffman/README.md

Hi there, I'm Priel Hoffman! 👋

About Me

I am a Communication Systems Engineering graduate (B.Sc.) from Ben-Gurion University, focused on the hardware-software interface. I specialize in writing efficient C/C++ code tailored to real-world constraints like timing, memory, and hardware peripherals.

  • Experience: Gained 1 year of experience at ELTA Systems in system-level simulation, modular C++ implementation, and algorithm validation.
  • Current Focus: Developing bare-metal applications and custom peripheral drivers for ARM Cortex-M and STM32 microcontrollers.
  • Looking For: Embedded Software Engineer, Firmware Engineer, or Low-Level Software Engineer roles where I can contribute to reliable hardware-oriented systems.

Technical Focus & Skills

Category Technologies
Languages C C++ Python MATLAB Bash Assembly
Embedded & Firmware Embedded C Bare-Metal Programming Low-Level Programming Device Drivers Interrupt-driven Programming State Machines Hardware-Software Integration
Microcontrollers STM32 ARM Cortex-M Microcontroller Architecture
Peripherals & Protocols UART/USART I2C SPI CAN Bus ADC RTC Timers PWM Ethernet TCP/IP UDP Network Protocols Socket Programming
Operating Systems Linux RTOS (FreeRTOS) Multithreading Scheduling Memory Management
Tools & Debugging Git Oscilloscopes Logic Analyzers Multimeter SWD Debugging Wireshark Hardware Debugging
Core Computer Science Algorithms Data Structures Object-Oriented Programming (OOP) Signal Processing

Featured Project

Built a bare-metal STM32G071 plant monitoring system using custom peripheral drivers to interface with real sensors, display live plant status, and log timestamped measurements.

  • Implemented custom GPIO, ADC, I2C, SPI and USART drivers for hardware integration with analog sensors, I2C modules, an LCD display and a MicroSD card.
  • Developed a state-machine-based firmware application that processes calibrated soil moisture, light, temperature and humidity readings to determine real-time plant status.
  • Added a multi-page LCD UI, onboard button control, status LEDs, UART debug logs and timestamped CSV data logging for demo validation and offline analysis.

GitHub Stats

Priel's GitHub Stats Top Languages


Connect with Me

LinkedIn Email

Pinned Loading

  1. stm32g071-bare-metal-drivers stm32g071-bare-metal-drivers Public

    Bare-metal STM32G071 peripheral drivers and embedded C examples for GPIO, SPI, I2C, USART, RTC and LCD.

    C 2

  2. multi-client-chat-server-c multi-client-chat-server-c Public

    Multi-client chat server and socket programming project in C covering TCP, UDP, and select()-based I/O multiplexing.

    C

  3. os-memory-management-simulator os-memory-management-simulator Public

    Operating-systems memory management simulator in C with processes, threads, page faults, disk access, and FIFO clock-style eviction.

    C

  4. STM32_HAL_Advanced_Peripherals STM32_HAL_Advanced_Peripherals Public

    C

  5. STM32_Smart_Plant_Monitor STM32_Smart_Plant_Monitor Public

    Bare-metal STM32G071 smart plant monitor with custom GPIO, ADC, I2C, SPI and USART drivers, LCD UI, RTC timestamps, status LEDs and MicroSD CSV logging.

    C

  6. multicast-internet-radio-system multicast-internet-radio-system Public

    Multithreaded client-server internet radio system in C using TCP, UDP multicast, and a custom application-layer protocol.

    C