Flight Controllers

24 Mar 2016


admin 0 Comments


Sparky2 is now available

Be aware, boards from vendors not listed here have been found to use out of spec components and have worse performance, especially for the barometer.

Hawkeye is an authorized manufacturer of Sparky2. His store is available here: http://www.hobbiesfly.com/taulabs-sparky2-0.html.
He also resells through these distributors:


  • Runs Tau Labs (of course ;-). Same great flight performance you’ve come to expect and standard features.
    Open source hardware! (also of course)
  • More powerful processor. Uses an STM32F4 running at 168 Mhz with increased memory and flash. This is useful for storing and flying longer waypoint sequences and running more complicated code like picoC scripting.
  • More connectivity. (RCVR, Flexi, Main, I2C Aux). This is really useful if you want to have an external mag, gps, and spektrum receiver or other things like OSD.
  • Flash chip which can be used to store flight plans, picoC code, or logging
  • RFM22b radio can be used for telemetry or with openLSRng. The receiver antenna uses the same * U.Fl. connector that Freedom has. I really like this because it is very small and you can easily add an SMA break out cable or a whip antenna. It also has just the right amount of tension – strong enough to hold together in flight but in a crash it will disconnect and not damage the board. There is a small hole at the front to provide strain release for a whip antenna that you can just pass through and solder straight to the RFM22b for minimal configurations.
  • OpenLRS support: directly control from your OpenLRSng radio if you don’t want a TauLink. Requires OpenLRS 3.8. Also OpenLRS beacon for finding lost frames.
  • FrSky Telemetry support for either Sensor Hub or S.Port style receivers.
  • Four buffered outputs to drive either LEDs (indicate flight status) or brushed motors. I’m really excited to have different colored LED strips turn on to indicate the direction it is facing relative to home.
  • DAC output for VTX audio telemetry. I’d like to be able to add some prerecorded audio sounds so the headphones can provide useful information for FPV.
  • Dual analog input for voltage and current monitoring. The DAC output can also be used as an analog input.
  • CAN Bus which is very useful for talking to external devices like the brushless gimbal to coordinate POI tracking or control the gimbal pitch from transmitter. Also CAN enabled ESCs are coming out which will allow serious improvements in flight quality (no support currently implemented).
  • Full sensor suite of course. MS5611 baro and MPU-9250 combined gyro/accel/mag. I was really conflicted on switching from the MPU-9150 to the MPU-9250. However, being able to utilize an SPI bus which is much better handled on the processor side made it worthwhile.
  • Optional single sided assembly – the necessary things to fly are all on the top of the board. The bottom has the CAN bus connector, RFM22b, antenna, external LED drivers. So if you just want a more powerful flight controller with more memory and CPU over Sparky it’s still single sided.

Images of top and bottom

Note this shows the pin orderings on the headers, which is not on all silkscreens.


Top connectors:

  • Main Port: USART1. Capable of Telemetry, GPS, DSM, Debug, ComBridge, MavLink, HOTT, FrSky Sensor, Lighttelemetry, PicoC
  • FlexiPort: USART3/I2C2. Similar to MainPort but also capable of external I2C.
  • Rcvr: USART6. Convenient connection for receivers with selectable power between external power or 3.3V. PPM, S.Bus, DSM, HOTT. NOTE: because of the XOR on this port to support inverter protocols like SBus it is not possible to send a DSM Bind pulse with the receiver port
  • Analog: current, voltage, RSSI or DAC output
  • Servo outputs: 6 PWM headers. capable of traditional PWM or OneShot.

Bottom connectors:

  • Radio: U.Fl. header for RFM22b module. Typically 433 MHz module. Either use a U.Fl whip connector
  • Power selector: select power for the Rcvr header by soldering either the 3.3V bridge or 5.0V (which passes power from the external power supply such as BEC)
  • CAN: CAN bus header. Used for connecting to external devices such as SparkyBGC or TauOSD+VTX.
  • I2C: auxiliary I2C bus (I2C1). This is the same bus that the MS5611 is connected to. can be used for external mag.
  • LED: 4 buffered PWM outputs. These are passed through an N-channel FET. Can power external LEDs or brushed motors (rated for 3A)

Using buffered PWM outputs

These outputs can handle more current and can be used for directly controlling external LEDs (see video here). These are mapped in software to PWM 7-10 and are available on the “LED” header on the back which is a 6 pin JST-SH header. They use an N-Channel FET so when the PWM pulse is high the FET is on and pulling the output towards ground.

Looking at the board as shown above, the pins are from left to right

  • Ground
  • Power
  • PWM7
  • PWM8
  • PWM9
  • PWM10

The power pin is connected to the power on the servo headers, so you can use this power pin to drive your LEDs if they are 5V tolerant and the BEC can handle the current.

You can get a cable here https://www.sparkfun.com/products/10361

If you want to use the outputs to directly control a servo or ESC you either need to remove the output FETs and solder wires to bypass them (photos to come) or use an external board that inverts them again (design to come on OSHPark).

Here is an example wiring harness for external LEDs:

Note that the external power (in this case 3S) goes directly to the positive of the LEDs. The ground side of the LEDs then goes to each of the FET pins. Finally the ground from the LED header returns to the external power connector.

Or how to connect it to brushed motors:

demo video: https://vimeo.com/128400842

Relevant user guides and how to videos




TauLink is an RFM22B based thumbstick radio modem using an RFM22B. It is pin compatible with the PipXtreme so runs the same code as PipXtreme and OPLink. It is a convenient form factor to plug directly into USB on a computer or a USB OTG converter when using AndroidGCS

TauLinkModule is similar but designed to be compatible with a JR Module plugin. It has ports for passing information back to a taranis radio to directly show battery and GPS information on the transmitter. It also has a bluetooth relay for easily connecting to the AndroidGCS.