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,…”

Robert Gracia, USA · 5.0 · 10 Oct 2025 to 25 Nov 2025
Build Wireless ESP32 Game Prototype (LED Button Remotes + Central Sound Unit)

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

Spencer Thomason, USA · 5.0 · 5 Feb 2025
Raspberry Pi + Halio NPU working with Ollama

“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.”

Trevor Schirmer, Apollo Automation, USA · 5.0 · 21 Jan 2025 to 23 Jan 2025
Arduino Program To Upload Data To Excel Or Google Fields

“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!!!!”

Ramakrishnan Manivannan, MarsoniK Inc, USA · 5.0 · 12 Nov 2024 to 18 Dec 2024
Integrating Barcode/QR reader to ESP32

“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…”

Hussein Farah, UK · 5.0 · 2 Nov 2024 to 1 Dec 2024
Flashing Lights PCB Coding for RP2040/Raspberry Pi Pico PCB Using Arduino IDE

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

Pxl Design Agency, UK · 5.0 · 21 Jun 2024 to 28 Sep 2024
Arduino IoT Smart Medicine Box Project

“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…”

Rowan Rae, UK · 5.0 · 10 Apr 2024 to 24 May 2024
Arduino motorbike code

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

Nahun Gracia, USA · 5.0 · 4 Apr 2024 to 18 Apr 2024
Self driving car

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

Tobias Kritten, cloudguard GmbH, Germany · 5.0 · 12 Mar 2025 to 24 Dec 2025
ESP32 Firmware Development Engineer Needed

“Roshan was very helpful. He immediately jumped into the project and met ALL the requirements. He is very smart and went above and beyond. He is also…”