QAV ZMR 250 build

I’ve always been interested in RC planes and copters although I’ve never done anything with it. In this post I will share the process I went trough to build a QAV250 quadcopter. Some two years ago I bought a QAV250 kit from Aliexpress ( One problem though it came without instructions. I messaged the seller and got a reply similar to use google and RTFM. Not knowing where to go from there I shelved the project. Two weeks ago I decided to get over my self doubt and continue the project. After all how hard could it be right?

I started looking for tutorials online and found one which suited my needs.

Although the overall proces seems simple the tutorial managed to confuse me quite a bit. The topics I got confused about:

  • Which length srew to use for the motors
  • How to connect the wires for the motors
  • How to orientate the cc3d board computer
  • How to connect the receiver to the cc3d

Motor screw length

This will probably vary on the types of motors but I ended up using 6 mm screws which I thought would be to long and might damage the motors. I tested it with one motor which continued to work. I decided what worked for one will work for all and fitted the 6mm screws on all motors. Please note that this does not mean 6 mm is the right fit for your motors.

How to connect the motor wires

According to the tutorial the wires for motors that turn clockwise have to be switched and the wires for the CCW motors do not need switching. Further along the tutorial it says the wire for the CCW motor needs to be switched. To be clear only the first statement is true (although this issue could probably be fixed in the firmware).

Build almost completed.

Orientation of the cc3d board.

The tutorial tells you to place the cc3d board with the arrow to the side (left) but instead this needs to point at the front of the copter. Putting the cc3d arrow to the left will make the computer think the side is the front of the copter which causes the copter to flip immediatly on takeoff.

After fixing these issues I was able to get my quad of the ground.

I’ve included the maiden flight below:

Note2Self #1:

buy a small drone and learn how to fly it.

Tried to fly the drone outside and crashed it :(.

Also one of the motor wires came loose and when testing for damage the ESC fried.

Fried ESC

Note2self #2: 

Do not remove shrink wrap from ESC’s or re apply if removed. Plus isolate the power pads on the power distribution board. The frame of the QAV250 is conductive and will create shorting causing all tons of fun like mini fires :D.


  1. Get 4 new ESC + motor
  2. Get a new smaller drone to fly indoors
  3. Get a strap to fasten the battery

Saturday the 14th of october:

Got my replacement motors plus ESC’s in the mail. Also got my mini drone the day before. Those things are awesome and a good tool to learn how to fly a quad.

Flashing a BIOS chip with a Raspberry Pi

I made this post as a addition or supplement to my “Flashing a BIOS chip with an Arduino” post.

While doing some research online I found several articles/posts from people using a Raspberry Pi to flash SPI flash chips. Apparently the Raspberry Pi  is very suitable for this kind of thing as it has a SPI interface and is able to run linux. I was eager to try this out for myself so I got out my Pi 3 model B and got to work. For this project I used a Winbond 25X80 salvaged from a motherboard I had lying around.

Preparing the RaspberryPi

Download the latest Rasbian release, I used the Jessie Lite version.

Install the packages needed by flashrom by using the following command:

sudo apt-get install pciutils libpci-dev libusb-1.0 libusb-dev git

Build and install flashrom using the commands below:

git clone
cd flashrom
make && make install

Next, the SPI interface must be enabled by uncommenting “#dtparam=spi=on” in the “/boot/config.txt” file.

After rebooting the spi interfaces are available under “/dev/spidev0.0”.

Connecting the Raspberry to the SPI flash chip

The table below show the connections between the RaspberryPi and the chip.

RPi pin SPI flash
25 GND
24 CS
23 SCK
21 DO
19 DI
17 VCC 3.3V and /HOLD and /WP

Al that is left is flashing the bios.

sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -w YOURBIOSHERE


flashrom 0.9.9-35-gd152fb9 on Linux 4.9.35-v7+ (armv7l)
flashrom is free software, get the source code at

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25X80" (1024 kB, SPI) on linux_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.



Adding a YubiKey to Lastpass

In the beginning of this year I got a YubiKey NEO from a colleague. As I
was already using LastPass to manage my passwords I wanted use my YubiKey as part of the two factor authentication process.

You can register your YubiKey by going to the premium “Multi-factor options” in your LastPass account settings and enabling the YubiKey option. For the two factor authentication to work you need to press the button on the YubiKey to generate a OTP (One Time Password) which will be stored with LastPass.

When I tried this for the first time I ran into a problem and got the following error: “At least one of the YubiKey tokens provided failed to validate.”. Copy and pasting this error in Google led me to a post on the LastPass support forum in which the solution was provided.

Thank you for contacting LastPass Support.

You need to set your YubiKey configuration to OTP authentication mode: … bikey-otp/

Once that is done, visit the following URL: and where it says ‘YubiKey with LastPass’, run the authenticator to make sure everything is working properly.

If no issues found, try to setup the YubiKey once again: … ntication/

Let me know how it goes.


After enabling OTP I could register my key and start using it with LastPass.

Updating the operating system on my Atari 1040STF

After finishing the drive swap mod on Atari 1040 STF I continued browsing the Atari forum’s hardware section and found a post/guide on how to update the operating software. In general, updating the OS is advisable as newer versions may contain bug fixes, security updates and increased I/O compatibility. The same goes for my Atari. The last available version for my machine, 1.04 a.k.a. Rainbow TOS, contains all of the above and is found to be faster overall.

On the Atari, the OS is stored on two or in my case six ROM (Read Only Memory) chips. As the name indicates, writing to ROM chips is not possible so they have to be replaced with chips containing the newer OS. While it is possible to buy a “ready to go” upgrade package it is also possible to go the DIY route and prepare the chips yourself. I opted for the latter as it is much more fun, educational and gives a real sense of achievement when finished.

Continue reading Updating the operating system on my Atari 1040STF

Fix wifi Acer Aspire 5040

I recently upgraded a Acer Aspire 5040 to Windows 7. After the upgrade I installed all the drivers and found the wifi was not working correctly.  Everything looked fine but I could not see any access points to connect to. To fix this issue I had to go Acer’s support website and download and install the Launch Manager. Before installing I had to enable compatibility mode for Windows XP and select run as administrator on the setup.exe. After rebooting the lights on the front of the laptop turned on and  I could now detect access points.

Sites used:


Flashing a bios chip with an Arduino

In this post I will describe the process I went trough of flashing the BIOS chip on a P5B motherboard using an Arduino Duemilanove. I also tried this with a Raspberry Pi, that post can be found here:


My cousin gave me this motherboard and asked me to have a look at it after a failed BIOS update turned his computer into paperweight. I’ve actually attempted to fix this board before using a method described here but I eventually gave up after I realised I lacked the necessary skills and shelved the project. Fast forward a year or so I come across a post on hackaday about a Arduino based BIOS flasher and decided the time had come to give it another try.

The requirements


  • a BIOS chip compatible/supported by Flashrom, in my case a Macronix mx25L8005 (a list of all supported chips can be found here)
  • any of the supported Arduinos (I used a duemilanove):
    • any based on the ATmega328 (/168/88 will work with small changes too), like the Arduino Uno R3.
    • Arduino Mega or Mega2560, but notice that the software has a different branch for them.
  • a way to convert the 5V logic levels to 3.3V (except if 3.3V arduino, these are rarer)


  • Flashrom
  • frser-duino (formerly known as serprog-duino)
  • the AVR toolchain

Preparing the environment (I used a Ubuntu VM):

sudo apt-get install flashrom gcc-avr binutils-avr gdb-avr avr-libc avrdude git

Building flashrom

git clone --recursive git://
cd frser-duino

Depending on the Arduino model:

For models with a FTDI chip:

make ftdi && make flash-ftdi

For models without a FTI chip:

make u2 && make flash-u2

The process

Before you can actually flash the chip you must first connect the flasher to the chip. Some motherboards have a SPI header which makes connecting the Arduino a breeze. Other motherboards may have a removable chip which you transport to a breadboard. If your motherboard doesn’t have either one you will still be able to use this method but you might need some wires/clips specially designed for working with chips and or microprocessors.

The ASUS P5B motherboard has a SPI header located near the BIOS chip. The pinout can be seen in the picture below. Please note that pin names can differ between chips ( i.e. the SO pin can also be named MISO or DO depending on the chip).

Pinout (depends on the chip)

Connecting the Arduino to the chip

Arduino SPI
12 SO
11 SI
10 CS
13 SCK
3.3V VCC +/WP + /HOLD

To start flashing use the following command:

flashrom -p serprog:dev=/dev/ttyUSB0:2000000 -w P5B.rom

To check if everything went according to plan you can dump the chip’s content by using this command. Or use the -v option while running flashrom to verify that the flashing was successful.

flashrom -p serprog:dev=/dev/ttyUSB0:2000000 -r good.rom

After completing the dump you can use a hex editor to compare the files. If they match it means you’ve successfully flashed your chip 🙂 .

Links used:

Sansa Clip+ Repair

My girlfriend was almost in tears when she told me her beloved Sansa Clip+ would not power on anymore. She handed me the little music player and told me that earlier that day, she pressed the power button a bit too hard after which she heard something break.

When inspecting the power button I noticed it was a bit loose where it usually has some tension from the switch underneath. I decided to have a closer look and used a tutorial to help me disassemble the Sansa.
Looking at the board the problem quickly revealed itself. The “extreme” use of force had broken the solder connections between the power switch and the board and as a result the switch fell off. Time to get out the soldering iron!

After reseating the switch and repairing the broken solder connections the Sansa powered up again meaning my girlfriend could listen to here favourite music again and dry her tears.

Edit: After a week my girlfriend returned to me with her Sansa. This time she was only hearing sound from one of her earbuds instead of both. Because I taught her well she had already tried multiple headphones to verify the problem was not the headphones but rather the Sansa itself. I did some research and found that this problem can be fixed by reheating the solder connections between the headphone jack and the board. It appears that the “stress” resulting from removing and plugging in the headphones weakens the connections.