Если вы давно почитываете этот блог, то уже знакомы по крайней мере с двумя генераторами — мультивибратором и таймером 555. Однако такие генераторы не подходят, если вам нужно получить высокочастотный сигнал. LC-генераторы, с другой стороны, способны выдавать сигналы с частотой где-то до 500 МГц. Звучит, как что-то полезное. Давайте же попробуем спаять такой генератор.

После знакомства с клавиатурой от смартфона BlackBerry Q10 мне захотелось кое-что выяснить. Что будет, если взять от этой клавиатуры только пластиковые клавиши, а саму плату с кнопками развести самостоятельно? В этом случае не пришлось бы возиться с крохотными коннекторами, через которые подключается оригинальная клавиатура. Также мы были бы уверены в качестве модуля. А то эти клавиатуры выдирают из старых телефонов, и кто знает, в каком они там состоянии (залипающие кнопки и т.п.).

Практически в любой книге по компьютерным сетям вы без труда найдете описание Ethernet-пакетов, ровно как и пакетов IP, TCP, UDP и прочих. Но в тех источниках, что мне встречались, описание это было довольно высокоуровневым, в терминах байтов, которые как-то передаются по витой паре. Но как конкретно единички и нолики представляются при помощи напряжения или тока? Давайте выясним!

Как-то раз я прочитал на hackaday.com небольшую заметку об IceRadio. Это проект господина Eric Brombaugh, представляющий собой SDR на базе микроконтроллера STM32, FPGA производства Lattice серии Ultra или Ultra Plus, АЦП AD9203 или более дорогого ADC14C105, ЦАП CS4344 с интерфейсом I2S, а также тюнера R820T2, используемого в донглах RTL-SDR. Помимо прочего, проект интересен своей модульностью. Он состоит из четырех независимых плат, каждую из которых можно использовать повторно в других проектах. Особенно меня заинтересовал модуль на базе тюнера R820T2, о котором и пойдет речь в этом посте.

Однажды, во время утреннего полистывания Twitter, мое внимание привлек проект господина @arturo182 (a.k.a Artur Pacholec). Проект представляет собой DIY смартфон на базе экранчика ILI9341 и qwerty-клавиатуры с подсветкой от BlackBerry Q10. Особенно меня впечатлила идея использования клавиатуры от смартфона. Было решено незамедлительно обзавестись такой клавиатурой и научиться с ней работать.

АЦП и ЦАП могут быть полезны в ряде задач, например, если нужно считывать данные с аналоговых датчиков, или при работе со звуком. Многие МК семейства STM32 имеют встроенный АЦП (даже несколько), а некоторые МК также имеют и встроенный ЦАП. В этой заметке мы рассмотрим простой пример использования обоих устройств. Для экспериментов я использовал плату LimeSTM32 на базе STM32F405, имеющего как АЦП, так и ЦАП.

Существенным недостатком базовых аналоговых фильтров, то есть, таких, как простой RC-фильтр, является то, что крутизна их АЧХ не превышает 6 дБ на октаву (удвоение частоты). Во многих задачах хотелось бы иметь более крутую АЧХ, и в тогда применяют совсем другой дизайн фильтров. О дизайне таких «продвинутых» фильтров мы и поговорим сегодня.

Большое преимущество программатора ST-Link/v2-1 перед ST-Link/v2 заключается в том, что помимо самого программатора в v2-1 также есть встроенный USB-UART. На практике это очень удобно — меньше проводов, меньше занятых USB-портов. Как заливка прошивки, так и передача отладочного вывода происходят через одно устройство вместо двух. Есть только одна маленькая проблема. Если ST-Link/v2 можно без проблем купить на eBay, то ST-Link/v2-1 бывает только встроенным в отладочные платы семейств Discovery и Nucleo. Однако, как выяснилось, плату Nucleo довольно легко разделить на два отдельных устройства — программатор ST-Link/v2-1 и отладочную плату.

OLED-экранчики на базе SSD1306 / SSD1309 / SH1106 пользуются большой популярностью как в DIY сообществе, так и индустрии, благодаря своей яркости, широкому углу обзора и небольшой цене. Но при этом они способны выводить только бинарное изображение. В качестве альтернативы, лишенной этого досадного недостатка, можно предложить экранчики на базе контроллера SSD1351. По большому счету, они полостью аналогичны экранчикам на базе SSD1306, но выводят изображение в 16-и битном цвете.

В рамках этой заметки мы поговорим про фильтры нижних частот (low-pass filter), фильтры верхних частот (high-pass filter), а также полосно-пропускающие (band-pass filter) и полосно-заграждающие фильтры (band-stop filter / notch filter). Существует множество схем соответствующих фильтров, но на этот раз мы рассмотрим только самые базовые. Еще мы спаяем один из фильтров и сравним его реальное поведение с теоретическим, а также с поведением, предсказанным SPICE-симуляцией в KiCad.