Silverware Tools for macOS

This is an easy to use, self-contained package that contains everything you need to work with the excellent Silverware micro quadcopter firmware on macOS.

Download

How to use

You can focus on customizing the firmware. I bundled all support files into the tools.

1. Customize Silverware

I recommend Visual Studio Code for editing.
Start with config.h and pid.c. For details see the documentation in NFE’s fork.

2. (optional) Unlock the chip

If your flight controller comes firmware locked from the factory, you can use this tool to unlock it.
You only need to do this once for every controller.

3. Compile Silverware

Run the Compiler tool. The compiled firmware file will be in the directory afterwards.

4. Flash Silverware to the chip

Simply drop a firmware file onto the Flasher tool. It will be automatically written to the chip.

5. Fly!

You’re done.

6. (optional) View flash data

If you have tuned your PIDs using the stick gestures, you can use the Viewer tool to view the new PIDs.

Limitations / changed defaults

I needed to change some of the defaults that NotFastEnuf’s fork comes with. Let me explain what I changed and why.

Unsupported gyro low pass filters

The ARM compiler suite comes with proprietary optimizations, that are not yet available to the gcc compiler. As a result, firmware compiled with gcc runs a bit slower than firmware compiled via Keil.

Sounds complicated? It is.
Long story short: we can’t run certain gyro low pass filters in 1ms loop time anymore.

I removed the affected filters. Here is the diff:

126,127c126
< #define SOFT_KALMAN_GYRO KAL1_HZ_90
< //#define SOFT_LPF_1ST_HZ 80
---
> #define SOFT_LPF_1ST_HZ 90

What’s inside

You don’t really need to worry about this. But in case you were wondering: