Если вы давно почитываете этот блог, то уже знакомы по крайней мере с двумя генераторами — мультивибратором и таймером 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, о котором и пойдет речь в этом посте.

Прошло девять лет с публикации в этом блоге первого поста. Если бы eax.me был человеком, то сейчас он учился в третьем классе :) Традиционно, по случаю дня рождения сайта я рассказываю, какие изменения произошли с ним за последний год, для истории. Если вам интересно, каким был этот блог раньше, вот более ранние аналогичные посты — год назад, два года назад, три года назад, и далее по ссылкам.

Однажды, во время утреннего полистывания 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 и отладочную плату.

Как вам может быть известно, я не очень доверяю SaaS-решениям. Причин тому больше одной. SaaS’ы оставляют за собой право менять Terms of Service в любой момент как им вздумается. SaaS’ы сливают персональные данные. SaaS’ы меняют пользовательский интерфейс и функционал на свое усмотрение. Наконец, если вы используете SaaS’ы от какого-нибудь Google, то однажды получив в них бан за любое нарушение ToS (который, напомню, постоянно меняется), назад вы больше никогда не разбанитесь. В прошлой статье мы решали описанные проблемы, поднимая / перенося на VDS свой блог. Сегодня же мы попробуем разобраться, как с нуля поднять собственный почтовый сервер с TLS, спам-фильтром и списками рассылок.