MAP_1A Electronics Module - RC Groups
Thread Tools
This thread is privately moderated by PMB-NZ, who may elect to delete unwanted replies.
Oct 04, 2009, 10:16 PM
Registered User
PMB-NZ's Avatar

MAP_1A Electronics Module

MAP_1A is just a designation I use. It's a circuit board I've designed to combine the basic electronics and interconnections. At the moment I'm in the process of assembling and testing the first prototype.

This is a double-sided pcb for surface mount components that I've designed to be hand assembled and use soldered wire vias rather than through-plating. This makes it low-cost and reasonably quick to assemble. Once I get it sorted out I'll probably get a few pth/screened boards made.

  • Size: overall 140mm x 50mm x 15mm and approx 50g
    flight pack direct connection for 3 packs
    esc connection power and control
    esc powers servos
    filtered ppm to servos
    master on/off mosfet
    current monitor for osd
    voltage monitor for osd and cpu
    2 aux power out connections
    electronics power from flight pack or dedicated pack
    2 stage filter for electronics power from esc/vtx/servos
    ldo 5v regulator for electronics
    remote RC receiver connection includes channels, raw ppm and rssi
    audio to osd, mic amp, raw ppm, alerts from cpu
    gyros for aileron and elevator
    ATMega324 main cpu for autopilot and/or other functions
    mostly compatible with Ardupilot
    64K bytes of serial eeprom for logging and/or waypoints
    status LED
    icsp port and bootloader via uart
    gps via uart (5V power switched by cpu)
    X,Y,Z IR sensors to ADC
    altitude and airspeed pressure sensors to ADC
    ATTiny25 ppm decoder feeds main cpu
    3 driver outputs for LEDs etc.
    voltage and temperature sensor to ADC

Ardupilot - CPU:

I wanted to make it Ardupilot compatible but didn't want to use the 32-pin ATMega328. I chose the ATMega324 because I could get it, it's very similar to the 328 and it's in a 44-pin package that doesn't share functions on pins to same extent. I did try to match up the pin functions with Ardupilot to simplify code conversion.

Some extra features of the CPU include:

3 high current fet drivers for LEDs etc. each switching low and capable of >200mA.
An output that can drive audio alerts to the OSD/VTX.
64K bytes of eeprom that cane be used for data logging and waypoint storage.
Flight pack voltage monitoring and one temperature sensor that could be used to monitor the esc, battery, motor or ambient temerature.

The gyros are simply connected in series with the aileron and elevator servos. These can be turned down or bypassed if not required.


Normal IR X,Y,Z sensors for stable flight connect to the CPU. Altitude and airspeed pressure sensros connect to the CPU; analog inputs.
The altitude sensor and CPU audio drive should allow a variometer function to be programmed. I'm not sure about the sensitivity/range of the altitude sensor yet.

The main flight pack battery current is monitored by a shunt resistor/amplifier and fed to the OSD connector with voltage.


The pcb is arranged with power connections at one end and signal connectors in groups all over the board. The plan is to use a multi-way connector like a box header wired on a short ribbon to the various points on the board providing a single connector installation (+ heavy power leads).

On the pcb, one 8-pin connection powers the FPV camera, OSD and video transmitter and connects amps, volts, audio and serial data to the OSD. I'm not sure which OSD I'll use yet.

A 12-pin connection runs to the RC receiver, providing 5V power and bringing back 8 channels of PPM, raw serial PPM and the RSSI. I'm using a modified Corona 35MHz receiver. The raw serial PPM can be linked to the OSD audio as well as going to a dedicated ATTiny25 decoder that feeds the main CPU. This improves the decoding and prevents the CPU getting tied up looking at RX noise.

There is an 18-pin connection for GPS, bootloader, on/off, temperature sensor and IR sensors. The 5V power to the GPS is switched by a p-fet and the CPU.


The on/off function is an experiment. A 150A mosfet switches the flight pack on. A small switch can be used control it or a push-button would allow the CPU to turn it off. This could be useful in a lost plane to save the flight battery from over-discharge or the electronics if it goes down in water. It's experimental because it would be a problem if it wasted power or switched on mid-flight.

The ATTiny25 PPM decoder is also experimental. The idea is to offload PPM or data extraction from RX noise from the main CPU. The way it's wired, a comparator detects the data, the ADC looks at the signal DC level and a PWM output adjusts the detection threshold. This should allow best possible data recovery within reason.
Sign up now
to remove ads between posts

Thread Tools