New hobby! (yes another). I am in awe of 1:87 micro-modelling. That is taking a 1:87 scale (HO train scale) vehicles and making them radio controlled. Cars, trucks and construction vehicles are the popular conversions. See the YouTube channel Der Theoretiker to see the exciting world of micro-modelling. So instead of having a HO train layout, I think I’m going to end up with a HO sand pit; life has come full circle!
My lofty goal is to convert a mobile crane; this one…
This requires control of…
- Different Modes
- front steering
- all wheel steering
- crab steering
- Crane boom rotate
- Crane boom angle
- Crane boom extension
- Hoist Winch
All of this means my measly, but pricey, 8 channel transmitter isn’t going cut it. More channels means more $. So, the plan is to build my own.
Actually, this is version 2.0 beta…
From left to right we have…
- Transmitter panel, which includes (from left to right)
- Gear stick (Forward/Neutral/Reverse)
- Indicator lever
- So in this simple test setup, we are using 2 analog inputs and 2 3-way switch inputs.
- The electronics hardware. This comprises
- NUCLEO-F412ZG development board with a STM32F412ZG 144 pin microcontroller onboard.
- A breadboard to wire everything up
- Micro SDCard
- Button cell battery backup
- I2S amplifier and speaker (the STM32F412xx doesn’t have a DAC 🙁 )
- IRangeX multi-protocol 4-in-1 transmitter module
- Control console comprising
- 1.3″ 128×64 OLED display
- 5 way joystick
- Power/shift/exit buttons
- This is the same UI as the Taranis X-Lite.
All of this is controlled by a port of OpenTX for this micro controller and hardware step. OpenTX is the key for this project. I could have built everything from scratch but why reinvent the wheel when the OpenTX project has done so much already – multiple transmitters, telemetry, audio, LUA scripting, mixing, etc.
So what happened to version 1.0? I started using the STM32F4DISCOVERY board with a STM32F407VG. Sadly this is only a 100 pin device, so after connecting all the peripherals, there weren’t many extra pins left over to add additional analog or digital inputs. Hence the NUCLEO-F412ZG.
The NUCLEO-F412ZG isn’t perfect for this either…
- The clock speed is only 100MHz (compared to 168MHz), but this should be fast enough.
- No DAC, so an external I2S device had to be used.
So what’s next?
I’ve created a PCB with all the functionality on the bread board. It uses many off the shelf modules (eg ADAFRUIT I2S 3W CLASS D AMPLIFIER BREAKOUT – MAX98357A), and through hole components, so anyone can create one. This gets built when the postman delivers the boards. I’ll also push the updated firmware to github when this is done.
Then comes the receiver – or should I say SBus decoder. I am using a Taranis XM receiver, which can receive 16 channels, then processing the sbus signal to do the model control.