I have a few CosPlay projects in mind and all of them require some end user configuration and control. And this is where I am a little stumped on the best way.
For example lets take an animatronic tail. The user will want to select different wag patters and also set up predefined wag patterns. Due to cost I am trying to make these as simple and cheap as possible.
These are the possibilities.
Serial to computer with small application for programming.. and then some buttons on the unit to set the current function. Cheap however it requires an program running on a computer to change the defaults. Easily used with very small chips like ATTiny.
Bluetooth/Wifi connection. Can be used for programming and setting of current functions. However cannot be used for small chips without additional hardware. Also will need a App running on a phone to control it.
Stand alone IR controller. Easy to implement on smaller chips for programming and function however must be in line of sight. Controllers are cheap.
Stand alone RF controller. More difficult and requiring receiver module. Medium sized chips, controllers are more expensive.
Can anyone help me with suggestions. As I said I am trying to keep costs to a minimum. Also links to code for State Machines would be helpful too.
The Arduino is specifically set up to make it difficult for you to build a commercial product and sell it. It's infinitely customizable if you have the IDE and the source code but prospective purchasers of your product don't want to install the IDE and they'll definitely screw up the code.
Think about how other commercial products do this. The closest I can think of is the LED strings that have customizable colours and patterns. I've seen them use an IR remote to do this.
Other products require a WiFi connection but your "interface" is actually a web page. Sometimes you even have a central server that you and the device both have to talk to.
Most commercial products are designed to the minimum hardware cost. This is when adding a single button to the device becomes a major expense. Maybe it costs $1 per unit but if you're selling a million units, that's $1M lost off your profit. So you get things with only one button and only one LED and you have to push the button in strange patterns and read blink patterns from the LED. For your product, you may be able to include extra items like a small LCD screen with menus and options.
If this is a large project with many items combined into one costume, then maybe you need a data bus for all the units to talk to each other. So you buy a tail-wagger and you buy a box with 4 buttons and you configure the buttons to make the tail do different things. Then you could have a separate "programmer" with a large LCD screen, which plugs into the bus and does all the customization. The programmer would not normally be built into the costume as a permanent part but I'm sure some of your customers will use it that way.