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

CategoryTechnologies
LanguagesCC++PythonMATLABBashAssembly
Embedded & FirmwareEmbedded CBare-Metal ProgrammingLow-Level ProgrammingDevice DriversInterrupt-driven ProgrammingState MachinesHardware-Software Integration
MicrocontrollersSTM32ARM Cortex-MMicrocontroller Architecture
Peripherals & ProtocolsUART/USARTI2CSPICAN BusADCRTCTimersPWMEthernetTCP/IPUDPNetwork ProtocolsSocket Programming
Operating SystemsLinuxRTOS (FreeRTOS)MultithreadingSchedulingMemory Management
Tools & DebuggingGitOscilloscopesLogic AnalyzersMultimeterSWD DebuggingWiresharkHardware Debugging
Core Computer ScienceAlgorithmsData StructuresObject-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 StatsTop Languages


Connect with Me

LinkedInEmail

Pinned Loading

  1. stm32g071-bare-metal-driversstm32g071-bare-metal-driversPublic

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

    C 2

  2. multi-client-chat-server-cmulti-client-chat-server-cPublic

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

    C

  3. os-memory-management-simulatoros-memory-management-simulatorPublic

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

    C

  4. STM32_HAL_Advanced_PeripheralsSTM32_HAL_Advanced_PeripheralsPublic

    C

  5. STM32_Smart_Plant_MonitorSTM32_Smart_Plant_MonitorPublic

    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-systemmulticast-internet-radio-systemPublic

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

    C