logo elektroda
logo elektroda
X
logo elektroda

Homemade Restaurant Pager on FT61FC45 MCU RF Design

User question

Homemade pager for a restaurant on the FT61FC45

Artificial Intelligence ResponseLABEL_AI_GENERATED

Direct answer to the question

Yes, a homemade restaurant pager system can be built around the FT61FC45 / FT61FC4x family. The FT61FC4x documentation shows that this MCU family has enough resources for a simple pager: 4k × 14-bit program memory, 512 bytes RAM, 128 bytes data EEPROM, 12-bit ADC, timers, PWM, USART, watchdog, low-voltage detection, and low standby current. That is sufficient for a battery-powered RF receiver with LED, buzzer, and vibration motor control. (weixiaoic.com)

The recommended architecture is:

  • Base station: keypad or buttons + RF transmitter.
  • Pager unit: FT61FC45 + RF receiver + Li-ion battery + buzzer + vibration motor + LEDs.
  • Communication: addressed RF packets containing restaurant/system ID, pager ID, command, and checksum/CRC.
  • Power management: sleep most of the time, periodically wake and listen, or use a low-power RF module with wake capability.
  • Legal approach: use a pre-certified RF module and do not modify its antenna or RF power if the system is used in the United States; intentional radiators fall under FCC Part 15 rules, and modular transmitters are covered by FCC modular-transmitter guidance. (law.cornell.edu)

Detailed problem analysis

1. Overall system structure

A restaurant pager system is basically a one-to-many wireless alert system.

 ┌──────────────────────────────┐
│ Base Station │
│ │
│ Keypad / buttons │
│ Display, optional │
│ MCU │
│ RF transmitter │
└──────────────┬───────────────┘
│ RF packet
▼
┌────────────────────────────────────────────┐
│ Pager / Coaster │
│ │
│ RF receiver → FT61FC45 → LED │
│ → Buzzer │
│ → Vibration motor │
│ → Battery monitor │
└────────────────────────────────────────────┘

Each pager has a unique address, for example:

  • Pager 1 → ID 0x01
  • Pager 2 → ID 0x02
  • Pager 25 → ID 0x19

When the restaurant staff selects pager 25 on the base station, the transmitter sends a packet addressed to 0x19. All pagers receive the same RF signal, but only pager 25 reacts.


2. Why the FT61FC45 is suitable

The FT61FC4x family is appropriate for this type of design because it has:

Requirement FT61FC4x capability
Low-power standby Standby current is listed as low as 0.2 µA under typical conditions
Packet decoding Timers and capture/compare functions are available
Buzzer drive PWM-capable timer output can generate tones
Battery measurement 12-bit ADC is available
Pager ID storage Internal data EEPROM is available
Watchdog wake/supervision WDT and low-voltage features are available
Serial RF module option USART is documented in the FT61FC4x family

The exact FT61FC45 package pinout must still be verified from the specific datasheet or supplier marking, because FT61FC4x devices are available in several package variants, including small and 20-pin packages. The family documentation lists package options such as SOP8, MSOP10, SOP14, SOP16, SOP20, QFN20, and TSSOP20. (weixiaoic.com)


3. Recommended pager hardware

A practical pager unit can be designed as follows.

Core parts
Block Recommended implementation
MCU FT61FC45 / suitable FT61FC4x variant
RF receiver Certified 915 MHz, 2.4 GHz, or sub-GHz receiver module; 433 MHz ASK/OOK possible but less robust
Battery 1-cell Li-ion / LiPo, typically 300–1000 mAh
Charger Li-ion charger IC with protection, cradle contacts, or USB-C charging
Regulator Low-IQ 3.0 V or 3.3 V LDO
Alert Red LEDs, active buzzer, vibration motor
Storage Pager ID stored in MCU EEPROM
Programming Exposed programming pads on PCB
Suggested pager block diagram
 Li-ion cell
│
├── Charger / protection circuit
│
├── Low-IQ 3.0 V / 3.3 V regulator
│ │
│ ├── FT61FC45
│ │ ├── RF DATA input
│ │ ├── LED outputs
│ │ ├── Buzzer driver
│ │ ├── Motor MOSFET gate
│ │ └── ADC battery monitor
│ │
│ └── RF receiver module
│
└── Battery divider → ADC input

4. Output driver circuits

Do not drive the vibration motor directly from the FT61FC45 pin. The MCU pins can drive LEDs, but a motor can draw tens or hundreds of milliamps during startup.

Vibration motor driver

Use a low-side N-MOSFET:

+3.0 V / +3.3 V
│
Motor
│
├──── Drain N-MOSFET
│
Source
│
GND
FT61FC45 GPIO ── 100 Ω ── Gate
Gate ── 100 kΩ ── GND
Diode across motor, cathode to +V, anode to MOSFET drain

Recommended parts:

  • Small N-MOSFET: AO3400, IRLML2502, 2N7002 for small motors only.
  • Flyback diode: 1N4148 or Schottky diode.
  • Add 10–47 µF local capacitor near the motor supply.
Buzzer driver

For an active buzzer, use a transistor or MOSFET switch.

+3.0 V
│
Active buzzer
│
NPN collector / MOSFET drain
│
GND

If using a passive piezo, drive it with PWM from the FT61FC45 timer output. The FT61FC4x timer/PWM functionality is suitable for this type of waveform generation. (weixiaoic.com)

LED driver

For simple pagers, use 3–6 high-brightness LEDs with individual resistors.

Example at 3.3 V:

  • Red LED, \(V_F \approx 2.0\text{ V}\)
  • Desired LED current: 5–10 mA
  • Resistor:

\[ R = \frac{3.3 - 2.0}{0.008} \approx 162\ \Omega \]

Use 150 Ω to 220 Ω as a practical range.


5. RF link options

Option A: Simple ASK/OOK RF link

This is the cheapest option.

  • Base: ASK/OOK transmitter.
  • Pager: ASK/OOK receiver.
  • MCU decodes pulse timing using timer/capture or GPIO polling.
  • Good for hobby/prototype use.
  • More sensitive to interference.

A simple packet could be:

Preamble 0xAA 0xAA 0xAA 0xAA
Sync 0xD5
System ID 16 bits
Pager ID 8 or 16 bits
Command 8 bits
Sequence 8 bits
CRC-8 8 bits

Send the packet several times, for example 5–10 repetitions, to improve reliability.

Option B: UART RF module

This is usually easier with the FT61FC45 because the FT61FC4x family includes USART functionality. (weixiaoic.com)

The base sends ordinary bytes:

[PREAMBLE][SYNC][SYSTEM_ID_H][SYSTEM_ID_L][PAGER_ID][COMMAND][SEQ][CRC]

Advantages:

  • Less timing-critical firmware.
  • Easier debugging.
  • Some modules include addressing, CRC, and retransmission.
  • More robust than raw ASK/OOK.

For a restaurant system, I would normally choose a certified UART RF module unless the goal is specifically to learn low-level RF decoding.

Option C: Two-way transceiver

If you want acknowledgments:

  • Base sends call.
  • Pager receives call.
  • Pager replies “received”.
  • Base shows success/failure.

This requires a transceiver in every pager, increasing cost and battery consumption but improving reliability.


6. Suggested packet protocol

Use a packet format like this:

Field Size Purpose
Preamble 4–16 bytes Receiver synchronization
Sync byte 1 byte Start-of-frame marker
System ID 2 bytes Prevents triggering other nearby systems
Pager ID 1–2 bytes Selects the target pager
Command 1 byte Alert, stop, test, low-power config
Sequence 1 byte Rejects duplicates if needed
CRC-8 1 byte Error detection

Example command values:

Command Meaning
0x01 Start normal alert
0x02 Stop alert
0x03 Test flash/beep
0x04 Silent vibration only
0xFF Broadcast test

Use CRC-8 rather than a simple XOR checksum if possible. XOR is better than nothing, but CRC-8 detects many more common RF errors.


7. Power design

A restaurant pager should survive at least one business day.

Continuous receive mode

If the RF receiver draws 2–10 mA continuously, a small battery will drain quickly.

Approximate battery life:

\[ t = \frac{C}{I} \]

For a 500 mAh battery and 5 mA receiver current:

\[ t = \frac{500}{5} = 100\ \text{hours} \]

That looks acceptable, but real life will be lower because of regulator loss, MCU current, LEDs, buzzer, motor, and battery aging.

Duty-cycled receive mode

To extend battery life, the FT61FC45 can sleep and periodically wake using the watchdog timer. The FT61FC4x documentation lists watchdog and low-standby operating modes, which are useful for this kind of design. (weixiaoic.com)

Example strategy:

  1. MCU sleeps.
  2. Wakes every 250–500 ms.
  3. Powers RF receiver.
  4. Waits for RF module startup.
  5. Samples RF for preamble.
  6. If no preamble is detected, powers receiver off again.
  7. If preamble is detected, stays awake and decodes full packet.

Important consequence: the base station must transmit a long enough preamble or repeat the packet long enough so that a sleeping pager catches it.

For example:

  • Pager listens every 500 ms.
  • RF receiver needs 5 ms to settle.
  • Pager samples for 20 ms.
  • Base should send preamble/repeated frames for at least 700–1000 ms.

This gives good battery life while keeping call latency around one second.


Current information and trends

For a homemade pager today, the main design trend is to avoid discrete RF design and use certified RF modules. This is especially important in the United States because intentional RF transmitters are regulated under FCC Part 15, and FCC modular-transmitter rules define conditions for using pre-certified radio modules in host products. (law.cornell.edu)

Practical modern choices:

Technology Suitability
433 MHz ASK/OOK Cheapest, simple, but noisy and regulation-sensitive
915 MHz FSK / LoRa module Good range, better for U.S. sub-GHz use if certified
2.4 GHz module Easy certification path if module is approved, but more crowded band
BLE Possible, but overkill for simple one-way pagers
LoRa Excellent range, slower, more expensive, good for reliable systems

For a real restaurant installation, I would choose either:

  • FCC-certified 915 MHz FSK/LoRa UART module, or
  • FCC-certified 2.4 GHz module with UART/SPI interface.

For a learning project, cheap ASK/OOK modules are acceptable, but expect more debugging.


Supporting explanations and details

Example FT61FC45 pager pin assignment

This is conceptual; verify against your exact FT61FC45 package.

MCU signal Connection
RF_DATA RF receiver data output
RF_EN MOSFET or enable pin for RF receiver power
LED1 Red LED group 1
LED2 Red LED group 2
BUZZER Buzzer transistor / PWM output
MOTOR Vibration motor MOSFET gate
VBAT_ADC Battery divider midpoint
BUTTON Pair/test/acknowledge button
PROG_CLK Programming pad
PROG_DATA Programming pad
VDD/VSS Power and ground

Battery measurement circuit

Use a high-value divider:

VBAT ── 330 kΩ ──┬── ADC input
│
330 kΩ
│
GND

This divides the battery voltage by 2.

For a 4.2 V Li-ion cell:

\[ V_{ADC} = \frac{4.2}{2} = 2.1\text{ V} \]

That is safe for a 3.0 V or 3.3 V MCU ADC input.

However, high-value dividers interact with the ADC sampling capacitor. The FT61FC4x ADC documentation notes that acquisition time must be increased when the source resistance is high; therefore either use lower divider values, add a capacitor at the ADC pin, or enable the divider only during measurement. (weixiaoic.com)

Recommended practical solution:

VBAT ── 220 kΩ ──┬── ADC
│
100 nF
│
220 kΩ
│
GND

Sample slowly and discard the first ADC reading after enabling the divider.


Ethical, legal, and safety aspects

RF legality

If the device is used only on your bench, the risk is low, but if used in a real restaurant, you should treat it as an intentional radiator.

Best practice:

  • Use a certified RF module.
  • Use the manufacturer-approved antenna.
  • Do not add an RF power amplifier.
  • Do not change antenna gain or antenna type unless allowed by the module grant.
  • Keep the module’s FCC ID labeling requirements in mind.

FCC Part 15 Subpart C covers intentional radiators, and FCC guidance exists for modular transmitter certification. (law.cornell.edu)

Battery safety

For Li-ion/LiPo pagers:

  • Use protected cells or add a protection IC.
  • Include overcharge, overdischarge, and short-circuit protection.
  • Do not rely only on firmware for undervoltage cutoff.
  • Design charging contacts so that stacked pagers cannot short adjacent contacts.
  • Add current limiting in the charging cradle.

Operational reliability

Do not use a homemade pager as a safety-critical notification system. It is fine for “your table is ready,” but not for emergency evacuation, medical alarms, or fire notification.


Practical guidelines

Minimum viable pager design

If you want the simplest version:

  • FT61FC45 pager.
  • One RF receiver module.
  • One LED.
  • One active buzzer.
  • One vibration motor.
  • One Li-ion battery.
  • One charger/protection circuit.
  • Pager ID hard-coded or stored in EEPROM.

No display is required. Most restaurant pagers only need to flash, beep, and vibrate.

Base station design

The base station can use:

  • Another FT61FC45 if the UI is simple.
  • A larger MCU if you want keypad + display + menu.
  • RF transmitter module.
  • Keypad or individual pager buttons.
  • 5 V wall adapter.

Example base UI:

[1] [2] [3]
[4] [5] [6]
[7] [8] [9]
[*] [0] [SEND]

Workflow:

  1. Enter pager number.
  2. Press SEND.
  3. Base sends packet repeatedly for 1 second.
  4. Pager with matching ID starts alert.

Firmware state machine for the pager

Use a simple state machine:

INIT
↓
LOAD_ID_FROM_EEPROM
↓
SLEEP / LOW_POWER_LISTEN
↓
RF_PREAMBLE_DETECTED?
├── No → SLEEP
└── Yes
↓
RECEIVE_FRAME
↓
CRC_VALID?
├── No → SLEEP
└── Yes
↓
ID_MATCH?
├── No → SLEEP
└── Yes
↓
ALERT
↓
STOP / TIMEOUT / BUTTON / CHARGER_DETECT
↓
SLEEP

Example pager pseudocode

main()
{
init_clock_low_power();
init_gpio();
init_timer();
init_adc();
init_rf_power_control();
pager_id = eeprom_read(PAGER_ID_ADDR);
while (1)
{
rf_power_on();
delay_ms(RF_STARTUP_TIME_MS);
if (detect_preamble())
{
if (receive_packet(&packet))
{
if (crc_ok(packet) &&
packet.system_id == MY_SYSTEM_ID &&
packet.pager_id == pager_id)
{
run_alert(packet.command);
}
}
}
rf_power_off();
enter_sleep_until_wdt();
}
}

Alert pattern

Example:

void run_alert(uint8_t command)
{
for (uint16_t i = 0; i < 150; i++)
{
motor_on();
buzzer_on();
led_on();
delay_ms(150);
motor_off();
buzzer_off();
led_off();
delay_ms(150);
if (button_pressed() || charger_detected())
break;
}
}

Possible disclaimers or additional notes

  • The exact FT61FC45 pinout and register names must be checked before PCB layout.
  • If you use cheap ASK/OOK RF modules, expect false pulses and noise. Use preamble, sync word, CRC, and repeated transmission.
  • If you duty-cycle the receiver, the base station must transmit long enough for sleeping pagers to wake and detect the packet.
  • A simple one-way system cannot know whether the pager actually received the message.
  • For a commercial product, EMC, RF, battery, enclosure flammability, and charging safety testing become important.

Brief summary

A restaurant pager based on the FT61FC45 is feasible. Use the FT61FC45 in each pager to decode RF packets, store a unique pager ID in EEPROM, monitor the battery with the ADC, and drive LEDs, buzzer, and vibration motor through proper transistor/MOSFET drivers. For the RF section, a certified UART RF module is the safest and most reliable choice; cheap ASK/OOK modules can work for a hobby build but need more careful protocol design. The most important engineering points are RF legality, battery safety, low-power firmware, packet CRC, repeated transmissions, and robust output drivers.

Disclaimer: The responses provided by artificial intelligence (language model) may be inaccurate and misleading. Elektroda is not responsible for the accuracy, reliability, or completeness of the presented information. All responses should be verified by the user.

Ask additional question

Wait...(2min)