Hi Adam,
Great to hear that you’re using the Fin and it’s coprocessor. As Rahul said we’ve been doing some work in this area, specifically to make it easier for people to use in their applications. It’s still early in the development phase, but it would be great if you could try it out and add issues/requests/PRs to the github repo: https://github.com/balenablocks/finabler
This is a balena block, which means we build it as a docker image that can bring in via your docker-compose.yml file:
version: '2.1'
volumes:
fin:
services:
finblock:
restart: always
image: balenablocks/finabler::latest
network_mode: host
privileged: true
volumes:
- 'fin:/data/firmware'
labels:
io.balena.features.supervisor-api: '1'
io.balena.features.balena-api: '1'
expose:
- "1337"
What this will do is a number of things:
-
Add a series of tags to the device view of your Fin:

-
The ability to set an environment variable to a specific firmata version from our releases page and the block will handle flashing it for you. OR…
-
Set the variable to latest
and the block will flash the latest version
-
All device configuration settings are auto-set
-
A REST API for interacting with the coprocessor.
Currently 5. is limited to a ping endpoint, to programmatically know when the coprocessor is ready for instructions, and a sleep
endpoint. These are super useful, but we want to add more. Reading ADC values is high on our list, but adding your userland voice to the GH repo will help us to prioritise.
The API is exposed on port 1337. Have a play and see what you can do.
If you need any more help , let me know.
Phil