Vestasim is a Java application that simulates a Flagship black Vestaboard. It has two components:
- a GUI window replicating the view of the physical Vestaboard
- a server which listens to API calls to update the data being displayed on the board
This project is in no way endorsed by Vestaboard. Users of it do so at their own risk.
Vestasim is primarily aimed at users developing their own Vestaboard integrations using Vestaboard's Local API. It provides a local development environment without the need to connect to a physical board, simplifying development and debugging.
You will need the following to build and run Vestasim:
- a JRE v21 or later
- Maven
Clone the repository and run mvn clean install.
Run java -jar target\vestasim.jar.
Once running, the application reponds to HTTP POSTs to <machine-name>:7000/local-api/message.
Details of the Vestaboard Local API can be found here. Note that Vestasim only implements the single POST endpoint that sets
the message the board is displaying.
An HTTP header of X-Vestaboard-Local-Api-Key is expected, but its value is in
no way validated. Omitting it will result in a 401 Unauthorized response code.
If the payload is not of the correct format you will get a 400 Bad Request response code.
An example curl request is shown below:
curl --location --request POST 'localhost:7000/local-api/message' \
--header 'X-Vestaboard-Local-Api-Key: dummy' \
--header 'Content-Type: application/json' \
--data-raw '[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,8,5,12,12,15,0,23,15,18,12,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]'
- 1 - 19 November 2025 - Initial version