Skip to content

🕹️ A collection of awesome Web Serial libraries, resources, and shiny things.

License

Notifications You must be signed in to change notification settings

louisfoster/awesome-web-serial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Web Serial Awesome

Awesome resources for serial communication using the browser. Includes these very awesome APIs: Web Serial, Web Bluetooth, Web USB, Web HID, Web MIDI, Sensor, and Gamepad.

Contents

Code utilities

  • fromWebSerial - RxJS Ninja utility function that returns the serial read data as an Observable, and can also receive an Observable to use as a write stream.
  • SimpleWebSerial - Easy-to-use library that allows web enthusiasts to easily connect an Arduino with their web project. Employs an event-driven coding style.

Documentation / Implementation / Tutorials

Demos

  • Custom controller and music game using Web Serial - A kind of proof of concept of building a gaming system using just a few components, a microcontroller, and the Web Serial API (along with 2D canvas and Web Audio).
  • Web Serial API Example Project - A slightly more advanced "hello world" with a live demo (requires a serial device running the project's micropython code). Utilises 2 variable resistor values controlling 2 Web Audio API oscillators.

Terminals

Applications

  • Kaluma IDE - Browser-based IDE for a JavaScript runtime for the RP2040 that loads code onto the chip via Web Serial.
  • Piper MAKE - Educational platform that uses a Blockly-like visual programming tool to write code and load it onto a Raspberry Pi Pico from the browser. Also, has a novel use of the File System Access API.
  • Adafruit ESP bootloader flashing tool - "WebSerial ESPTool designed to be a web-capable option for programming ESP32-S2 boards". There's also a tutorial and the code is available on Github.
  • Espruino IDE - An entire web-based IDE for programming the Espruino range of boards. Includes built-in tutorials, guides, and the IDE even has auto-complete.
  • VitalSync - Reads vitals from monitors and produces charting report.
  • PN532.js - A JavaScript library for PN532 base on Web Bluetooth and Web Serial.
  • Wavecake - An IDE for sandboxing Web Serial, Web Bluetooth and other scripts. Examples scripts are included. Also supports UI elements and charts.

Compatible Devices

  • BBC micro:bit - Educational microcontroller with tonnes of peripherals and lots of kid-friendly programming tools and projects, many based in the browser.
  • Raspberry Pi Pico - ARM-based, cheap, microcontroller that can be programmed with Arduino C, Micropython, Circuitpython, and has serial available via its built-in USB port.
  • Arduino Uno - Entry-level microcontroller that can be used for web serial projects.
  • PN532 - PN532 is an NFC RFID Module for Near Field Communication at 13.56MHz. It supports RFID reading and writing, and NFC function with Android phone.