Following on from this thread, I think I'm now ready to start on the long and crazy path down building my own custom MFU using an Arduino Mega and some additional bits and bobs. Big shouts must go to @Ray_ve and @Nobbi1977 for their quick advice and useful info, without which I might have lost faith in the project and let it stall.
So, what have I got planned, and will it all get done? Well, who knows for sure? This will be a fairly open-ended project and could keep me busy for a few weeks, a few months, or even a few years. I'm not 100% sure if and when I'll hit the limits of the Arduino Mega. I'm hoping I won't overflow the number of available inputs and outputs (the Mega has more than the Uno but I haven't done a complete count of my function list against the available ports yet), and I'm hoping I'll be able to buy a budget multi-channel handset that has the right number of the right type of switches (I have planned on using a lot of 3-way switches but my 6-channel Turnigy handset only has one 3-way switch, the rest are 2-way or dials). I don't know how easy it might be to swap out 2-way switches for 3-way switches on a budget radio - I'm guessing 'not easy'. So there may be quite a lot of re-thinking my inputs to get the functionality I want.
Anyhoo, what does the project involve, and what am I hoping to achieve?
Full lights - headlights, tail lights, brake lights, turn signals, fog lights, reversing lights.
Driving modes - Off, Drive, Park. In Off mode, lighting will continue to work but no motor or steering input or other functionality will work. The throttle will be at the neutral position and ESC will have a drag brake, so the truck will not move. In Drive mode, the motor will drive the wheels and steering input will operate the steering servo. Park Mode will be much like Off mode and will not be used until a later phase.
Gear select: I don't intend to use the Tamiya 3-speed gearbox. Instead I'll have a fixed ratio. Hopefully I can find a transmission that will do this so I can save some space under the cab, otherwise I'll fix the Tamiya transmission into 1st gear. Gear select will be a toggle switch so select Fwd/Rev (or Fwd/Neutral/Rev depending on handset functionality). In Neutral mode, the truck will not move when the throttle is applied. In Fwd, the motor will turn in a forward direction when up stick is applied. In Rev, the motor will turn in a backwards direction when up stick is applied. In both modes, the ESC will go into drag brake mode when the stick is pulled back. I may use a 'cruise control' throttle system here depending on how it feels on the layout.
Engine sounds will be added. Other incidental sounds (such as brakes, compressor, etc) may also be added at this stage depending on how difficult it is to perform multi-channel audio operations.
In Neutral mode, the throttle lever will cause the engine sound to rev but the motor will not turn and the drag brake will remain on.
Additional functionality such as operating another servo for trailer legs, tipper, ramp, etc. will be added to the steering channel. This can be accessed by putting the truck into Park mode.
Full additional sounds.
There's lots of scope for additional stuff here too but I'll get to that later.
I'll probably use a Hobbywing 1080 Crawler ESC. It's not the cheapest option but it can be configured with a strong drag brake and simple Fwd/Rev functionality. I didn't want to have to program around the awkward sometimes brake/sometimes reverse functionality on most ESCs and I hate that when in reverse, most ESCs don't have a brake, they just shoot forward. Using code I can make sure that pulling back will always stop the truck. I can also add some throttle profiling so it's not possible to go into full-speed fwd or rev to avoid any panic-inputs causing lots of damage on the layout. I may even alter the Park mode above so that the motor will continue to operate but at very reduced throttle and with the drag brake always on neutral.
Obviously an ESC with an always-on drag brake isn't going to be easy to drive on the layout, so I'll add some throttle-off profiling to ramp the speed down gradually, or use a cruise control feature to keep the throttle in the last position until the stick is pulled back.
Of course all this functionality needs a rig to power it, so I'll be building a King Hauler day cab from an NIB kit using Globe Liner chassis rails and a cut down cab. Truck build thread to follow once I've acquired some more parts and cleared up the workshop a bit
Stay tuned - I'll be ordering some parts in the next few days and will start cutting code soon after that.