I would be interested in an Arduino with CAN style board, it's on my "to play with" list.
But maybe that is putting the cart before the horse? Do you have a specific application in mind? Might be useful to think about a
does X thing board, that just happens to use CAN. Sensor networks, say, or lighting control.
Some thoughts below. Sorry about the wall of text, I tried to edit it down as best I could. Probably still dumb though.
I intend to have a serial command you can run to tell the USB to CAN controller (avr chip with code) to forward the ISP programming commands over can to a set address.
I was going to suggest doing exactly this!
You say "USB to CAN controller", and I guess that is a different way of naming the interface board you mention in [6]? Do you see that board being similar to the others, or just a programmer?
I was thinking the interface board could have a jumper / switch to flip it between forwarding the command stream for programming, and programming itself. (Or a command, but then the interface board can't simply be a dumb pipe that just forwards everything byte-for-byte.)
A separate interface/master board could also be larger in size and accept shields, or whatever else is useful. "Slave" boards would be small, say like the DIP style Arduinos (Nano?), which I'm thinking is what you might want for sensor nodes and such.
I guess that's number 2 and 6.
3 and 7.
Yes, keep the price down, and keep it simple. Anything that is non-trivial is going to be eaten by Ethernet/Wifi and IP anyway; where CAN comes in is simplicity (and real-time control, don't know if there is a hobbyist market for that though).
That said, I would pay for a full-featured master board with all the bells and whistles.
4. For what I want to do, a DC-DC converter would be a useful thing to have, but it might just waste space for others. Would it be possible to have space/footprints for the components, while also have it be part of the prototyping area? Might give you some flexibility.
I also intend to have a serial command to change a CAN address on a device to wither the first empty and return that value or a address dictated over serial, since all devices will have the same CAN address after production programming.
"CAN address"? Are you thinking of putting a higher level, addressed, protocol on top of CAN as standard? One of the neat features of CAN, for me, is that it doesn't have addresses.
Anyway, I can see how it might be useful to have a command to set a unique ID (or even a shared ID) that is stored somewhere. The bootloader could then (optionally?) start up in a mode where it first needs to see a specific activation sequence with its own ID as the data payload before accepting programming commands over CAN. (And then you'd only need to reserve one message ID for all programming too. Or two, with the second one for broadcast.)
Not sure how that fits in with the Arduino ecosystem, but it should work from a command line at least.
Would i be preferred to have a more advanced setup with a GUI to allow configuration of uploading hex files from directories after a single command?
Just provide the basics, like a command line tool, and let someone else make the GUI. Otherwise you will get flamed by people like me for not making it cross-platform.