- ATmega 168A-PU
- Qduino Mini
- MCP4161
- TPA2005D1
- HM-10 BLE
- Sound mode with volume control
- Rotary encoder (with push button) user interface
- BPM and basic signatures control
- Tap tempo (button)
- PWM LCD backlight (dimming after a period of inactivity)
- Storing metronome settings in the internal EEPROM
- Custom character display
- Remote vibration module (BLE)
- Default idle state for remote module, receiving disable signal
- MicroUSB charging
- Adjustable sound pitch
+--
+-- README.md
+-- .gitignore
+-- doc
+-- eagle
+-- main
+-- remote
+-- metronome // ATmega metronome main module directory
+-- Makefile // compiler and programmer config
+-- main.c // entry point
+-- setup.h // device main settings
+-- util.h // helper macros
+-- global.h // extern declarations
+-- lcd.h // LCD 2x16 interfacing in 4-bit mode
+-- lcd.c
+-- eeprom.h
+-- eeprom.c
+-- metronome.h // core logic of the metronome, ISR handlers
+-- metronome.c
+-- usart.h // serial communication with HM-10 BLE module
+-- usart.c
+-- mcp41xx.h // MCP4161 Digital potentiometer SPI interfacing
+-- mcp41xx.c
+-- remote_module // Qduino (Arduino) remote vibrating module sketch directory
+-- README.md
+-- remote_module.ino
- make
- avrdude
- avr-gcc
Override parameters in Makefile to suit your hardware configuration. Here, Arduino Uno is used as an in-system programmer.
- MCU = atmega168
+ MCU = <your_unit>
- PROGRAMMER_TYPE = avrisp
- PROGRAMMER_ARGS = -b 19200 -P COM4
+ PROGRAMMER_TYPE = <your_programmer_type>
+ PROGRAMMER_ARGS = -b <baud_rate> -P <device_name>
Use make flash
to compile and save program in flash memory (using avrdude
). Use make size
to find out about the size of the program.