Profileimage by Tomasz Firsiuk Senior Lead Software Engineer C/C++/Java from Warsaw

Tomasz Firsiuk


Last update: 30.11.2017

Senior Lead Software Engineer C/C++/Java

Company: Navica Tomasz Firsiuk
Graduation: Master of Science (MS) Information Technology/Computer Engineering
Hourly-/Daily rates: show
Languages: English (Full Professional) | French (Elementary) | Polish (Native or Bilingual)


Senior Software Engineer responsible for the design and development of real-time embedded software as well as IBM tooling extensions (Java) within an integrated team environment. I demonstrate independence and sound technical judgment identify problems and formulate solutions. I take an innovative approach to problem-solving and share technical knowledge with others in the group, team and across the organisation.

Project history


Automated Vehicle Localisation Device (Prototype of Invention)
An example of Proof-of-Concept development. Vehicle Location Device with Bluetooth 2.0. Most interesting feature is providing, via Bluetooth, the Internet access for Tablet.Hardware based on Raspberry PI 2B with GPS, Bluetooth and LTE module. Designed and developed software for Raspbian Linux. Developed Android Application, according to requirements, in order to evaluate and demonstrate prototype's features.
Used Technologies: Bluetooth, LTE, GPS, SMS

Bluetooth Smart interface for Coffee Machines
Wireless interface for Coffee Machine which allows Mobile Application to start and show progress of products as well as statistics reading and maintenance status. Added support of accessories based on legacy 2,4GHz radio protocol (Milk Container). Developed firmware for nRF51 chip. Up to 6 wireless accessories can be supported simultaneously. Concurrency operation of proprietary 2,4 GHz protocol (accessories) and Bluetooth Smart (Mobile App). Developed test software to evaluate and demonstrate features.
Used Technologies: Bluetooth Smart, 2,4GHz RF, nRF51

J-Qualipressa and UBD
Statistics and Maintenance data parser and visualizations form devices of the leading appliance manufacturer.
Used Technologies: Java, Spring, BIRT

Smart Hotel - Building Automation System (IoT)
Designed and developed firmware/software of below devices:
* Room Controller (3xRS-485, 2xInput, 2xOutput) support of Samsung Air Conditioning Devices
* Light Controller (1xInput, 2xOuptut, 1xRS-485)
* Heating Controller (6xOutput, 1xRS-485)
* RFID Tag Reader (13.56MHz RFID Read, 2xLED, 1xRS-485)
* BAS Network Controller (1xEthernet, 2xRS-485)

Designed and developed communication protocol which defines two roles - Node and Route. The protocol provides identification and access to devices connected directly to Network Controller as well as devices those behind Room Controller. By using HTTPS, RESTful, JSON technologies BAS Network Controller provides exchanging data interface with each devices in the network. Light scenes, temperature, access to the rooms etc., are managed by Web-based Software.

Bluetooth Mobile Gateway for telemedicine and homecare applications.
Developed firmware and application of the Gateway for tele-diagnosis. The Gateway takes advantage of BGS2 wireless M2M module to access the Internet. Following technologies have been used: HTTPS, RESTful, JSON, LZMA in order to communicate with a server. The Gateway readouts data wirelessly via Bluetooth protocol (Class II) from medical devices. Whole customer's configuration (e.g schedule, MAC address of allowed medical devices) is kept in cloud database including firmware upgrade.
Used Technology: GSM, Bluetooht, ARM, WiFi, HTTPS, RESTful, JSON, LZMA

Easy to use card reader that allows the drivers to provide securely their Digital Tacho Card data to the headquarters office form any place in EU.ISO 7816-3, ISO 7816-4 standards for Tachograph Card Application Protocol implemented on Cortex-M3 microprocessor. NCR-270 takes advantage of TC65i wireless M2M module to access the Internet. Due to e-mail protocol has been implemented customer can use his existing facilities or free e-mail services. Secure data transmission has been achieved by using SSL security protocol. Developed Java Swing application which allows to configure and monitor NCR-270 devices via USB (HID) as well as over air.
Used Technologies: SMTP, SSL, GSM, ISO 7816-3 / 4, USB HID

LED's Street Light Power Supply
Complete firmware configurable to supply power for LED luminaires, for company called Rosa and an application in Qt C++ for configuration and monitoring purposes

NRE-104 (GN10)
Complete design and development firmware based on STM CortexM3. NRE-104 is a light terminal with GPS/GLONASS and GSM connectivity, which is able to get device coordinates and other data and transfer them via cellular network. The most interesting features include support for CAN bus of many types of vehicles including trucks and engineering vehicles, USB and over air firmware upgrade, an innovative communication protocol with server. Equipped device with GPS (uBlox LEA6) and GSM (TC65i) module, accelerometer and a lot of interfaces which allow to read/send data from I/Os, CAN, RS-485, 1-wire, I2C, FMS, OBDII. Added support to plenty types of sensors like fuel-level, distance, rpm, temperature, driver identity, flow measurement etc. Implemented advanced algorithms for flash-memory data storage, fuel-level measurement, collision detection and eco-driving. Developed Visual Basic application which allows to configure and monitor NRE-101 devices via USB (COM) as well as over air (GPRS). Manufactured around 7,000 units in 4 years and provided after-sales service and maintenance.
Used Technologies: GPS, CAN, FMS, RS-485, GPRS, 1-wire, ARM

Messenger TomText
An application to communicate with a driver installed on an embedded linux platform on a TomTom navigation using XMPP protocol and an USB interface.
Developed and implemented the system AVL (Automatic Vehicle Location) using technologies such as C #, ASP.NET, PostgreSQL. The main features of this Web application is to obtain location and visualization of objects on a digital map and provide a wide range of reports covering a full range of data available from devices.

Completed design and implementation of firmware for the AVR in the next version of the GPS vehicle tracker. The recorder is equipped for the following peripherals 1-wire, adc, i2c, spi, USB, i/o, CAN, GSM(Q2686), GPS (uBlox), RS-485. Apart from standard functionality of GPS truckers like sending coordinates, fuel-level, travelled distance, CAN data etc. into web-based application, the most interesting features include:
* Support of Digital Tachograph real-time data interface (K-line)
* Provide the internet access for PND (Personal Navigation Device) or Tablet
* Support of Digital Driver Card reading and send its connect by e-mail
The device was equipped with GPS (uBlox LEA6) and GSM (Wavecom Q2686) module, accelerometer and a lot of interfaces which allow to read/send data from I/Os, CAN, RS-485, 1-wire, I2C, FMS, OBDII, USB.

Developed and implemented the Navister application in Visual Basic technology intended to configuration and monitoring devices from Navica. Connect between the installed management station while communicating with Navister application. Devices should be implemented with a standard USB or TCP / IP connection.

The device designed for Wikpol Sp. z. o.o. Development and implementation of a wireless communication protocol using modules by Radiocrafts, logging routes with a GPS module in various modes, USB communication with data reading and writing on Dallas i-Button. Used AVR Studio.

Multiplexer SDH, TM-140
Creating management software used to transmit data and benefit from convergence services (VoIP, video, data) and the creation of a separate management network using alternative connections.

Converter Ethercon TM-170 2x ETHERNET 10/100BASE-TX/ E3
Creating software enabling a device to connect independent of LAN networks using standard Ethernet 10/100BASE-TX over SDH or PDH telecommunication networks SDH using an E3 signal, at an unrestricted rate of 34 368 kbit/s.

Inverse Ethernet Multiplexer / 4xE1, TM-141
Creating management software. The device implements a connection similar to point-to- point with business centers for example, using the following backbones; SDH, ATM and PDH).


Senior Lead Software Engineer (Contractor)
COMPANY: GE Aviation

As a Lead Software Engineer I develop applications and tools to fulfil specific business needs and requirements following best industry standards, collaborate with system engineers, analysts and stakeholders on a daily basis to clarify requirements and align expectations for created software with ongoing progress. I'm also responsible for identifying the scope of the work and means to achieve it, diving into details to understand benefits and drawbacks of taken approach. Actively participate in planning sessions and scrums regarding both features and technical roadmap for built platform and 
apply best practices throughout the day to deliver best outcomes, share discoveries and gained knowledge during the process among other members of the team, question status quo of taken decisions to gain understanding of business. Proactively engage in discussions, both technical and business related to share own ideas and different view on given subject. Take ownership of entrusted tasks and lead by example by timely delivering them. I communicate on a daily basis with international team located in other GE sites.

CTO / Embedded Software Lead Engineer
COMPANY: Navica Embedded Platform Developer

- Designing, development and testing embedded software 
- Development of cost-effective solutions and improvements - selection of tools, technologies, architecture, methods and functionality. 
- Consulting and analysing to determine customers’ needs. 
- Participatation in all stages of development (eg requirements definition, design, development, validation, post-sales support). 
- Integration of new features into existing systems including troubleshooting. 
- Maintaining high quality standards of programming. 
- Leading of developers' team.
- Working in an international team, proactive sharing of knowledge.

Embedded Software Engeenier

Development and testing of embedded software for data transmission devices. The sole responsibility for software development.

Contact form

Contact details