Custom LoRa Wireless Button Trigger (USB Keyboard Device)
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.
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.