DIY Arduino Smartwatch: самодельные умные часы в стиле Apple Watch
Компоненты
| Arduino Pro Mini 3.3V/8MHz | 1 шт. |
| Adafruit Bluefruit LE (nRF8001, BLE 4.0) | 1 шт. |
| OLED 0.96″ 128×64 монохромный (I2C/SPI) | 1 шт. |
| Li-Po 3.7V 100mAh (полимерный) | 1 шт. |
| Micro-USB разъём (зарядинг) | 1 шт. |
| SMD резисторы 1 МОм 1206 (3 шт., для емкостных кнопок) | 3 шт. |
| Ремешок 20 мм с пружинками | 1 шт. |
| USB-Micro кабель | 1 шт. |
| Винты 2×5 мм (4 шт., для задней крышки) | 4 шт. |
| LiPo зарядка Micro-USB (SparkFun Basic) | 1 шт. |
| FTDI Basic Breakout 3.3V (для прошивки Pro Mini) | 1 шт. |
| Алюминиевый лист 50×50 мм (задняя крышка) | 1 шт. |
| Монтажная плата (stripboard/matrix) | 1 шт. |
Инструменты
- Паяльник
- 3D-принтер (корпус)
- Общие инструменты: пила, плоскогубцы, отвёртки, ножи
Программное обеспечение
- Arduino IDE (версия 1.0.6 для успешной компиляции — GCC баг в 1.8.3)
О проекте
Умные часы на Arduino Pro Mini с BLE-уведомлениями от iPhone (ANCS — Apple Notification Center Service). Экран гаснет через 10 сек, просыпается касанием средней кнопки или новым уведомлением. Время синхронизируется с iPhone при каждом уведомлении. Три емкостные сенсорные кнопки (провода на передней панели) для управления.
Основано на работе Luke Brendt (ANCS Library). Цель — сделать носимым и компактным.

Шаг 1: Электромонтаж
- Соедините Bluefruit LE с Arduino гибкими проводами.
- Соберите плату емкостных кнопок (пины отрезаны от светодиодов), подключите к Arduino.
- Подготовьте OLED: возможно, нужно переделать пины, припаяйте к Arduino.
- После проверки кода: припаяйте длинный провод GND к задней крышке (для эмкостных кнопок нужна опора на тело).
- Micro-USB разъём: GND и RAW (не VCC!) — гибкие провода. Пинaут USB: красный → RAW, чёрный → GND.
- Батарея: плюс → RAW, минус → GND.
Зарядное устройство: перережьте USB-Micro кабель, соедините красный с красным от разъёма зарядки батареи, чёрный с чёрным. Никогда не заряжайте часы прямо от 5V USB без LiPo-зарядки — батарея повредится!

Шаг 2: Программное обеспечение
Используемые библиотеки (с модификациями):
- ANCS Library (GitHub) — файл
notif.cppстр. 826:aci_state.aci_pins.reset_pin = 9;(было другое). - В
ancs_data_source.cppзамените весь код на версию из PDF (ссылка в исходнике), добавьте строку 217:datetime = (char*)malloc(5); strncpy(datetime, buffer, 4);. - В
ancs_notification.hзамените весь код на версию из PDF. - BLE SDK (NordicSemiconductor).
- U8glib для OLED.
- CapacitiveSensor для кнопок.
Прошивка через FTDI Basic 3.3V. Все модифицированные библиотеки и скетч в архиве Arduino Apple Watch.zip.
Шаг 3: Корпус (3D-печать)
STL-файл в архиве. Две итерации дизайна. Задняя крышка — алюминий из старой коробки: выпилите, просверлите отверстия под винты (с учётом зазора под ремешок). Алюминий нужен как электрический контакт для GND-тела. Края зачистите металлической пилой между деревянными брусками.
Обработка 3D-корпуса:
- Шлифовка тонкой наждачкой.
- Грунтовка из баллончика (несколько слоёв с промежуточной шлифовкой).
- Покраска из баллончика.

Шаг 4: Финальная сборка
- Проденьте контакты кнопок через нижние отверстия корпуса, согните и вставьте в верхние. Прижмите для гладкости.
- Установите экран (может быть лёгкий поворот — зависит от точности печати и сборки).
- Вставьте Micro-USB в боковое отверстие (изолента для плотного сидения).
- Припаяйте провод GND-тела к алюминиевой крышке, изолируйте крышку скотчем, прикрутите 4 винтами.
Шаг 5: Использование
- На iPhone: Bluetooth → найдите «ANSC rusk» → Pair.
- Часы получат все уведомления iPhone.
- Перезагрузка: одновременное касание средней и правой кнопок.
- Зарядка: кастомный USB-кабель → LiPo-зарядка → USB.

Код
Архив Arduino Apple Watch.zip содержит скетч и все модифицированные библиотеки. Предпросмотр недоступен — скачайте.
3D-модели
Корпус для часов (все компоненты помещаются внутрь).
Схемы

Собирайте согласно схеме.
Производственный процесс
- Эволюция хронометрии: от солнечных часов к точным кварцевым часам
- Стильные настенные часы на четырех кольцах Adafruit Neopixel 60 LED и Arduino
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- UnifiedWater v1: полный набор датчиков качества воды на Arduino MKR GSM
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Оптимизированные решения питания для проектов на Arduino
- Arduino 101 BLE + Blynk: DIY танк с Bluetooth-управлением с телефона