Skip to content

maxvfischer/slowdance-firmware

 
 

Repository files navigation

Slow Dance Firmware

Building

Prerequisites: Development was done with Arduino IDE version 1.8.0. It is recommended that this version be used for building the firmware, but a later version is likely to work as well.

Step 1

Generate the electromagnet waveform data. The electromagnet is driven with a sine wave using pulse density modulation so that it is quieter. The sinewave is stored in waveform.h, which is generated using the generate_waveform.py Python script.

Step 2

Build the firmware using the "Sketch" -> "Export compiled Binary" option in the Arduino IDE. This should generate two files, slowdance.ino.standard.hex and slowdance.ino.with_bootloader.standard.hex. The latter contains the firmware along with the Arduino bootloader so that the Arduino software can be used to flash the device after the Slow Dance firmware is flashed.

Flashing

AVRDUDE can be used to flash the firmware to the ATmega328P in the Slow Dance hardware. Assuming a USB Tiny ISP programmer is used, the command is:

avrdude -c usbtiny -p atmega328p -U flash:w:slowdance.ino.with_bootloader.standard.hex -U lfuse:w:0xff:m -U hfuse:w:0xde:m -U efuse:w:0x05:m

Original Firmware

If for any reason you want to revert to the factory-shipped firmware you can find that here.

About

Firmware for Slow Dance by Wonder Machines

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 53.3%
  • Python 27.9%
  • C 15.7%
  • Makefile 1.9%
  • Objective-C 1.2%