As many of you know, I've been quietly working on an encoder for a number of years, in fact, it’s all I have been flying with for the last four years and use my Skyleader SLX and Futaba M6 as my day-today transmitters. Some may have seen me using them at the last Ponty meeting and any of the UKCAA classic acrobatic/F3A meetings I’ve attended. I signed off on the software and circuit design 6 months ago, but struggled to design the circuit board as I tried to make "one size fits all", but there's just too much variation is the size and space of retro transmitters for it to work. As this wasn't working out, I decided to do a series of boards to fit the various shapes and sizes of retro transmitters likely to be converted, I have finished with a series of three board designs with varying sizes of LCD to suit different transmitters.
The below are the 3D views from KiCAD of the medium-sized board, some of the components aren't to scale as I didn't have the correct 3D component models and used the nearest I could find.
The display would normally be hidden under the front label, but I’ve also designed a daughterboard so the LCD and menu switches can be mounted facing backwards if there is no label to hide the LCD or you don’t fancy cutting holes in the transmitter! I got fed up waiting for LemonRx to bring out their DSM2/DSMX modules, so have done a daughterboard to house a module from a donor Spektrum DX4e/DX5e/DX6i, the encoder outputs PPM and the serial signal required by the Spektrum module and you can then bind with the buddy box switch and range check from the menu.
Another problem I've had is drilling and cutting the holes in the correct place for the LCD and menu switches and have made a "template" the same size as the actual board, you can make sure the board will fit inside, then use it to mark the front out.
Once the boards arrive in a few weeks time, I'll be looking for a few guinea pigs to test out installing the pre-production boards before I put them on sale, so sorry the code and board design will not be open-sourced.
The Second Encoder!
The other encoder to report on is a modified version of Phil's encoder, but with features more suited to use with a classic F3A aerobatic style model. It isn't designed as a replacement for Phil's original, just better suited to certain model types such as classic F3A models. To differentiate the file names, so you know which-is-which, I've added F3A to the program/sketch file name, in the place of "sc" in Phil's original, which I assume stands for single-channel.
The Arduino is identical, so you'll have to read Phil's instructions on what modifications are needed to the Pro Mini Strong, though the rate/expo switches and pots are wired differently and operate very differently, so if you want to retrospectively use the code on an existing conversion, you’ll need to rewire a few things.
The main addition/alteration is a second aileron channel with adjustable aileron differential, which now makes it an 8 channel encoder with a 22mS frame rate you accommodate the extra channel. The full additions/alterations are:
- Two aileron channels with adjustable aileron differential set by two DIP switches and independent servo reversing for both aileron channels.
- Throttle reverse via a DIP switch
- The rates/expo has fundamentally changed. The aileron rates/expo is now independent of the elevator rates/expo and you can have say 30% expo on ailerons and 10% expo on elevators. Read the attached user guide (pdf) for a full explanation of how it now operates.
- V-tail mixing is added (Phil's original only has elevon mixing of the aileron/elevator I think).
- The channel order and "output polarity" set by DIP switches have been modified.
- I've increased the ppm range to +/-500uS from Phil's default +/-400uS to give more servo movement, so you can use smaller control horns to get less slop in the controls
- Calibrating the joysticks is now via the "minute minder" push button.
The reason that the joystick calibration has changed is that these alterations have required all single-channel emulations to be removed (sorry Phil!), there just aren't enough Arduino inputs for the DIP switches and the rates/expo toggle switches, so the single-channel push-button(s) have gone to make way for these. The only push-button left is minute minder, so there was little choice!