Electrical engineer

Firmware for devices that leave the bench.

I write the software inside ESP32, STM32, and Raspberry Pi products: sensors, radios, displays, and the path from the board to a dashboard. Nearly seven years of that work, for teams that need a field unit.

100%Job Success Score
PlusTop Rated Plus
26Upwork jobs
2,275Hours on Upwork
7 yrsHands-on embedded

01 / Selected work

What I have actually shipped

All projects

01

Sayapatri contactless payment terminal

Card tap → ESP32 → Wi-Fi or GSM → payment flow

Two ESP32 payment terminals. One takes the amount from a phone over BLE and joins shop Wi-Fi. The other uses a keypad, a battery, and a cellular modem.

  • ESP32
  • NFC
  • BLE
  • GSM

02

Addify 3D printer

Touch panel → STM32 TouchGFX → PID thermal control

The Addify printer’s thermal UI on STM32: TouchGFX screens from the supplied designs, PNG assets, PID on the heater, and a developer mode for the display and touch.

  • STM32
  • TouchGFX
  • PID

03

Remote hive monitor

Weight, climate, GPS, solar → ESP32 → MQTT → ThingsBoard

A field node for a hive: weight, temperature and humidity, GPS, and battery or solar voltage, reported to ThingsBoard. A cellular modem is part of the unit.

  • ESP32
  • HX711
  • GPS
  • ThingsBoard

04

Touchscreen data logger

Sensors → ESP32-S3 → LVGL panel → log

ESP32-S3 logger for 4.3 inch and 7 inch panels. It takes temperature and pressure over serial and BLE, stores the log, and can print or plot it.

  • ESP32-S3
  • LVGL
  • SquareLine
  • LovyanGFX

05

Clinical cart kiosk

QR on Pi → UART → ESP32-S3 → ST7701 vitals UI

A Raspberry Pi reads a QR code and passes the identifier over UART to an ESP32-S3, which shows patient vitals on an RGB LCD.

  • Raspberry Pi
  • ESP32-S3
  • UART
  • LCD

06

Perfume dispenser

Button → Nayax MDB → Raspberry Pi → relay

A Raspberry Pi perfume dispenser. A Nayax reader takes a card over MDB, and the Pi pulses one of five relays only after the payment is approved.

  • Raspberry Pi
  • Python
  • Nayax
  • MDB

02 / Teams

Where this work has been done

Employment

03 / Services

Where I am useful

Services and skills

Product firmware

ESP32 (Arduino, PlatformIO, and ESP-IDF), AVR/Arduino, STM32/GD32, and RP2040. The goal is behaviour that still works after a reboot, a bad network, and a firmware update.

  • ESP32
  • ESP-IDF
  • STM32
  • C/C++

Radios and field setup

BLE provisioning (including Nordic UART-style command protocols), Wi-Fi captive portals, ESP-NOW, and cellular: SIMCom A7670 / LilyGo T-Call, SMS, PPP, and a 4G hotspot.

  • BLE
  • ESP-NOW
  • A7670
  • GSM

Device to cloud

MQTT and HTTPS into ThingsBoard, Azure IoT Hub, and HiveMQ. Credentials in NVS, a queue when the link drops, and a way back into setup mode when the network is wrong.

  • MQTT
  • HTTPS
  • ThingsBoard
  • Azure IoT

04 / Clients

Feedback from finished jobs

All feedback

“Working with Roshan was an absolute pleasure from start to finish. He exceeded every expectation — not only delivering exceptional programming and design work, but doing so with an incredible...”

“Roshan did the work very quickly, was great and easy to communicate with, and performed great work. I will definitely contract with him again.”

“Roshan did an incredible job with our quick project. We needed it quick due to a deadline and they completed it in time and worked perfectly. Would recommend.”

“Roshan is very knowledgeable and understanding of our needs. He has stayed close to his midnights for testing and worked with our team. Highly recommend!!!!”

“I worked with Roshan on coding my custom PCB, and his expertise was exceptional. He created a virtual setup for testing, configured buttons and lights with precise functionality, and developed...”

“Great working with Roshan, exceptionally talented on Arduino and IoT projects.”

“Was very helpful in the coding of the project. Very fast at finishing a code prototype and then furthering into the final code. Clear communications so I knew what was...”

“Roshan simply is on another level. His professionalism and willingness to help have no comparison. He is extremely knowledgeable in coding and electrical circuits and has exceptional comunication skill. He...”

“Very hard working and skilled esp32 firmware/software developer”