After the AVR project. I wanted to continue adding more components and experiment with the microcontroller, just to feed my curiosity.
The UI design uses bitmaps of the images that is stored in flash memory. There are three buttons: Up, Down, Select. It is used to navigate the menu. Each selection will display a new screen, showing the operation.
The main board (ATMega328P) acts like a "control panel" that displays three menu selections:
-
UART: Similar to the previous project, as an onboard UART receiver to test a simple LED blink (9600 Baud rate)
-
View Files: This was meant to use FatFs or Petit FatFs to view files stored on the microSD/SD card. However, due to the complexity, I have yet to investigate this further.
-
BLE Buzz: A buzzer connected that will active when selected. A blue LED will turn on. Sending a specific command will turn the buzzer and LED off. This acts like a lost and found device.
Upon every selection, a logger hooked up to the main boards UART pins receive what has been selected and records the process. The microSD/SD breakout board is connected to the SPI pins. Its purpose is to read the contents of files.
NOTE: The microSD/SD breakout board is optional as it is still a work in progress.
- Photopea for UI design
- Bitmap image2cpp converter
- U8g2 library fonts
- Bluetooth Serial Terminal for HC-05
- +3.3V power supply
- 6 pin ISP programmer
- Kingston Canvas Select Plus MicroSDHC 32 GB
- 16 MHz crystal oscillator - x2
- 10K ohm resistors - x4
- 22pF capacitor - x4
- Blue LED - x2
- ATMega328P
- SparkFun OpenLog
- HC-05 Wireless Bluetooth Module
- SH1106 128x64 I2C OLED
- 0.1uF capacitor - x3
- Tactile push buttons - x3
- ATMega328
- Arduino OLED Menu Tutorial
- FatFs
- Petit FatFs
- littlefs
- AN2799 Using the Petit FAT File System Module with AVR® Microcontrollers
- MMC/SD/SDHC Library
- Interfacing a (micro)SD card with an Atmega328 microcontroller
- Writing to a microSD card
(Makefile included, this will include how to specifically compile the U8G2 library)