Miss any of our Open RFC calls?Watch the recordings here! »


0.16.1 • Public • Published

Signal K Instrument Panel

Instrument panel implemented as a grid with draggable & resizable components. Components are added dynamically eg. when the panel receives data it hasn't seen before a new cell is added to the grid.


Online demo: http://demo.signalk.org/@signalk/instrumentpanel
InstrumentPanel help: http://demo.signalk.org/@signalk/instrumentpanel#help


First consult the online help, link above or click on ? icon inside the GUI.
InstrumentPanel stores some of the settings in the browser's localstorage. In case there is some garbage there you can get it cleared by using a url with query parameter ?reset=true.
The units and labels are also stored in the browser's localstorage and fetched from the signalK's server only the first time. If you change a unit or a display label on the server, you can clear the cache without destroying your layout by using a url with query parameter ?flushCache=true.
You can also clear the cache using the dedicated menu in the GUI

For iOS user:

On an unlocked grid, to drag or to resize a widget, first click once or twice in the center of the widget to bring focus to it and then you can drag or resize the widget with the screen's scroll locked.
If you don't click first in the center of the widget, the page starts scrolling before you can drag or resize the widget.

For Developers

  • clone repository: git clone https://github.com/SignalK/instrumentpanel.git
  • install development dependencies with: npm install
  • build & watch with: npm start (run an instrumentpanel http server on port 3001)
  • building js bundle for distribution: npm run prepublishOnly will publish in public\ui.js. This builds minified ui.js.

The address of the signal K server is directly derived from your web page.
You can manually specify the address and the protocol to connect to your signal K server.
Be careful if you mix secure and unsecured protocols, your browser may refuse the connection.
To manually specify the address and the protocol of the signal K server,
add the following query parameter ?signalkServer=wss://mysignalk.local:3443 to the url.
Use wss:// for secure websocket or ws:// for unsecure websocket.



To Do

Please open a github issue if you want a new feature.


npm i @signalk/instrumentpanel

DownloadsWeekly Downloads






Unpacked Size

3.93 MB

Total Files


Last publish


  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar