A simple javascript library for driving the LCD messageboard that goes under various names:
- Maplin N00GA
- AM03127
- Y5207
The message board should be connected to your machine and available at a port such as /dev/tty.usbserial-0001
(on Mac) or COM<X>
on a windows machine
You can then install the node module using:
npm install --save n00ga
const { N00GA } = require('n00ga')
// Create the N00GA object
const n00ga = N00GA('/dev/tty.usbserial-0001')
// You must then initialise it before performing any further actions
// This opens the serial port and is an asynchronous process that returns a promise
await n00ga.initialise()
You can supply the following options object during initialisation
{
boardId: '01',
bell: '0.5',
column: '0',
color: 'rainbow',
font: 'bold',
lagEffect: 'scrollL',
leadEffect: 'scrollL',
line: '1',
page: 'A',
speed: 'mediumFast',
waitTime: '5'
}
Available values can be found in the constants
directory
Example usage:
n00ga.send('Homer Simpson')
You can also specify options here too:
n00ga.send('Homer Simpson', { color: 'brightRed' })
Pages are specified by letter:
n00ga.runPage('A')
Pages are specified by letter:
n00ga.clearPage('A')
n00ga.showDateTime()
Warning - this will delete all pages and reset your sign back to factory settings
Due to the destructive nature of this command, note that you need to specify true
to confirm.
n00ga.resetToFactory(true)
Tremendous thanks to https://blog.ambor.com/2020/04/driving-led-panel-with-spreadsheet.html for excellent work in identifying the communication protocol with this sign