Milestones fully delivered
Critical PCB flaw identified & resolved
Not months — fast turnaround on long-standing issues
Engagement completed — all deliverables met
THE CLIENT
AgriTech · Food Technology · Mushroom Growth
Custom ESP32-S3 Board · EYE-SPI Camera · ILI9340 TFT · Touch LCD
Hardware diagnosis, firmware, and embedded GUI delivery
The Challenge
The hardware existed — the board had been designed and fabricated. But across every major subsystem, something was broken. The previous developer had dropped off without resolution, leaving Celium BV with a non-functional prototype and no clear path forward.
High-resolution images could not be captured at all. The camera was returning blank output regardless of configuration — and the root cause was buried in the PCB design itself.
Even if images could be captured, there was no implemented path to save them to the SD card. Storage integration had not been built out.
The TFT display refused to initialize. The touchscreen was equally unresponsive. The team had been stuck on this for several weeks with no resolution.
The product's UI was fully designed in Figma. None of it had been converted into embedded code or displayed on the hardware — the design existed only on a screen.
Before writing a single line of code, the custom PCB design was loaded into Altium Designer and analyzed pin-by-pin. That analysis revealed the root cause of the camera failure — and set the tone for how every subsequent milestone would be approached.
Altium analysis revealed that all camera signal pins had been assigned in reverse order relative to the manufacturer's pinout specification. This was a fundamental hardware design error — no firmware change could have fixed it. Once the pin mapping was corrected to match the manufacturer's datasheet, high-resolution image capture became possible without external PSRAM.
This pattern — trace the problem to its actual source before attempting a fix — defined the approach across all four milestones. The LCD driver was identified not by guessing, but by reading the display's internal registers. The touchscreen driver was recovered not from documentation, but from the previous developer's git commit history.
The Approach
The Build
Each milestone was treated as a standalone diagnostic and build problem — systematically resolved in sequence before moving to the next.
Problem: Camera was completely non-functional. Unable to capture any images, let alone high-resolution ones — and the ESP32-S3 board had no PSRAM, which most solutions required.
Solution: PCB analyzed in Altium — all camera pinouts confirmed inverted. Corrected pin alignment to match manufacturer specification. Validated high-res capture first on a standard ESP32 module with PSRAM, then replicated on the custom board with PSRAM disabled in software. Both produced full-resolution output.
Problem: No path existed to persist captured images. SD card integration had not been implemented and had not been validated against the custom board's pinout configuration.
Solution: Validated SPI protocol against the board's custom SD card pinouts. Confirmed card initialization and read/write functionality. Then connected the camera and SD systems end-to-end — high-resolution captures triggered by button event, saved directly to card.
The numbers tell part of the story. The real result is that a trading operation that used to carry significant overnight risk now runs with near-complete confidence — every night, without intervention.
Milestones delivered in full
Long-standing issues left unresolved
Of Figma designs transferred to device
Engagement complete — all deliverables met
Client Voice
Explore More
Azimut Medical
PCB fault diagnosis and embedded GUI delivery for an AgriTech startup.
All Case Studies
Browse every client engagement and result.
Your Hardware Challenge