1
DACs / LaserBoy piDAC
« on: April 13, 2024, 04:42:43 pm »
Let me tell you about a project I've been working on since about September of 23.
.
The LaserBoy piDAC.
.
I put together a set of criteria for creating a device that is intended to be placed inside of a laser projector.
.
It is a single board computer running a common distro of Linux.
.
It is a full workstation computer with USB keyboard, mouse and HDMI 4K video.
.
It has a full GUI desktop environment.
.
It has a modified multichannel audio device, aka LaserBoy DAC.
.
It can run the LaserBoy application!
.
It can play LaserBoy wav files from its own local storage.
.
It has both a gigabit wired Ethernet port and a wifi.
.
The gigabit port is set to a unique static IP and can be joined to a private wired peer to peer network that requires no router (and no wifi).
.
The wifi can be enabled or disabled to allow the device to connect to the Internet (or not).
.
The device has a vnc server that allows remote desktop connections either to the native console (its own keyboard, mouse, monitor view) or completely headless (the device with nothing but a network connection).
.
The device can offer its LaserBoy DAC as a network UDP listener and accept low latency network streams to send directly out its DAC (real-time network addressable laser control device).
.
The protocols for this network connection are platform independent, meaning there is no significant difference between using Windows, Linux, MacOS or many others as the control workstation capable of streaming to any number of these individually addressed piDACs independently and simultaneously.
.
The protocol is free, open source, widely used and specifically designed for low latency data streaming of all kinds. The protocol is setup to only transmit exactly the data that ends up going right out of the piDAC's sound device and nothing more. It can be setup for any number of channels up to 6 or 8, with an obvious default of 5 {X, Y, r, g, b}.
.
The protocol is supported in every OS with a free open source API written in C, but so far I have not had to write any custom code to make it work!
.
The protocol can present itself as a stream sink device that can be placed on the canvas of Pure Data, MaxMSP and other such programming environments -- in other words, any number of individually addressable nodes that are live lasers!
.
Each piDAC runs a samba share of its own /LaserBoy directory that can be found and mounted as a network share. So the control workstation can easily copy files to and from itself and any of the piDACs.
.
I have chosen a specific set of devices to make a bunch of these, but the idea is not at all hardware dependent. Any single board computer running any version of Linux with any multichannel sound device could be made to work.
.
It took me a long time to figure out how to make all of this work. In this time, I also suffered the loss of my husband of nearly 31 years in mid January, 24, so it has at times been impossible for me to work on it.
.
It is also a fair bit of hand work to make each physical example that I have. I would like to be known as the guy who figured this all out, but I would also like to be able to make some money for once. I've been working on LaserBoy for more than 20 years!
.
Being that this is all based on generic off the shelf hardware and free open source code, protocols and standards, it would not be too difficult to copy. I'm hoping that people would want to support where it came from and see the value of getting one (or more) hand made by me personally sent to them.
.
I would also like to attract other developers to add to the capabilities of this platform to make it the open source standard for network laser control.
.
Here's a bunch of pictures!
.
https://laserboy.org/piDAC/
.
The LaserBoy piDAC.
.
I put together a set of criteria for creating a device that is intended to be placed inside of a laser projector.
.
It is a single board computer running a common distro of Linux.
.
It is a full workstation computer with USB keyboard, mouse and HDMI 4K video.
.
It has a full GUI desktop environment.
.
It has a modified multichannel audio device, aka LaserBoy DAC.
.
It can run the LaserBoy application!
.
It can play LaserBoy wav files from its own local storage.
.
It has both a gigabit wired Ethernet port and a wifi.
.
The gigabit port is set to a unique static IP and can be joined to a private wired peer to peer network that requires no router (and no wifi).
.
The wifi can be enabled or disabled to allow the device to connect to the Internet (or not).
.
The device has a vnc server that allows remote desktop connections either to the native console (its own keyboard, mouse, monitor view) or completely headless (the device with nothing but a network connection).
.
The device can offer its LaserBoy DAC as a network UDP listener and accept low latency network streams to send directly out its DAC (real-time network addressable laser control device).
.
The protocols for this network connection are platform independent, meaning there is no significant difference between using Windows, Linux, MacOS or many others as the control workstation capable of streaming to any number of these individually addressed piDACs independently and simultaneously.
.
The protocol is free, open source, widely used and specifically designed for low latency data streaming of all kinds. The protocol is setup to only transmit exactly the data that ends up going right out of the piDAC's sound device and nothing more. It can be setup for any number of channels up to 6 or 8, with an obvious default of 5 {X, Y, r, g, b}.
.
The protocol is supported in every OS with a free open source API written in C, but so far I have not had to write any custom code to make it work!
.
The protocol can present itself as a stream sink device that can be placed on the canvas of Pure Data, MaxMSP and other such programming environments -- in other words, any number of individually addressable nodes that are live lasers!
.
Each piDAC runs a samba share of its own /LaserBoy directory that can be found and mounted as a network share. So the control workstation can easily copy files to and from itself and any of the piDACs.
.
I have chosen a specific set of devices to make a bunch of these, but the idea is not at all hardware dependent. Any single board computer running any version of Linux with any multichannel sound device could be made to work.
.
It took me a long time to figure out how to make all of this work. In this time, I also suffered the loss of my husband of nearly 31 years in mid January, 24, so it has at times been impossible for me to work on it.
.
It is also a fair bit of hand work to make each physical example that I have. I would like to be known as the guy who figured this all out, but I would also like to be able to make some money for once. I've been working on LaserBoy for more than 20 years!
.
Being that this is all based on generic off the shelf hardware and free open source code, protocols and standards, it would not be too difficult to copy. I'm hoping that people would want to support where it came from and see the value of getting one (or more) hand made by me personally sent to them.
.
I would also like to attract other developers to add to the capabilities of this platform to make it the open source standard for network laser control.
.
Here's a bunch of pictures!
.
https://laserboy.org/piDAC/