Custom LoRa Wireless Button Trigger (USB Keyboard Device)

Job ID: 40302152

Budget: $12 – $500 SGD

Project Brief – Custom LoRa Wireless Button Trigger (USB Keyboard Device)
Project Overview

I am looking for an experienced embedded systems / hardware developer to design and build a custom wireless trigger system using LoRa communication.


The system consists of:

Handheld Transmitter (with button)
USB Receiver (connected to a computer)
When the button on the transmitter is pressed, the receiver should emulate a USB keyboard and send an ENTER key press to the connected computer.
The device must be reliable and suitable for frequent use, therefore rugged connectors and proper enclosures are required.

System Architecture
The system will consist of two hardware devices.
Wireless Range: At least 300-500 Meters Indoor.


1. Transmitter (Handheld Remote)
A compact handheld remote device.

Functions
When button is pressed:
Send LoRa wireless packet to receiver
Wait for acknowledgement (ACK)
Retry if ACK not received
Send heartbeat to RX

Hardware Requirements
Push button (main trigger). Solid, rugged and stable thumb size.
3 LEDs for status
Rechargeable battery (LiPo preferred)
USB charging (USB Type-B preferred but open to USB-C)
Power switch

LED Behaviour
TX LED → blink when transmitting
ACK LED → turn ON for 2 seconds when acknowledgement received
RED/Power ON LED → blink if no connection to receiver or no Heartbeat for more than 10 seconds

Form Factor
Small handheld device similar to:
presentation remote

Add-On Good to have
Battery level status


2. Receiver (USB Device)
The receiver connects to a computer and emulates a USB keyboard.

Important Requirement
The receiver must use a USB Type-B connector (printer-style connector) for a strong and reliable connection.
This is required because the device may be used in environments where cables may be pulled or moved.

Functions
Receive LoRa packet from transmitter
Send ACK packet back
Emulate USB keyboard
Send Enter key press to the computer

LED Behaviour
Green LED → ON for 2 seconds when ENTER command is received
Red LED → blink if no signal / no heartbeat received from transmitter for 10 seconds

Add-On Good to have
TX Battery level status

Connection
Receiver should connect via:
USB Type-B connector → USB cable → Computer
Wireless Technology

The device will use LoRa communication (SX1276).

Frequency
923.2 MHz (AS923 Region – Singapore)

LoRa Settings

These parameters must remain unchanged:

Bandwidth
125 kHz

Spreading Factor
SF10

Coding Rate
4/6

Preamble
10

CRC
Enabled

Communication Protocol

The system uses a simple packet protocol.

Packet fields include:
message type
device ID
sequence number
session epoch
Message Types

H = Heartbeat
E = Enter command
A = Acknowledgement

Features

ACK for every packet
Retries if ACK not received
Duplicate packet protection
Periodic heartbeat packets

Existing Prototype
A working prototype already exists using:
BSFrance LoRa32u4 II boards
ATmega32u4
SX1276 LoRa chip

Firmware currently written in:
Arduino
RadioHead library
USB Keyboard library

The developer may either:

Option A
Refine the design using the same components

Option B
Design a custom PCB with equivalent components


Enclosure Requirement (MANDATORY)
Both devices must include enclosure design.
Requirements
Professional enclosure design
3D printable or manufactured housing
Openings for LEDs, button, and connectors
Compact and durable

Receiver Enclosure
Must securely hold:
PCB
USB Type-B connector for connection and programming
LED indicators

Transmitter Enclosure
Must include:
Button access
LED windows
Charging/programming port access
Deliverables

The project must include:
Hardware
Schematic design
PCB layout
Bill of Materials

Firmware
Transmitter firmware
Receiver firmware

Mechanical
Enclosure design (STL or CAD files)
Prototypes

Minimum:

1× Transmitter units

1× Receiver units

Documentation
Flashing instructions
Wiring diagrams
Assembly guide

Performance Requirements
Reliable wireless range: 300–500 meters indoors
Low latency
Stable wireless connection
Robust packet acknowledgement system

Required Skills
Embedded Systems
LoRa / SX1276
Arduino / C++
USB HID keyboard devices
PCB design (KiCad / Altium / EasyEDA)
3D enclosure design

Budget
Open to proposals depending on:
custom PCB complexity
enclosure design
prototype fabrication

Additional Notes
This device will be used for small-scale production or personal use, not mass consumer production.
A working prototype and firmware logic already exist and will be provided to the selected developer.