We are looking for an experienced Native Android Developer to build a very small proof-of-concept app that communicates with a custom hardware adapter via USB-C.
The PoC scope is intentionally minimal — the app only needs to handle a few control commands and bidirectional audio streaming.
About the hardware (important for understanding only)
The hardware is a custom USB device based on an STM32 microcontroller.
The MCU exposes:
- a USB CDC (serial-like) interface for control commands
- and a USB-based audio stream (PCM or USB Audio Class)
mportant note:
We cannot provide external test hardware. All testing with the physical device will be performed on-site by our hardware engineer. You will implement based on documentation and receive quick feedback after each iteration.
Project Scope (Proof of Concept)
Your tasks
- USB Communication
- Implement Android USB Host connection
- Automatically detect our USB device (VID/PID provided)
- Open communication channel (CDC or bulk endpoint)
Control Commands
Implement a small protocol to send/receive simple commands, such as:
- Trigger TX mode (push-to-talk)
- Exit TX mode
- Request basic status information
Audio Transfer
- Send microphone audio → USB → hardware
- Receive audio from USB → play on device speaker
- Basic buffer handling (low-latency is not required for PoC)
Minimal UI
- One large PTT button
- Simple connection indicator
- status indicator for RX/TX
No design work required — functionality is the only goal.
Requirements
- Strong experience with Native Android development (Kotlin or Java)
Practical experience with:
- Android USB Host API
- USB CDC or raw USB bulk transfer
- AudioRecord / AudioTrack
- PCM audio handling
Ability to work with hardware documentation instead of physical access
Clean code, clear structure, and excellent communication
Nice(st) to Have
- Experience with embedded devices or microcontrollers
- Experience with USB Audio Class
- Understanding of low-level protocols
Collaboration Setup
- You will receive complete hardware documentation, USB interface specification, and protocol description.
- You develop remotely.
- All tests with the physical device are performed by our hardware engineer on our side.
- We provide fast feedback cycles and video demos of test results when needed.
Apply Now
Apply Now