# Embedded systems, IoT and sensor data acquisition

> From the sensor to reliable data: firmware, communication, logging and visualisation for your devices, and then the AI models that turn that data into forecasts.

- URL: https://mojtabaamini.com/services/embedded-iot
- Language: en
- Author: Mojtaba Amini, AI Software Engineer (Verona, Italy)

## Where AI meets hardware

Before AI, I worked on physical devices: an air-conditioning monitoring system in a university lab, CAN-bus data acquisition from energy-storage batteries, a glucose meter prototype on Arduino, and the telemetry ground station for a CanSat.

It is a concrete advantage: AI models are only as good as the data they learn from, and good data is designed starting from the sensor. I can cover the whole chain, from the firmware to the model that forecasts on the collected data.

## What I build

- **Sensor data acquisition**: reading, sampling, calibration and validation of values.
- **C and C++ firmware** for microcontrollers such as Arduino, with buses and protocols such as I²C and serial.
- **CAN bus and energy storage**: reading frames, decoding them and analysing battery performance.
- **Telemetry**: packets with delimiters and checksums, ground stations and logging of every session.
- **Test automation and certificates**: acceptance reports and conformity documents generated from test data.
- **Dashboards and AI models** in Python on the collected data: anomalies, predictive maintenance, forecasting.

## How we work

1. **Signal requirements**: Which quantities you need, how often and how precisely, and what happens when a sensor fails or disconnects.
2. **Firmware and communication**: Reading sensors, timestamps, plausibility checks and packets with delimiters and checksums, over serial, I²C, CAN or radio.
3. **Logging**: Every session saved with raw data and metadata: the basis for debugging, acceptance tests and future models.
4. **Processing and visualisation**: Filters, conversions and derived quantities in Python, with a clear dashboard for whoever uses the device.
5. **Testing the whole chain**: Known values injected from the sensor to the screen, to find errors where they start.

## Real projects

- [Embedded sensor data acquisition for an air-conditioning monitoring device](https://mojtabaamini.com/projects/sharif-embedded-en) (Sharif University of Technology · Jul 2020 — Aug 2021): Sensor data acquisition, processing, logging and visualization for an IoT air-conditioning monitoring device.
- [CAN-bus battery analytics & automated test certification](https://mojtabaamini.com/projects/voltfang-en) (Voltfang GmbH · Mar 2023 — Aug 2023): CAN-bus reader & automated battery test certification, written for Voltfang's incoming-product test pipeline.
- [Digital glucose meter prototype on Arduino](https://mojtabaamini.com/projects/glucose-meter-en) (Personal project · 2020): Arduino + INA219 current sensor + I²C LCD: strip detection, peak timing and a calibration line from shunt voltage to mg/dL. A study prototype, open source.
- [CanSat telemetry ground station (AIAA competition)](https://mojtabaamini.com/projects/cansat-ground-station-en) (Sharif University · CanSat · 2018): Serial telemetry with fixed 100-byte packets and start/end markers, live altimeter, compass and artificial horizon in JavaFX, one CSV log per session.

## Technology

C, C++, Arduino, Microcontrollers, I²C, CAN bus, Serial, Python, Java, Sensors, IoT

## Further reading

- [From sensor to dashboard: how I design data acquisition for an IoT device](https://mojtabaamini.com/writing/sensor-to-dashboard-en) (Article · Sep 2026): Before AI models there is data, and good data is designed starting from the sensor. The method I use, from firmware to logging to the dashboard, learned on monitoring devices and energy-storage systems.
- [Reading CAN-bus from energy storage, without losing your mind](https://mojtabaamini.com/writing/can-bus-batteries-en) (Article · Aug 2025): Notes from the Voltfang internship: parsing CAN frames, decoding DBCs, automating conformity certificates.
- [A glucose meter on Arduino: what an embedded prototype teaches](https://mojtabaamini.com/writing/arduino-glucose-meter-en) (Article · Sep 2026): In 2020 I built a digital glucose meter prototype with an Arduino, an INA219 current sensor and an LCD. How it works, where the code was fragile, and why a prototype is not a medical device.
- [Telemetry for a CanSat: ground station, packets and checksums](https://mojtabaamini.com/writing/cansat-telemetry-en) (Article · Sep 2026): In 2018 I wrote the telemetry ground station for a CanSat project for the AIAA competition: serial packets with checksums, flight instruments in JavaFX and a log file for every session. What I would do the same, and what not.

## Frequently asked questions

**Do you also design the electronics?**

My work focuses on firmware, data acquisition and the software around the device; in prototypes I have integrated ready-made sensors and modules, such as I²C current sensors and displays. Designing complex circuit boards should be done together with a hardware designer.

**Can our machines be connected to a monitoring system?**

Often, yes: many machines already expose data over CAN bus, serial lines or other protocols. The first step is understanding which data is available, how often and how reliably.

**Is sensor data useful for predictive maintenance?**

Yes, if it is collected continuously and with the right references, for example when a failure happened and which interventions were made. Designing the acquisition well is the first step of any predictive-maintenance project.

**Do you work on battery devices and energy storage?**

Yes: at Voltfang I built the package that reads CAN data from energy-storage batteries, and the automatic generation of acceptance reports and conformity certificates.

## Let’s talk about your project

Tell me about the process you want to improve: I will reply with a first assessment of where AI can help and where to start.
