Embedded systems and microcontrollers
STM32 development with HAL, C and C++ programming for embedded systems and using Python for testing, data processing and engineering tools.
I am an embedded and electronic systems engineer with independent and project activities. My projects cover circuit and PCB design, STM32 and ESP32 firmware development, cellular and network communications, industrial control, battery power management, and test and troubleshooting tools.
STM32 development with HAL, C and C++ programming for embedded systems and using Python for testing, data processing and engineering tools.
DC-DC converter design, BLDC motor control, PCB design and debugging and circuit simulation with Altium Designer and LTspice.
Power management, BLDC motor control, implementation of PID control and development of control solutions for industrial equipment and intelligent systems.
Low-power protocols and wireless communications include cellular, Wi-Fi, and Bluetooth along with SPI, I2C, UART, and DHCP setup on the MikroTik.
Amirkabir University of Technology (Tehran Polytechnic)
Now I work independently and as a project on hardware and firmware; Three years ago, I worked with WioTech's research and development team.
The projects I have worked on are circuit design, PCB, firmware, communication protocols and their testing.
Designing dedicated board versions with cellular communication, Wi-Fi, Ethernet, USB, OLED display, power control and modem voltage level conversion; Call management development, two-way PCM/I2S audio, WebSocket and UDP transport, and work on G.711 and Opus codecs.
Rearrangement of Arduino firmware with ESP-IDF modules and tasks; Added queue and buffer jitter analysis, reconnection, audio test modes, and a Python host tool for prototyping.
Android application development with the help of artificial intelligence and Kotlin and Jetpack Compose to manage multiple devices, calls and SMS; Personal development of communication protocols with the server, data and message management and system telecommunication logic.
Android interface images with display data; Application development with the help of artificial intelligence.
Schematic and PCB design of Ethernet audio system with digital to analog converter, speaker amplifier and processor interface; Design of PoE and USB power supply by selecting the source and checking the footprint of the parts.
TFT board design with 16-bit parallel bus, control signals, series resistors and backlight; Integrating dedicated display power, keying, USB-C protection and key-to-market interface.
Development of separate STM32 and ESP32 firmwares for actuator control, voltage measurement, motion monitoring, time automation and browser control panel.
Implementation of UART commands authenticated with AES-CCM, rejection of replayed messages, initialized persistent counters, error handling and version logging and integration tests.
Add five-minute voltage history, time zoom, pause display, history review and CSV output; Matching all 8120 records saved to CSV, including 4059 valid reads and explicitly marked intervals with no valid data.
Designing a family of central control boards, input and output and operator panel with isolated inputs and relay outputs for industrial equipment.
STM32 communication and peripheral integration development with UART DMA, RTOS, I2C and CRC tasks; Integration of environmental condition monitoring and ESP32 communication.
Designing multiple hardware versions including battery charging, USB-C power interfaces, power conversion and switching, microcontroller protection and monitoring.
Work on power management architectures based on IP5356 and IP5385 and BQ24610 charging circuit, including 24V hardware version and configuration of related STM32 projects.
Development of the embedded control structure of the two-motor door system with motor control task, open and close modes, keypad and remote input, display and settings maintenance interface.
Implementation of inertial data acquisition, BLE HID indicator output, calibration, cached page mapping and recovery after I2C sensor outage.
Creating a Windows dashboard with live graphs and CSV recording. The saved hardware test includes 600 samples at 50 Hz, BLE connectivity throughout the test, and 599 HID reports.
Implementation of four independent PWM outputs with a frequency of 5 kHz, adjustable on and off time, light intensity and increasing and decreasing transition; Building Persian web panel and stable storage of settings.
Designing hardware versions of wireless temperature recording and BLE module; Working on STM32 heater control interface and display with temperature and time setting and sensor error and over temperature modes.
Development of additional circuit and interface designs for embedded power supply, two- to five-channel relay cards and operator panels based on STM32.
Design of battery power management and power conversion boards, along with WioSmart I4 and WioFind T1 hardware portfolios from previous collaboration with WioTech.
If you need help to complete a project, design a circuit, select parts, or build a prototype, send us a message from the contact page.