The Multi-Module is a small circuit-board + an AVR processor to allow controlling up to 4 transceivers via a 4-wire SPI interface
For the Walkera Devo transmitters, it adds the A7105, NRF24L01 and CC2500 modules. For the X9d, it adds the above as well as a CYRF6936 module
The board can be ordered from Oshpark here: V1.2 or V1.3 ←- suggested
ATTiny24A/44A/84A (must be the 'A' variant)
CC2500 or this one (needs antenna soldered)
If using the Skyartec module, you need 0.05" headers
0.1“ pin header (optional)
The board will have components on both sides. When placing components, always place them on the side with the white outline.
First wire an 8-pin connector to the bottom of the board. If planning to use the Walkera Devo CYRF6936 module, it will cover the connector, and wires should be used instead of a pin header. If not using the cyrf6936, or if using the AWA24S, it is recommended to use a 0.1” 2×4 pin header instead. Trim the pin headers/wires so that they barely protrude through the board.
Next attach the AVR chip (it will be programmed in-circuit, no need to program beforehand). Again, it is recommended to trim the pins of the ATTiny before installing it so that they barely protrude through the board. NOTE: The notch on the chip must align with the outline on the board. Make sure you've mounted it in the proper orientation
Note: If you are using a dedicated AVR programmer, now would be a good time to program the board. See the section below on programming. If you will be using your Devo transmitter to program the board, you can finish assembly 1st.
next install the CYRF chip if needed. In the images below, I have chosen to use female 2mm headers so that the modules can be removed, however, this will add to the thickness of the completed module and may make installation in a X9D difficult.
next install the A7105 module. Soldering a row of pin-headers to the module and then soldering those to the board is the easiest solution. try to get the A7105 as close to flush with the board as possible, but make sure there are no shorts to the solder pads. The NRF24L01 will be installed on top of the A7105, so make sure it is as close to the board as possible. I've placed a piece of Kapton tape on top of the shield to ensure it does not short to the NRF24L01 module
Next install the NRF24L01 module. The pin-headers that are pre-installed should be long-enough to just poke through the board.
Lastly install the CC2500 module. In this case, I was using an earlier version of the board, and the pin headers would not fit through the board fully, so the module protrudes more than desired. this issue has been corrected in the board design above
The module can be installed as any other transceiver module. Installation instructions are can be found here: Module Installation
Before the switch can be used, it must be programmed. There are 2 options for programming: (1) a dedicated AVR programmer like the 'USBAsp' or (2) by using a special DFU in your Devo transmitter.
NOTE: If you have any of the transceiver modules installed, you should use a 3.3V programmer (or use the DEVO programming method below) as the modules cannot take 5V input
You need to obtain the latest avr.hex file from here: https://www.deviationtx.com/downloads-new/category/4-multi-module
Attach your multi-module board to the AVR programmer. The relevant pins on the 8-pin header are: 2: Vdd 3: Reset 4: MOSI 5: MISO 6: SCK 7: Vss
Using AVRDude, the following commands will program the board: The fuse settings will disable the divide-clock-by-8
avrdude -p t84 -c usbasp -e -U flash:w:avr.hex avrdude -p t84 -c usbasp -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
Change t84 to t44 (for ATTiny44a) or t24 (for ATTiny24a) Change 'usbasp' to whatever programmer you use
You need to obtain the avr.hex file from here: https://www.deviationtx.com/repository/Multi-Module/
You also need a custom programming DFU for your transmitter from here: https://www.deviationtx.com/downloads-new/category/7-programmer-dfus#
[modules] ; there is no need to enable the cyrf6936 module unless ; it is wired to an alternate port. It is Enabled automatically otherwise enable-multimod=A13 enable-cyrf6936=B12 has_pa-cyrf6936=1 enable-a7105=S1 has_pa-a7105=1 enable-cc2500=S3 has_pa-cc2500=1 enable-nrf24l01=S402 has_pa-nrf24l01=1
If there are any modules you do not have installed, comment those lines by adding a semicolon (';') at the beginning of the line.