Development board on stm32f103cbt6
ATTENTION! The board is gradually being finalized and changed, the latest version of hardware is 1.5.
Please note that the proposed program code may NOT be suitable for the specific hardware of the board
(requires further development). Make sure the programming code is hardware correct (i.e. it was developed
for this version of the board).
Repository structure:
Arduino - working with the board in arduino IDE (libraries and examples).
Board - schematic diagram and photo of the board, old versions.
CubeIDE - working with the board in CubeMX IDE (examples and test program).
DataSheet - documentation for individual chips.
The board was designed to master the programming of microcontrollers of the stm32 series.
There are a huge number of debug boards on the market for every color and taste. Therefore,
for novice electronics developers, the fastest way to master microcontroller programming is
to buy a ready-made debug board, since it is necessary to spend significant material and
time resources on developing and manufacturing your own board.
Your attention is invited to the project of a debug board based on the STM32F103 microcontroller.
This board is the fruit of the author's work, circuit solutions are borrowed from the technical
documentation of other similar boards. The layout of the board may need to be adjusted to increase its functionality.
The controller module board is a universal tool based on the STM32F103cbt6 microcontroller,
designed to be built into various systems as a control node.
Features of the development board:
- STM32F103CBT6 microcontroller: 72 MHz Cortex-M3, 128 KB program flash, 20 KB RAM,
- CAN, I²C, IrDA, LIN, SPI, UART/USART, USB, DMA, Motor Control PWM, PDR, POR, PVD, PWM, Temp Sensor, WDT, etc.;
- color TFT display with a resolution of 128x160 pixels using spi interface controller st7735;
- connector for sd card (spi is used to connect with the controller);
- radio interface based on nrf24l01 connected via spi;
- reset button;
- jumpers boot0&boot1;
- 4 analog buttons;
- 3 LEDs;
- mechanical encoder with output duplication on a separate connector
(with the ability to select an internal / external encoder using jumpers);
- beeper;
- swd programming connector with swo output extension;
- internal clock (STM32F103 rtc) with battery power and external quartz;
- variable resistor connected to the analog input STM32F103;
- photo resistor connected to the analog input STM32F103;
- temperature sensor ds18b20;
- instead of two analog inputs, it can be configured with jumpers uart STM32F103;
- uart can connect bluetooth module hc-05 or other devices via 4-pin connector;
- distance sensor bus i2c chip vl53l0x;
- magnetic field sensor bus i2c chip hmc5883l;
- pulse sensor bus i2c chip max30102;
- flash memory on the i2c at24c128 (or at24c64) bus (16/8 KB);
- DAC on i2c bus mcp4725 12bit, with connector and LED output;
- i2c connector for connecting external peripherals;
- flash memory on the spi w25q32 bus (4 MB);
- stepper motor control based on uln2003;
- current sensor for measuring the current consumption of a stepper motor based on the ACS70331 chip;
- micro usb connector for VCP or MSD;
- supply voltage +5 V (via mocro USB connector or a separate two-pin connector);
- power supply of the controller core from a 3 V battery;
- overall dimensions: 100x100 mm;
ВНИМАНИЕ! Плата постепенно дорабатывается и изменяется, последняя версия железа 1.5.
Обратите внимание что предложенный программный код может НЕ подходить к конкретному железу платы (требует доработки).
Убедитесь что программный код соответствет железу (т.е был разработан для этой версии платы).
Структура репозитария:
Arduino - работа с платой в arduino IDE (библиотеки и примеры).
Board - принципиальная схема и фото платы, старые версии.
CubeIDE - работа с платой в CubeMX IDE (примеры и тестовая программа).
DataSheet - документация на отдельные микросхемы.
Плата была разработана для освоения программирования микроконтроллеров серии stm32.
На рынке представлено огромное количество отладочных плат на любой цвет и вкус.
Поэтому для начинающих разработчиков электроники самым быстрым способом освоения
программирования микроконтроллеров является покупка готовой отладочной платы,
поскольку на разработку и изготовление собственной платы необходимо затратить
значительные материальные и временные ресурсы.
Вашему вниманию предлагается проект отладочной платы на базе микроконтроллера STM32F103.
Данная плата является плодом труда автора, схемотехнические решения заимствованы
из технической документации других аналогичных плат.
Разводка платы, возможно, требует корректировки, для увеличения ее функционала.
Плата модуля контроллера является универсальным средством на базе микроконтроллера STM32F103cbt6,
предназначенным для встраивания в различные системы в качестве узла управления.
Характеристики отладочной платы:
- микроконтроллер STM32F103CBT6: 72 МГц Cortex-M3, 128 Кбайт флэш-памяти программ, 20Кбайта ОЗУ,
- CAN, I²C, IrDA, LIN, SPI, UART/USART, USB, DMA, Motor Control PWM, PDR, POR, PVD, PWM, Temp Sensor, WDT и т.д.;
- цветной TFT дисплей с разрешением 128х160 точек использующий spi интрефейс контроллер st7735;
- разъем для sd карты (для соединения с контролером используется spi);
- радио-интрефейс на основе nrf24l01 подключенный по spi ;
- кнопка сброса ;
- перемычки boot0&boot1;
- 4 аналоговые кнопки;
- 3 светодиода;
- механический энкодер с дублированием выводов на отдельный разъем (с возможностью с помощью перемычек выбирать внутренний/внешний энкодер);
- биппер;
- разъем для программирования swd с расширением выхода swo;
- внутренние часы (STM32F103 rtc) с питанием от батарейки и внешнем кварцем;
- переменный резистор заведенный на аналоговый вход STM32F103;
- фото резистор заведенный на аналоговый вход STM32F103;
- датчик температуры ds18b20;
- вместо двух аналоговых входов можно сконфигурировать перемычками uart STM32F103;
- к uart можно присединять модуль bluetooth hc-05 или другие устройства через 4-х пиновый разъем;
- датчик расстояния шина i2c чип vl53l0x;
- датчик магнитного поля шина i2c чип hmc5883l;
- датчик пульса шина i2c чип max30102;
- флеш память на шине i2c at24c128 (или at24c64) объем 16/8 кбайта;
- DAC на шине i2c mcp4725 12bit, с выходом на разъем и светодиод;
- разъем i2c для подключения внешней периферии;
- флеш память на шине spi w25q32 (объем 4 мбайта);
- управление шаговым двигателеми на основе uln2003;
- датчик тока для измерения тока потребления шаговым двигателем на основе чипа ACS70331;
- micro usb разъем для VCP или MSD;
- напряжение питания +5 В (через разъем mocro USB или отдельный двух пиновый разъем);
- питание ядра контроллера от батарейки 3 В;
- габаритные размеры: 100х100 мм;