Wiznet W5500 — это Ethernet-контроллер с интерфейсом SPI. Чип поддерживает стандарты 10baseT и 100baseT. Характерной особенностью контроллера является то, что он имеет аппаратную реализацию TCP/IPv4. Это позволяет существенно разгрузить работающий с ним микроконтроллер. Wiznet W5500 поддерживает до 8 сокетов и имеет суммарно 16 Кб памяти на прием и еще 16 Кб на передачу. Эта память может быть распределена между сокетами произвольным образом. Давайте же разберемся, как работать с этим чипом на примере МК STM32.

OpenOCD (Open On-Chip Debugger) — это открытое ПО для программирования и отладки различного железа. Допустим, к вашему компьютеру подключен один из программаторов, поддерживаемых проектом. OpenOCD позволяет сходить через программатор в некий микроконтроллер или FPGA, используя такой протокол, как JTAG или SWD. В качестве более конкретного примера, рассмотрим, как OpenOCD может быть использован для прошивки и отладки микроконтроллеров STM32.

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

Как-то раз я прочитал на 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, имеющего как АЦП, так и ЦАП.

Большое преимущество программатора 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-и битном цвете.

Прошло больше года с тех пор, как я познакомился с микроконтроллерами STM32. За это время были перепробованы разные отладочные платы, из которых наиболее удобными для меня оказались платы серии Nucleo. Но даже они не лишены некоторых неприятных дефектов. Как известно, удобство в мелочах. Поэтому в какой-то момент было решено сделать отладочную плату, которая была бы удобна лично мне.

Как известно, печатать на 3D-принтере с использованием пластика ABS достаточно сложно. Если в случае пластика PLA можно просто нажать кнопку и пойти по своим делаем, то ABS постоянно норовит отклеиться от стола или свернуться. Первую проблему еще достаточно легко решить. Далее будет описано несколько способов. А вот со сворачиванием (warping) дела обстоят куда сложнее. Утверждается, что чтобы решить эту проблему, необходимо построить термокамеру (Heated Build Chamber, HBC). Насколько сложно построить HBC и действительно ли она решает все проблемы? Давайте выясним!