This release is a pre-release and may not be stable for production use.
ovos-PHAL-plugin-mk1
This is a PHAL (Platform Hardware Abstraction Layer) plugin for OpenVoiceOS. It controls the Mark 1 hardware: the eye and mouth faceplate, and the pins on the back of the device.
The firmware for the Mark 1 Arduino, which drives the eyes and faceplate, is in OpenVoiceOS/mycroft-mark1-firmware.
OpenVoiceOS/ovos-mark1-utils has utilities to set the faceplate pixel by pixel.
Install
pip install ovos-PHAL-plugin-mk1
Usage
OpenVoiceOS loads this plugin through the opm.phal entry point. Once installed, PHAL detects and starts it automatically on Mark 1 hardware.
Serial port protocol
See protocols.txt for the full list of commands you can send to the faceplate.
You can send commands from the command line on a Raspberry Pi:
$ echo "eyes.blink" > /dev/ttyAMA0
$ echo "eyes.color=16711680" > /dev/ttyAMA0
$ echo "mouth.text=I am angry!" > /dev/ttyAMA0
These commands blink the eyes, turn them red, then show the phrase on the faceplate.
Graphics
The mouth.icon= command takes a custom format for black-and-white images. Use the HTML editor to create the image strings you send.
IO pins
Looking at the device from the back, the pins are laid out as:
-----------------------------------------------------------------------------------------------
RCA Port | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 26 | 28 | 30 | 32 | 34 | 36 | 38 | 40 |
| 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 | 33 | 35 | 37 | 39 |
-----------------------------------------------------------------------------------------------
HDMI Ethernet USB USB
| Pin | Description |
|---|---|
| 1 | GND |
| 2 | +12V |
| 3 | GND |
| 4 | +5V |
| 5 | GND |
| 6 | +3.3V |
| 7 | Arduino Reset |
| 8 | Arduino D5 |
| 9 | Arduino D6 |
| 10 | Arduino D10 |
| 11 | Arduino A2 |
| 12 | Arduino A3 |
| 13 | +3.3V |
| 14 | +3.3V |
| 15 | +3.3V |
| 16 | GND |
| 17 | GND |
| 18 | GND |
| 19 | +5V |
| 20 | +5V |
| 21 | +5V |
| 22 | +5V |
| 23 | GND |
| 24 | GND |
| 25 | Raspberry Pi ID_SC |
| 26 | Raspberry Pi ID_SD |
| 27 | Raspberry Pi GPIO 4 |
| 28 | Raspberry Pi GPIO 5 |
| 29 | Raspberry Pi GPIO 6 |
| 30 | Raspberry Pi GPIO 7 |
| 31 | Raspberry Pi GPIO 8 |
| 32 | Raspberry Pi GPIO 9 |
| 33 | Raspberry Pi GPIO 10 |
| 34 | Raspberry Pi GPIO 11 |
| 35 | Raspberry Pi GPIO 12 |
| 36 | Raspberry Pi GPIO 16 |
| 37 | Raspberry Pi GPIO 25 |
| 38 | Raspberry Pi GPIO 26 |
| 39 | GND |
| 40 | GND |
WARNING: This is not the same as the standard Raspberry Pi GPIO headers.
Related projects
- OpenVoiceOS/mycroft-mark1-firmware — the Arduino firmware for the Mark 1 eyes and faceplate.
- OpenVoiceOS/ovos-mark1-utils — utilities to set the faceplate pixel by pixel.
License
Apache-2.0, see LICENSE.
Metadata
Release files for ovos-PHAL-plugin-mk1 0.2.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ovos_phal_plugin_mk1-0.2.0a1.tar.gz | 21.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovos_phal_plugin_mk1-0.2.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.4 kB
Release files / ovos_phal_plugin_mk1-0.2.0a1.tar.gz
| Download URL | ovos_phal_plugin_mk1-0.2.0a1.tar.gz |
|---|---|
| Size | 21.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d49d7dbf4dbb68d2b379efdd4ecca18de3326e8cc1653c9a947b05e5e727a082
|
|
BLAKE2b-256 checksum How to use checksums |
7693153510ce699be93a4125552774fb8a9a7879d81ab2a9c0160e1f14fb702e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ovos_phal_plugin_mk1-0.2.0a1-py3-none-any.whl
| Download URL | ovos_phal_plugin_mk1-0.2.0a1-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
507a764f9d937b9a9cbde9ba477cf9f7f296bcfd4ecae26d413ac13cc9ae39d2
|
|
BLAKE2b-256 checksum How to use checksums |
e3877a0b049b527357bb6cb69d77e834d0cee0d85aa8550faaad77ed85ce38d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|