FrSky X4rSB Receiver controlling Eachine Racer 250

I wanted to use S.Bus communication to connect my receiver to my new Eachine 250 
Racer drone. I wanted to be able to remotely control the lights on the drone. I wanted to bring back telemetry from the drone to my transmitter. All of those are possible with the X series receivers from FrSky.


I’ve used the X8R receivers in the past, but I bought an X4R-SB receiver specifically for this drone.

In it’s default configuration it will output PWM on the pins for Channels 1 through 3 and S.Bus on the 4th connector. It has a separate input connection on the side for S.Port telemetry devices and an analog data line.

By putting a jumper on the signal pins, as shown in the picture above, during the binding process, the output is changed so that CPPM channels 1-8 are on the first port, PWM Channel 9 and 10 on the second and third ports, and S.Bus on the fourth port.

I’ve got the S.Bus connection going to the main port on my CC3D flight controller, a cable to control the lights on the third port (channel 10) and the first two ports remain unused. I have the momentary switch SH on my Taranis configured to control Channel 10. Toggling it cycles the LEDs on my Eachine Racer through the  off and on colored states.

The telemetry cable is connected first to a FrSky SP-GPS – Smart Port GPS Sensor (GPS-V2) and daisy chain connected to a FrSky SP-FLVS – Smart Port Lipo Voltage Sensor.


The GPS Sensor is a new item in my arsenal. I’ve used GPS chips connected to my flight controllers in the past, which allow the flight controller to direct its flight position using GPS. Since this is not connected into the flight controller, it’s purely a toy, though it may help finding the drone if I get confused and crash it away from myself. The last data received in my transmitter remains on the display, which I could then use to assist my search for the drone.

The voltage sensor connects to the balance plug on the battery, allowing me to monitor the state of the individual battery cells during flight, as well as having low battery alerts reported on the overall voltage.

For installation of this receiver in my drone, I’d come across a 3d model for a holder. I had never used a 3d printer before, though I’ve been fascinated with them for several years. I realized that Windows 10 has a 3d Modeling program installed by default, 3D Builder, and that it can print using an on-line service.  Because the service accepts the file and tells you how much it is going to cost delivered, this was an easy first try. I downloaded files for both a battery protector tray and the previously mentioned receiver tray, merged them into a single model file, and had them delivered for $27.15. Other than the time involved for the delivery I was happy with the result. I submitted the order on 4/26/2016. I received notice that it shipped on 5/10/2016. It finally arrived on 5/13/2016.


The design here has the receiver extending in the model over the flight controller and under the video transmitter. I’m not positive that I’m going to use the battery tray. If I don’t use it, I just need to get screw extenders to install the receiver directly above the flight controller.

Eachine Racer 250

I decided to get into the FPV Racing Drone scene and found this unit available in an almost ready to fly version for $140.


Almost ready to fly means that I need to add my own transmitter and receiver. Because it’s FPV, it also means that I need my own video receiver and display.

I have an FrSky Taranis transmitter, several compatible receivers, and a set of Fatshark Attitude V2 goggles,  so when the model arrived, I expected all I would need to do was charge the battery and it was ready to fly.

It turned out it was slightly more complicated, but the past three years of playing with drones meant that it wasn’t too involved.

First I found a useful wiki page dedicated to the racer, with plenty of information. It allowed me to understand that I’d got version 5 of the racer, with the difference from version 4 being that they’d removed a safety tray that kept the battery from crushing the flight controller.

I figured out that to use S.Bus to communicate between my receiver and the flight controller, I’d need to download software to my PC, connect the PC to the flight controller with a USB cable, and configure it’s inputs. The instructions I found all referred to OpenPilot. OpenPilot is an open source project that is now defunct, including the domain name itself not going anywhere. The replacement project that is functionally similar, is LibrePilot. I believe that is the old documentation from the OpenPilot project, while the LibrePilot home page has links to all of the new project.

After downloading LibrePilot and installing the software on my PC, I couldn’t change the settings on the firmware that had shipped on my drone without upgrading to new firmware and resetting all of the configuration.  After some hesitation, I allowed it to upgrade, then followed the wizard to configure the new firmware. I was impressed at the ease of setup, and later when I flew the device, it proved that the defaults worked nicely out of the box.

FirmwareMismatch2016-04-20 (1)2016-04-20 (3)2016-04-20 (4)

The original firmware had a rose icon, while the new firmware shows a warning icon. That could mean something important, but I never found any mention and the system seems to be working correctly. You can see that the drone shipped with a firmware dated 2015-03-12 and the new version is dated 2015-10-21.

Connecting the receiver to the flight controller using the S.Bus connection required using the MainPort connection on the flight controller. An appropriate cable shipped with the device that included 4 wires, colored black, red, green, and yellow. For S.Bus operation, the green wire is not used. I removed it from the flight controller side of the cable. When connecting to the receiver S.Bus, Black = (-) Red = (+) Yellow = (Signal).


My goggles only support 8 channels. The drone video transmitter supports 32. Finding a match required a bit of reading, and then deciding on what was least likely to cause conflicts with other people near the field I regularly fly at. I chose D7 on my transmitter and CH6 on my goggles, which worked out to 5840MHz.  The newer version of my goggles supports 32 channels. (8 channels, on each of 4 bands.)

I found that has a very nice explanation of the frequency bands used for FPV including details of how they overlap and recommendations for which frequencies to chose for the least interference between racers. It includes a google docs spreadsheet that’s been color coded to have the frequencies sorted in ascending order and make the bands more visible.

I got the video transmitter and receiver in sync by selecting the channel on my goggles, then cycling through all of the possible channels on the transmitter until I got the clearest video picture. My goggles auto select NTSC or PAL depending on the signal they receive. A friend using a full sized monitor wasn’t as lucky. That’s how I figured that the Eachine Racer 250 ships with a PAL camera.

The Eachine Racer 250 has a pair of bright white LEDs on the front, one on either side of the camera, and a LED lightbar on the back. The LED light bar on the back can be cycled through a series of colors by sliding a power switch located on the left side of the main board that turns all the LEDs off and on. There is also a two pin cable connector that can be plugged in to a receiver PWM output allowing remote light control.  To use remote light control, the local switch on the drone must be in the OFF position.  I’ll write more about this in a separate post.

After going through the LibrePilot setup wizard and putting the appropriate propellers on each motor, the racer flew completely as expected. It’s very responsive, and also very resilient to the basic crashes I’ve had so far.  The biggest learning experience for me has been to add throttle when I think I’m going to crash on the ground. With my larger drones, I’ve wanted to stop and recover the drone when it hits the ground. With this drone, it is much more likely to bounce and be able to recover itself if I can get it off the ground.  I recommend this drone as a good entry into the FPV racing drone scene. I’m sure that there are plenty of drones that are more resilient or responsive, but there’s also plenty more that can be spent than I did on this.

85% Processor Usage while idle

My Microsoft Surface Pro 4 has recently started showing high CPU usage even while I’ve got nothing running in the foreground.

It’s annoying because I’m used to the idea of lower CPU usage being related to extended battery life, and if the CPU is being used by an unnecessary program, I’ll stop using that program.

2016-05-15 (1)

The other interesting thing is that Microsoft Edge is showing as a significant user of both CPU and Memory. I’ve not yet launched Microsoft Edge since I told the operating system to restart.

Is this some placeholder in the Task Manager?

If I run the Sysinternals Process Explorer side by side, it shows the machine being very lightly used, which is closer to what I expect to see from task manager. If I want real information on what’s going on with my computer I’m more likely to use the Sysinternals tool, but the task manager is already installed on all windows machines, and has some simple graphs to look at, including watching network traffic.

2016-05-15 (2)

My First PC

I found the receipt for the first PC my father bought this last weekend. They are in the process of significant downsizing, and while I don’t want to uselessly clutter up my own space with things that were in their garage, having a PC in my home for my final years of high school affected my entire life.

How much did you pay for your first PC and enough software to make it useful?

My father paid $6512.45 in 1983.

This was for a 64k PC running DOS 2.0, a word processor, and a printer.

MicroAge Computer Store IBM PC Invoice Page 1

MicroAge Computer Store IBM PC Invoice Page 1

MicroAge Computer Store IBM PC Invoice Page 2

MicroAge Computer Store IBM PC Invoice Page 2

The Hayes 1200bps Smart Modem alone cost $699.00.

This machine had two 360k floppy drives. I ran a bulletin board system that booted and ran from one floppy drive, and stored files available for download on the second drive.A box of 10 360k floppy disks cost $50.

The printer adapter was not built into the machine and had to be purchased separately for $150. One extravagance he purchased was the microbuffer for $349 that went in-line between the computer and printer, allowing the computer to send more of its print job to the microbuffer and the microbuffer would feed the printer at the speed it could accept it. This was long before anyone would think about using multitasking in a home computer, or even think that printing might be a separate task.

Flashing ESCs on Hobbylord BumbleBee

I bought a Bumblebee Quad from a local hobby shop a few months ago, and when I finally got around to trying to build it with a proper autopilot found that it’s ESCs used a protocol called UltraPWM that is a very uncommon protocol.

I came across this page, , which leads me to believe that I should be able to flash the ESCs with a simonk tgy firmware and use the hardware I already have.

I came across a cable from hobbyking that is designed to make contact with the surface mounted atmel device and allow programming without any soldering or desoldering. It was designed to be used with an atmel programming device that they also sell and so I thought I’d be good to go. The cable cost $20 while the programmer cost $4, but not needing to solder anything was a very positive solution for me.

USBasp AVR Programming Device for ATMEL proccessors

USBasp AVR Programming Device

Atmel Atmega Socket Firmware Flashing Tool

Atmel Atmega Socket Firmware Flashing Tool

What I didn’t recognize until it all arrived was that Hobbyking has updated the USB Programmer to use a 6 conductor connector, but not updated their programming cable from the 10 conductor cable. The message boards on hobbyking discuss the change, and have pinout descriptions, but it’s been very frustrating because getting the parts to do the correct wiring has not been as simple as plug and play.

Atmega contact points

Atmega contact points

Atmega contact points

Atmega contact points

Cable Pinout Description

Cable Pinout Description

This has been extremely frustrating to me as the parts I ordered were billed as no soldering required, but could not be simply plugged into each other.

Samsung UD590 working with Gigabyte GEFORCE GTX 660

In a previous post I mentioned that I was having problems making my new Samsung 4k UHD monitor work at full resolution.

Gigabyte GEFORCE GTX 660

Gigabyte GEFORCE GTX 660

I ordered a new Gigabyte GEFORCE GTX 660 video card from newegg, removed the old video card, and now have three monitors plugged directly into this video card.



My center monitor is the new Samsung display running at 3840×2160 on the display port, and the left and right monitors are each HP Pavillion 22bw monitors running 1920×1080 using the DVI ports. The one strange thing is that Windows recognizes the dot pitch on the Samsung monitor and attempts to make things larger than I’d like. It is a configuration option to make text larger or smaller by following the link on the screen resolution dialog and I have moved the slider one notch smaller from the center.


Media Center Content Protection Error

I’ve noticed that I sometimes get errors in windows media center reporting that programs could not be recorded. This generally happens when I’ve left media center running full screen on one of my monitors overnight…

MediaCenterErrorThe strange thing is that if the media center application is not running, or is running in a window, the recording of the programs seems to work properly. I only get these errors coming up when the application is full screen on one of my monitors.