Case Study: Industrial IoT, My Bachelor Thesis
ISS connects a farm's digital scales into one system. Rust weighing stations report wirelessly to a server, replacing paper ledgers across the site.
A network of Rust weighing stations that replaced a poultry farm's paper ledgers.ISS (Interconnected Scale System) is the most grounded thing in this portfolio. It is a real system I built for a real client, a poultry farm called Winfarm, as my bachelor thesis at Universitas Ciputra in late 2023. Their problem was ordinary and expensive. Weighing happened across five separate warehouses, the office was somewhere else entirely, and everything was recorded on paper by hand and later retyped into a spreadsheet. Every step was a chance for a number to go wrong. I built them a system where the scales themselves report what they weigh, wirelessly, straight into one place. The whole thing came together solo in about a month.
I should be honest about something. None of this was hard for me, and that is rather the point. Digital scales have been my thing since 2020, when my very first paid job was writing the software for a truck weighbridge, a jembatan timbang. So by the time Winfarm came along, reading a scale, cleaning up its output, and turning it into something a system can trust was familiar ground. A lot of what looks like the hard part of a project like this, wrangling industrial hardware, was simply where I felt at home.
Each warehouse gets a weighing station. It is a small box with a Raspberry Pi inside, wired to the scale's indicator over RS232, A long-standing serial protocol, here used to read numbers off the scale's indicatorwith an LCD, a numpad, a buzzer, and an indicator light. The operator never touches a keyboard or a screen full of menus. They put a load on the scale, the station reads it, shows it on the LCD, and on a keypress sends it onward, with the buzzer confirming the save so they can keep their eyes on the work. It has two modes, one for weighing and one for counting, and it can enforce a minimum and maximum weight, lighting the indicator only when a load lands in range. That physical feedback, a beep and a light, is what makes it usable on a noisy warehouse floor. I wrote the firmware in Rust. I reached for a Raspberry Pi rather than something smaller like an ESP32 for an honest reason. Writing rock-solid firmware on a bare microcontroller is not yet my strongest skill, and the Pi is industry-ready, so I leaned on it. Rust I chose because I love it, and because its performance and reliability are exactly what you want on a device that has to run untouched in a warehouse.
The name is the idea. Every weighing station connects, over WebSocket, A persistent two-way connection, used here so each scale streams to the server in real timeto a central server through a small hub, so a whole site's worth of scales becomes one interconnected system reporting in real time. The server, also written in Rust, is the brain. It authenticates users, enforces who can do what, stores every reading in MongoDB, and serves a web app where the office manages materials, suppliers, storage locations, and transactions, and pulls stock and transaction reports on demand, ready to print or export. From the office, without walking to a single warehouse, someone can see exactly what was weighed, where, and by whom. That is the whole point of connecting the scales in the first place.
I will be straight about where it stands. It was a one-time project. I deployed it, it worked, and then I did not hear from Winfarm again, so I cannot claim it is still running today. My honest guess is that it served them for a while until the hardware eventually needed the kind of maintenance a Raspberry Pi in a warehouse will ask for, and by then I was out of the loop. What it gave me lasts longer than the deployment. This is where I learned that edge devices, a central server, and Rust are a combination that fits most industrial problems, and that lesson went straight into ICS at Optense, which is really this same shape grown up, with Modbus in place of RS232 and software rules on top. ISS is where that pattern started.


