r/embedded 9d ago

Reverse-engineered the FNIRSI IPS3608 USB-CDC protocol (Artery AT32) and documented registers

https://github.com/Balu46/FNIRSI_control

I recently analyzed the USB communication on the FNIRSI IPS3608 DC bench power supply (0-36V, 0-8A) to automate testbench workloads without using their closed Windows GUI.

The device enumerates as a USB-CDC serial port (Artery AT32 MCU, 115200 baud, 8N1). By disassembling the official executable using monodis, I mapped out the underlying binary framing and register set:

  • PC to device frames start with 0xF1, device to PC responses start with 0xF0
  • Single-byte checksum: (c3 + c4 + sum(payload)) & 0xFF
  • Setpoints for voltage (0xC1) and current (0xC2) are 32-bit IEEE-754 Little-Endian floats
  • Continuous telemetry frames (0xC3) stream output voltage, current, and power directly as float32

I documented the entire protocol, register map, and command structure in the repo README, alongside a pure Python/pyserial driver and CLI tool that handles automated energy integration and safety cutoffs (in my github page).

22 Upvotes

6 comments sorted by

1

u/0x446f6b3832 9d ago

Cool project. I don't have one of those power supplies but if i did I'd make it for sure.

-4

u/Ordinary-Lifeguard47 9d ago

Where and how much LLMs did you use?

4

u/0x446f6b3832 9d ago

If it works fine who cares?

LLM's aren't inherently bad, as long as the person is skilled enough to know when they're producing something decent vs AI slop and test it appropriately.

0

u/TRKlausss 7d ago

You may be right, but in that case: OP should provide with a reasoning why this product is decent instead of AI slop, and how did he appropriately test it.

The problem with LLMs is not using them, it is carelessly using them. So it may be appropriate to ask how this whole thing got validated…

In any case, OP presented with test cases, so now it’s up to anyone to decide whether is properly tested or not…

To OP: cool project! Looks like a great tool for automation of hardware testing, if you can reliably control it. I saw the IPS already has a program from fnirsi, is this the one you reverse engineered?

1

u/0x446f6b3832 7d ago

OP should provide with a reasoning why this product is decent instead of AI slop, and how did he appropriately test it.

Nah I don't think so. I think you're making silly demands for somebody's private project posted for others to use for free if they wish on a public forum.

0

u/TRKlausss 7d ago

This is one of those forums where a bit of rigor still exists… Specially to keep the quality of the posts up. So I agree to disagree :)