TL;DR* Here's what the license entails:
1. Anyone can copy, modify and distribute this software.
2. You have to include the license and copyright notice with each and every distribution.
3. You can use this software privately.
4. You can use this software for commercial purposes.
5. If you dare build your business solely from this code, you risk open-sourcing the whole code base.
6. If you modify it, you have to indicate changes made to the code.
7. Any modifications of this code base MUST be distributed with the same license, GPLv3.
8. This software is provided without warranty.
9. The software author or license can not be held liable for any damages inflicted by the software.
More information on about the LICENSE can be found here
Roger here.
I would be distributing a binary (executable) file of my modified (originally Open Source) Firmware that runs on the main machine I am building. So the source of that would be available as a fork of the GPL work.
I would be distributing a binary (executable) file of my own specific software which runs on an additional processor (likely an Arduino) that is NOT derived from any Open Source software.
The main machine will indeed be communicating with the additional (Arduino) machine and it will be very clear, in the source code for the Main machine that will be available from the fork on GitHub, what information is sent to the additional machine and what information comes back from that additional machine to the Main machine.
I THINK that means that I do not have to publish any additional information about the communication protocol between the two machines.
I THINK that also means that I am free to keep the source code that runs on the additional machine PRIVATE, company secret, possibly to copyright or even patent it (if patentable).