Warning: I haven't built this circuit yet. There may be bugs. Please let us know if you spot any.