One PulseSensor, one StickS3 sender, and one Tab5 display in the actual project setup.
Tab5 Remote Display gives a PulseSensor project a spacious, touch-driven dashboard. A StickS3 samples one PulseSensor and runs the demo beat detector; the Tab5 receives that sender's stream and turns it into a five-second waveform, BPM and IBI readouts, signal guidance, and a set of focused mini-app screens.
The public project scope is intentionally simple: one PulseSensor, one StickS3, and one Tab5.
- PulseSensor + StickS3: capture the signal and produce the sender's demo measurements.
- Tab5: receive the wireless display stream and render the touch interface.
- Touch mini-apps: open the sender list, spectrum, diagnostics, power view, or return to the main dashboard.
The Tab5 is the display companion to PulseLink. Follow PulseLink for the upstream PulseSensor-and-StickS3 hardware setup, then use the wireless sender and Tab5 receiver included here. Wiring instructions are kept with PulseLink rather than duplicated in this display project.
Official product pages: PulseSensor Kit · M5Stack Tab5
Install Python 3 and mpremote, clone the repository, and identify the two
connected devices:
python3 -m pip install mpremote
git clone https://github.com/WorldFamousElectronics/Tab5-Remote-Display.git
cd Tab5-Remote-Display
python3 -m mpremote connect listCopy the sender to the StickS3 and the display app to the Tab5, using the exact ports reported on your computer:
python3 -m mpremote connect STICKS3_PORT fs cp pulselink.py :main.py
python3 -m mpremote connect TAB5_PORT fs cp pulselink_tab5.py :main.pyReset the Tab5 first, then reset the StickS3. See the concise installation guide for the verified software baseline and startup checks.
- The Tab5 receiver or
PulseSensor-Linknetwork does not appear: reset the Tab5 and wait for its dashboard. If UIFlow2 opens the launcher instead, select the downloadedmain.pyas the boot application and reset again. - The StickS3 does not link: leave the Tab5 running on
WAITING FOR STICK, then reset the StickS3. Give its automatic connection retries time to complete before resetting it again. - The dashboard keeps waiting or shows no waveform: confirm
pulselink.pywas copied to the StickS3 andpulselink_tab5.pyto the Tab5, using the correct USB port for each board. Recopy either application if needed. - Restart the pair in order: reset the Tab5 first, wait for the dashboard,
then reset the StickS3. A working link changes the dashboard to
1 LINKED.
For firmware-baseline and device-port details, see the optional installation guide.
These are synthetic 75 BPM reference visuals generated by the repository's host simulator from the current Tab5 display source. They show the actual screen layout and navigation behavior, but they are not photographs or hardware framebuffer captures. Host-rendered fonts are approximate.
Open the visual interface guide for larger images and the touch path to every screen.
The simulator exercises every current screen, tap routing, the spectrum transform, and all four display orientations without requiring a device:
python3 -m pip install Pillow
./tools/sim_tab5.pyIt is a layout and navigation reference, not a substitute for testing the physical touchscreen, radio link, sensor, or detector.
v0.1.0
marks the project's first physical-hardware checkpoint. Current main keeps
the public one-sender scope and adds presentation and documentation assets; it
does not add new product functionality.
Tab5 Remote Display is an educational maker project, not a calibrated instrument or medical device. Motion, ambient light, placement, and changing contact pressure can affect optical readings; do not use it for diagnosis, treatment, monitoring, or health decisions.
Created by Yury Gitman and World Famous Electronics LLC. The detector adapts concepts from the MIT-licensed PulseSensor Playground; the notice is preserved in Third-party notices.
Disclosure: Yury is a co-founder of World Famous Electronics, the company that makes PulseSensor.
Released under the MIT License.






