Azimut SDK
Cash Dispenser
Fujitsu F53
Self-Service Machine Integration Components

Compact Multi Cassette Media Dispenser

The Fujitsu F53 is a compact, versatile media dispenser designed for the OEM market. It offers high-performance bill dispensing in a space-saving design, making it ideal for applications that require easy integration, minimal maintenance, and reliable functionality at a low cost.

Cash Dispenser
Total Capacity: 500 Notes
Hardware Image

Discover how our EDK software works across various self-service components.

Compact design with flexible service access (front or rear)
Supports up to 6 cassettes, each capable of holding 500 notes
Predictive failure analysis to reduce downtime and maintenance
RS232C interface for easy integration into existing systems
Lockable cassette option for enhanced security during transport
Single note reject function to handle errors efficiently
Bill low sensor to alert when the cassette is nearing empty

Integration & JSON API

Integrate the Fujitsu F53 with your platform

The F53 connects over RS232C, and your application does not need to speak that protocol. The SDK drives the serial interface on the kiosk and exposes the dispenser through a JSON API, so an existing platform integrates the F53 the same way it integrates any other device — with an HTTP call.

Two operations carry the core flow. Check that the dispenser is ready before the session reaches the cash step, then request the amount and read the result from the shared response envelope. Readiness, cassette state, and faults are reported in the same response shape rather than in serial status bytes.

See the JSON API and examples in every language
C# / .NETkiosk-local JSON API
using System.Net.Http.Json;
using System.Text.Json;
using System.Text.Json.Serialization;

record ApiEnvelope(
    [property: JsonPropertyName("code")] string Code,
    [property: JsonPropertyName("message")] string? Message,
    [property: JsonPropertyName("data")] JsonElement? Data);

var api = new HttpClient { BaseAddress = new Uri("http://localhost:8080") };

// 1. Confirm the F53 is ready before the cash step starts.
var status = await api.GetFromJsonAsync<ApiEnvelope>(
    "api/hardware/cash-dispenser/check-dispenser");

if (status?.Code != "0000")
    throw new InvalidOperationException($"F53 not ready: {status?.Message}");

// 2. Dispense the requested amount.
var response = await api.PostAsJsonAsync(
    "api/hardware/cash-dispenser/dispense-amount",
    new { amount = "5000" });

var result = await response.Content.ReadFromJsonAsync<ApiEnvelope>();

if (result?.Code != "0000")
    throw new InvalidOperationException($"Dispense failed: {result?.Message}");

Integration questions