Это приложение тестировалось лишь с Samsung Galaxy GT-i5700 Spica (Android 2.1)
Как АЦП для 2-х входов в схеме используется PIC33FJ16GS504 Microchip (даташит и данные). Обработанные данные передаются в телефон через Bluetooth модуль LMX9838 (даташит).
Характеристики осциллографа:
— Время на деление: 5мкс, 10мкс, 20мкс, 50мкс, 100мкс, 200мкс, 500мкс, 1мс, 2мс, 5мс, 10мс, 20мс, 50мс.
— Вольт на деление: 10мВ, 20мВ, 50мВ, 100мВ, 200мВ, 500мВ, 1В, 2В, GND
— Аналоговый вход (зависит от предусилителя): от -8V до +8 V

Исходные коды для Bluetooth были взяты из Bluetooth чата https://developer.android.com. Этот пример состоит из 3-х файлов исходного кода Java. И я полностью скопировал «DeviceListActivity.java», который используется для поиска удаленных устройств Bluetooth. Я изменил «BluetoothChatService.java», удалив оттуда всё лишнее.
Для графического отображения форм сигнала я использовал SurfaceView, мне очень помогла статья как использовать canvas в android.

Остальная часть работы в основном заключалась в переносе моих предыдущих наработок для S60 на язык Java. Это было сложно, но тем не менее, это был хороший пример для изучения JAVA программирования.
Исходные коды и прошивки для Android и PIC можно скачать здесь.
Вот схема. В ней нет ничего особенного, всё основано на существующих схемах.
Возможно, я выбрал не самый хороший микроконтроллер для этой цели, т.к. остались незадействованные выводы. Но я смог купить лишь такой и тут самый хороший АЦП.
Если вы хотите изменить диапазон входного напряжения с помощью изменения предусилителя на операционном усилителе, вычисления находится в файле «adc.xmcd». Также, кроме LMX, вы можете использовать другие модули Bluetooth.
