Airsoft upgrades – research post

I’d like to do some work on my AEGs. I’ll be turning my current M4 CQB into a DMR, and either fixing my current very broken MP5 or getting something new – small, light, and good for running about with.

I’ll do the DMR first. I plan to replace the motor, spring and gears and install a mosfet. I’ll also be replacing the hop, but only because the current one is rubbish.

Useful links

Current parts suggestions – DMR

  • Spring: Madbull M140
  • Gears: 30:1 SHS
  • Motor: high torque, Lonex/SHS (I would like a brushless motor, if they exist)
  • Piston:
    • Also, add a slightly bigger than normal O-Ring
  • Fet: Needs research, but have seen one that uses:
    • 80p06p
    • irlb3034
    • 100R
    • 2.2KR


Pictures of the FET

2014-04-13 09.23.30

2014-04-13 09.23.20 2014-04-13 09.23.06 2014-04-13 09.22.56

Current parts/replacement for non-DMR


Improvised wet-vac

We have cats. And they piss in the wrong places. It’s very annoying.

Cute furry weeing Unit 1.0
Cute furry weeing Unit 1.0

Recently, a bit of a patch started to emerge in the hall. We cleaned up the best we could, but it’s very hard to get it all out, and the regular abuse of this bit of carpet had started to mount up. I thought a good wet-vaccuming might be the solution!

Unfortauntely wet-vacs are expensive, and big, and we only have a small flat. Also, improvising one seemed like a fun project for a Saturday afternoon. In the end, it only took about half an hour!

To start off, I picked up this ultra-cheap vacuum cleaner from my local Argos. It was only £20 then, it seems to have gone up. I also grabbed some big tupperware boxes, which we needed anyway.


I cut the hose, leaving a little length to connect the box to the cleaner, and marked a hole on the lid of the box.


I drilled the hole using a conical bit (which is one of the best things in the universe) and stuck the hose in.


And then did the same with the other end of the hose:


Ta-dah! Wet-vac. I thought I’d have to seal the hoses in but it turned out that a friction fit was fine – perhaps because the hose is quite flexible plastic, and the low pressure probably causes them to bulge a bit. I hoovered up a mug of water and all seemed well.

To the hallway!


I made up a weak solution of floor cleaner, poured it over the evil cat patch, and scrubbed a bit. And then hoovered it up. (Note: under the carpet, the floor is concrete, so I wasn’t too worried about the neighbour below.) It worked fairly well:

I didn't save the PSD, so I can't make the text brighter.

Judging by the naaasty water that came back out of the carpet, less bad stuff is there than before:


The water trap was not perfect, however:


I think quite a bit of water ended up going through the motor. This suspicion was a few days confirmed later: after about half an hour of total wet-vaccing, it gave up the ghost. An autopsy revealed significant corrosion:


If there is ever a version 2, I will design the water trap differently. Learnings:

  1. When the vac is on and sucking air, there is a lot of disturbance in the water in the trap. It goes all over the place. This tupperware wasn’t nearly tall enough to guarantee enough clearance between the top of the disturbed water and the tube connecting it to the cleaner.
  2. Even with a better designed box, I think some water will always get through. It would probably be sensible to have a second water trap, or to add some foam baffles to reduce the amount of atomised air getting into the motor

Mysie thought box the vacuum cleaner came in was the best bit. She might be right.


Tricopter notes: part 2

I’ve started the build now, so I thought I’d start a new notes post.

Notes on making a tricopter

Making a Quad- or Tri-copter is a project I’ve been tempted by for a long time. Ever since I got an RC heli, which I’ve since abandoned. The Heli was too hard to fly, and there wasn’t much motivation to persevere — having learned, all you can really do is aerobatics, which I’m not very interested in. A quad, on the other hand, is easier to fly and much more flexible: I could add cameras, sensors, telemetry, code it to do interesting things, etc. And lots of people have done this so it’s an easy thing to Google about.

The tricopter seems the most appealing so far – interesting build, nice balance of stability and maneuverability.

Interesting things so far:

I’ll update this post with more stuff.

Design notes


I thought there would be maths (shuddder) about frame size vs prop size vs motor power and all that sort of thing, but this FAQ says the main considerations are maneuverability and stability. A smaller frame is more nimble but less stable, and vice versa.

Since I’m a beginner, a larger, more stable frame seems like a good idea. It also seems plausible that it’s a better platform to develop from: I could perhaps add bigger motors/props to increase lift, for example, without having to change the frame. (Guess).

The RCExplorer v2.6 arms are 480mm, which seems a good place to start. I think I’ll also use the frame design from RCExplorer as it’s well proven and designs are available.

Some tips from this thread:

  • Prop wash over the arms causes vibration. Try to mount the props at least as far above the arms as the prop radius.
  • ESCs (unsurprisingly) work better if kept cool. Perhaps worth mounting them in the prop wash?


Not much headway on this yet. RCExplorer (again!) recommends the smallest props you can as smaller props are lighter and have less air resistance, making them more stable.

Trial and error seems a sensible approach here, as long as the prop doesn’t overwork the motor.

Control board

From this table, Arducopter seems both very functional and reasonably priced. Lots of resources for it too.

Beyond (advanced) features (that I won’t need for ages, if ever), I still don’t have a clear idea what the pros and cons of the various boards are, though. For example, noob-friendliness, ease of repairs. The KK board does have a screen to guide you through the process, which might make it preferable to start with. And it’s cheap, so easy enough to replace with something more feature-rich later.


There are so many important bits of information in the big tips thread that it’s not really worth reproducing them here. Just go read it.

Use NiMH mode even for a LiPo battery, because the low-voltage mode engaging (to protect the LiPo) causes flips (eek).


RCExplorer uses these for the v2.5. Mentioned elsewhere too. Is 750kV enough? What are the considerations?




Not planning to do this immediately, but from reading so far, there is stuff worth noting.

Apparently, the only legal frequencies for airborne video tx in the UK are 2.4 and 5.8GHz. These are very short wavelengths with poor penetration and are limited to 10mw and 25mw respectively. This sounds totally dreadful, but people do claim that they can get decent range (up to a mile) with a high-gain antenna. A significant number of other people are (unsurprisingly) completely flouting the law. It does seem a bit OTT.

Obtaining an amateur radio licence makes no difference as they do not include airborne transmissions (out of date but probably still accurate: Amateur Radio (Foundation) Licence Terms, Provisions and Limitations Booklet BR68/F, para 2(6)). Possible exception: higher power 5.8GHz transmitters at 250mw rather than 25mw.

It seems that to stay legal you can only use 2.4GHz or 5.8GHz. My transmitter is 2.4GHz and I don’t want to replace that with an (obsolete) 35MHz transmitter. So it seems it’s 5.8GHz or bust.

Telemetry, sensors

I’ll think about these later.

Transmission of telemetry data is permitted on 433.05 to 434.79MHz up to 10mw.


High- and low-pass RC filters

Having generated a just-about-square wave, I’m fiddling with high-pass and low-pass RC filters (still inspired by Afrotechmods).

I’m still using the 50% duty cycle circuit from the NE555N datasheet, except that R1 is 53K and C1 is 100nF.

I’ve taken that output into a low pass filter: the signal comes through a 10K resistor into the scope, and there’s a 10nF capacitor going to ground.

As expected, with a 139.7Hz input signal, the attack and decay are slowed down a little bit:

139Hz, R1=10K, C1=10nF
138Hz, R1=10K, C1=10nF

Increasing the input signal increases the effect:

138KHz, R1=10K, C1=10nF
138KHz, R1=10K, C1=10nF

Increasing the input signal further to 26.1Khz gives a nice saw triangle wave:

26.1KHz, R1=10K, C1=10nF
26.1KHz, R1=10K, C1=10nF

And increasing it ridiculously produces a DC signal:

261Khz, R1=10K, C1=10nF

I’d like to have made a better saw triangle wave but I don’t have the right value of capacitor for the 555 circuit. However, increasing C1 to 231nF (7x33nF) and setting the input signal back to 139Hz produces a lovely one:

139Hz, R1=10K, C1=231nF
139Hz, R1=10K, C1=231nF

And a very similar wave is produced by setting C1 back to 10nF and increasing R1 to 220K:

139Hz, R1=220K, C1=10nF
139Hz, R1=220K, C1=10nF

This is explained by something called “maths“, but I’m happy enough to see that changing either one works. Afrotechmods suggested selecting the value of R1 to suit the load on the output signal, and changing C1 to get the appropriate wave. Which seems sensible.

Switching the positions of R1 and C1 gives a high pass filter, and as expected, produces the following wave:

140Hz, C1=10nF, R1=220K
140Hz, C1=10nF, R1=220K

In the process of making a silly mistake, I also found that leaving R1 out made the wave much tidier, completely getting rid of the ramping down and up that I couldn’t get eliminate in the 555 circuit! Neat:

No ramping up and down
No ramping up and down

Though, as you would expect from a high pass filter, the peaks and troughs are no longer quite flat. I’m not sure how to expect a high pass filter to behave without R1, so I don’t really know if this is meaningful or useful.

Anyway, decreasing the input signal to 78Hz produces a more pronounced change:

78Hz, C1=10nF, R1=220K
78Hz, C1=10nF, R1=220K

As does decreasing C1 to 1.4nF (3x470pF):

140Hz, C1=1.4nF, R1=220K
140Hz, C1=1.4nF, R1=220K

Decreasing C1 to 1pF gets us back to DC:

140Hz, C1=1pF, R1=220K
140Hz, C1=1pF, R1=220K

As does decreasing R1 to 10R:

140Hz, C1=10nF, R1=10R
140Hz, C1=10nF, R1=10R

However, I couldn’t quite get it back to DC by passing in a lower frequency wave. I made the filter a bit more aggressive by changing R1 to 100K, and passed in 12.5Hz. But no matter how low the frequency, there are always upwards and downwards spikes when the input signal changes from high to low, or vice versa:

12.5Hz, C1=10nF, R1=100K
12.5Hz, C1=10nF, R1=100K

I think I’ll leave that mystery for another day.

Generating a square wave from a 555 timer

Inspired by Afrotechmods, I thought I might try experimenting with RC filters and wave generators. I bought a second probe for my scope so I can see the input and output signals at the same time (neat).

Since I don’t have a signal generator, I thought a good start might be to try making a 555-based circuit that generates a square wave to pass into some filters to see what happens. I did wonder about doing this with an Arduino, but that seems like cheating. And it would be good to get into the habit of doing things in hardware when I can, instead of going straight to a microprocessor.

I’ve also wondered before about producing a 50% duty cycle from a 555, which isn’t something I’ve done — an astable always seems to be more one way than the other, and I’m not sure why. From Wikipedia, I learned that the duty cycle is described as a percentage, where the percentage is the time the signal is high. It can therefore be calculated as:

D = a / P

Where D is the duty cycle, a is the time the signal is active, and P is the period of the wave.

To start with I built the 50% duty cycle circuit from the NE555N datasheet. I don’t have any 51K resistors (which sounds like an odd value) so I used a 47K. Perhaps predictably, the resulting wave was not 50%:

R1 = 47K, C1 = 10nF, f = 1.228KHz, a = 0.3ms, p = 0.82ms, d = 0.366

Experimenting with the value of C1 produced the results I would expect. With 4.7nF:

R1 = 47K, C1 = 4.7nF, f = 1.698KHz, a = 0.22ms, p = 0.59ms, d = 0.373

With 4.7 and 10nF in parallel:

R1 = 47K, C1 = 14.7nF, f = 0.708KHz, a = 0.51, p = 1.39ms, d = 0.367

With 100nF:

R1 = 47K, C1 = 100nF, f = 119.3Hz, a = 3.2ms, p = 8.5ms, d = 0.376

As expected, the frequency decreases as the value of C1 increases, and the duty cycle stays constant (ish). Less expectedly, the wave is not particularly square. Here is the 50KHz calibration signal from the scope for comparison:

Scope 50KHz
Scope 50KHz

In any case, one thing at a time. The 50% duty cycle might be caused by not following the instructions from the datasheet, so I strung together a 47K and 4 1K resistors to get to the magic number. With C1 at 10nF:

R1 = 51K, C1 = 10nF, f = 1.439KHz, a = 0.32ms, p = 0.7ms, 0.457

This is much closer to 50%, but also rather less square. Guess: the higher resistance is causing the cap to charge more slowly, leading to that slower ramp-up. Let’s try a 100K and see how that looks:

R1 = 100K, C1 = 10nF, f = 1.202KHz, a = 0.64ms, p = 0.66ms, d = 0.969

Guess not. The edges are now more similar to the ones with lower values for R1. *confused*. Looking back over the earlier pictures, I think that ramp-up/down actually gets a bit worse as C1 increases. Which does make sense if C1 is taking longer to charge. Changing C1 to 100nF does back this up a bit:

R1 = 100K, C1 = 100nF, f = 117.4Hz, a = 6.8ms, p = 7ms, d = 0.971

So I guess it’s some mixture of R1 and C1 that I don’t understand. Gratifyingly, though, those last two pictures show clearly that altering C1 alters the frequency without changing the duty cycle (much), and it looks like that that relationship is linear: multiplying C1 by 10 gave a value of p 10 times greater.

Anyway. I set kept C1 at 100nF, put R1 back to 51K and added two more 1K resistors, bringing the total up to 53K, and that gave me exactly a 50% cycle:

R1 = 53K, C1 = 100nF, f = 1145.5Hz, a = 3.6ms, p = 7.2ms, d = 0.5

Good enough, I think, despite the not-quite-squareness.

I wondered then if the values in the datasheet are correct (which seems likely) and if it’s just the low tolerance on these resistors that’s accounting for the difference. So I measured the actual values of R1 and R2 which were 52.3K and 22.24K respectively. I guess it’s not those then. I swapped out the 555 for a different one in case that was damaged or the tolerances there could make a difference. Nope. The value of C1 doesn’t affect the duty cycle very much, so it’s probably not that. And I can’t measure that. So it’ll have to be a mystery.

Next: adding low- and high-pass RC filters.