Sunday, 21 February 2016

CX-10 - Extending the flight range

Extending the Cheerson / Sanlianhuan CX-10 C flight range

Disclaimer:
This mod is not my original idea. I've found it here and here. Unfortunately I could not find any information about the additional range gained by the antenna mod. We can fix that.

Also see my video about the same topic here.

The antenna mod

The antenna mod cound hardly be simpler. The transmitter comes apart easily:



  •  remove the screws at the bottom and the handles. Also pry out the on/off switch
  • The transmitter can then be carefully be pulled apart. Take care of the battery cables


  • The antenna wire can easily be located on the transceiver module

  • Drill a small hole through the top cover just above the tranceiver module and stick the antenna wire through it.

  • Put it all back together. Done


What's the range gain?

Now for the part I was most interested in:
I did my range tests in the woods where I was sure not to have any 2,4GHz interference from WiFi or other LPD appliances. The results are pretty clear.

Setup Range (m) Range (ft)
Original 10C controller (orange)26m 85ft
Modified 10C controller (orange) 35m 115ft
Original 10A controller (black) 25m 82ft
Modified 10A controller (black) 36m 118ft
All distances are measured on a horizontal path. The drone's flight level was about 2 meters. The range indicates the distance between the remote control and the spot where the CX-10 crashed because it lost the connection.
Still extracted from video.

The attainable height has also increased to the point that I find it hard to see the craft in the air. But I haven't found a reliable way to measure heights.

Bottom line

Yes, it is totally worth it. The mod is easy and safe for beginners and the nearly extra 10 Meters make quite a difference. I had lost control of the drone a couple of times and had to climb my garage roof to recover it, This hasn't happened since.


PS: Banggood has the CX-10C on sale for under 20€ now.

Tuesday, 16 February 2016

Painless Surface Pro 3 Windows 10 migration

Today I upgraded my Microsoft Surface Pro 3 from Windows 8.1 pro to Windows 10 pro.
I was a bit worried about odd stuff like old Java versions I need for compatibility reasons and numerous development and network tools. Moreover, my work machine is a domain member and sits behind a HTTP-Proxy.
It turned out to be the most painless upgrade ever:

  1. Download the GetWin10 tool from Microsoft and run it.
  2. After a while it asked me if I wanted to keep my apps and data. Yes, of course!
  3. All of that took less than an hour and then some to recognize my external monitor.
  4. Another round of Windows and "Store" updates
  5. Run "iexplore.exe" from the command line and keep it in the task bar
  6. Remove Edge from the task bar. (Sorry, Edge just doesn't feel right for me, yet)
Upgrading Windows has never been easier
That's it. If I find any problems, I'll list them down below.

PS: If you're behind a proxy, you have to let the "metro-world" know about that. In an Admin-CMD shell, type:
 netsh.exe winhttp import proxy source=ie
Otherwise windows activation will fail.


List of problems encountered:

  • Some signed macros in office documents won't run. Cause still unknown.

Thursday, 4 February 2016

DSO 138 firmware updates

DSO138 firmware update

A little while ago, I built the DSO 138 and blogged about it.
I was a bit disappointed at first to that JYE Tech wouldn't publish any new firmware releases, because the scope appears to have quite a bit untapped potential. Specifically the USB-Port.

So I was pleased to stumble over an announcment that they made the latest version available to the public. No USB support yet, but some great improvements like better zeroing.

The update process is pretty simple and you'll find an instructional video here.

Bill of materials

You need:



The process


  • Close the jumpers 1 and 2 on the back of the PCB

  • Connect the USB-Serial Adapter
  • Get the flash upload utility ready
    The serial port number depends on your PC configuration.
    Check in the device-manager which com-port appeared when you plugged
    in the USB-Serial adapter
  • Power up the scope
    The screen will light up
  • Be brave
  • Select the .hex file
  • Wait
  • Disconnect power and the USB adapter and re-open Jumper 1 and 2. This works great with solder wick, but you can also use the dry tip of the iron to remove the solder.
  • Power up
    New splash screen.
    Although both grammar and spelling suggest otherwise, the firmware is  pretty solid.

Tuesday, 19 January 2016

Cheerson CX-10 - Flying below freezing

Finally winter is here!

Complete with snow and everything. So last weekend we tooks the skis and the sled and, of course the CX-10 C drone. (See here for a review in my blog or the video.)
A good opportunity to shoot some spectacular footage of the kids racing down the hills.
Or that's what I thought.
I thought I had the CX-10 C charged up at home and put it in my jacket's outer pocket. So I was amazed that it started flashing a battery warning at me the moment it took off.
After only seconds of flight, it was unable to gain altitude and dropped to the ground.
So I took it back home and the CX-10 C was well again, down in the comfortable 20C of the secret underground lab.
I had expected a somewhat reduced flight time, but nothing that drastic. So to double check I took it out for another test flight later yesterday evening.
Really cold now.
Too little flight time for good shots

EDIT 20160119: Bangggod has the CX-10 C on sale this week for under 20€

The construction of the battery compartment might be good for higher temperatures, but it obviously is a bad idea below freezing. The fans will also add to the cold airflow.
The battery is exposed to the elements.
So my first attempt to improve winter performance is to put some 10mm Kapton tape over the grids to keep the battery warm. All flights have been made with the microSD card inserted, but no recording active.


Setup Batt.tmp Env.tmp Flight-time
No insulation +20C -3C 1:40min
No insulation -3C -3C 0:25min
Kapton tape +20C -3C 2:15min(1)
Kapton tape -4C -4C 0:20min(2)
Indoor flight +20C +20C 2:40min(3)

(1)=Battery warning flashing after 2min. Could not hold altitude after 2:10min. The charge meter showed 60mAh in the subsequent recharge.
(2)=Battery warning flashing after after a few seconds. Could not gain altitude at all. The charge meter showed 12mAh in the subsequent recharge.
(3)=Recharge cap 81mAh after flight

This tape does not add much weight

I conclude from these tests that it makes sense to keep the battery warm (who would have guessed) and to ensure it stays that way as long as possible. I was hoping that a cold, insulated cell would heat up due to the higher internal resistance. But that effect seems to be neglegible here.


Tuesday, 15 December 2015

Two external screens on a Microsoft Surface Pro 4

I could not get more than one external screen on a Surface Pro 4 to work. The docking-brick has two mini-display ports, there is one display port on the side of the tablet. But regardless of the combination, more than one screen wouldn't work.
That was with the usual "right click on desktop" mehtod to get access to the screen properties.
The only option there was to duplicate the screen to one of the external monitors.

All screens show up ok in the device manager. But in the win10 screen settings ony the main screen appeared, along with an option to duplicate the output to screen 2 or 3. Rather pointless in this scenario.

All screens working ok now
Solution:
Go to the traditional control panel and find the settings for screen resolution there.
The two external screens shown in black.
The external screens are show as "disconnected"

They look normal when the Desktop has been extended to use these screens. This has to be done for both external screens.
Then you can arrange them as needed:
Three screens in different orientations
These settings do survive a reboot, but may be destroyed when using the Win10-style screen settings window.

EDIT: 2015/12/17 This issue appears to be resolved in the build 1511.

EDIT: 2016/01/08 With three active screens, windows does not seem to store the screen settings. The two external screens are recognized, but not used.
As a workaround, we disable the Surface 4's own screen. That seems to result inm a stable configuration. When undocked, the internal screen can be used as usual without intervention.

Friday, 11 December 2015

Installing sound drivers on the Microsoft Surface 4 Pro from the command line

The SCCM Win10 OS deployment for our brand new Surface 4 pro PCs refused to find the drivers for the Realtek audio drivers through windows update.

The drivers can be downloaded (at the time of writing) here.

After a lot of attempts with the deprecated rundll32 setupapi method, we found that the following method worked:

 c:\temp\SmartSoundOED>pnputil -i -a IntcOED.inf  
 Microsoft-PnP-Hilfsprogramm  
 Verarbeitungsinf.:      IntcOED.inf  
 Der Treiber konnte auf einem Gerät dieses Systems installiert werden.  
 Das Treiberpaket wurde erfolgreich hinzugefügt.  
 Veröffentlichter Name:      oem46.inf  
 Versuche gesamt:       1  
 Anzahl erfolgreicher Importe: 1  
 c:\temp\SmartSoundOED>  

Same thing with the HDXSSTM.inf file from the HDAudio directory.
So on our SCCM server, we added a package and a task in the task sequence to run pnputil for the two drivers.

Thursday, 10 December 2015

Espressif ESP-8266: minimal configuration for running the ESP-12e module

I am working on a project where I haven't quite decided on some of the details, so I wanted a module that breaks out a lot of the ESP8266's pins, just to have as many options available as possible.

Here is also a 5 minute video about it.

The ESP-12e module seems like a good choice, with the added benefit of having 4MBytes of flash memory.
ESP-12e module from Banggod
So I ordered a pack of three from Bangood for just under 8 Euros. After quite a long wait they arrived and I had to take them to the workbench for a quick test drive, right away.

Odd stuff

A few things are a bit odd about these modules:
  • The silkscreen is a very poor print quality
  • The ADC pin is labelled ADG
  • The GPIO labels are a mess. Eg: There is no GPIO0 (this is labelled GPIO6 instead)

Where's GPOI0?
Todo: try flashing LEDs on all GPIOs to compare against NodeMCUs IO table


Basic configuration

So after a little experimentation, this turned out the most basic configuration:
Basic config for ESP-12e
I plan to run this without a circuit board, so I'll simply shorten GPOI15 to ground and connect the "Chip Power Down" Pin (CH_PD) to 3.3V. 

The Module came preinstalled with some AT-firmware, I didn't much care about.

Flashing new firmware

To program new firmware, GPOI0 (which for some reason is GPIO6 here) needs to be connected to ground. I am a huge fan of NodeMCU, so I flashed that to the module.
Ground GPIO6 (=GPIO0) to flash firmware via UART

This goes without saying

Connecting the serial-usb converter is unspectacular. Just the usual RXD-TXD / TXD-RXD thing. And don't forget to connect the ground wires.
Connecting the USB2Serial converter