atk-f407

Provides pin mapping, peripheral constraints, and HAL code templates for the ATK-Explorer STM32F407 board.

3|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/zhengzhang11/AAA_NUEDC_Train --skill atk-f407-zhengzhang11
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: atk-f407
Source: https://github.com/zhengzhang11/AAA_NUEDC_Train/tree/main/%E6%A0%A1%E8%B5%9B/skills%28%E5%B0%86%E9%87%8C%E9%9D%A2%E4%B8%A4%E4%B8%AAskills%E7%A7%BB%E6%A4%8D%E5%88%B0.claude%E7%9A%84skills%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%29/atk-f407
Command: npx skills add https://github.com/zhengzhang11/AAA_NUEDC_Train --skill atk-f407-zhengzhang11

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When writing firmware for the ALIENTEK Explorer STM32F407ZGT6 V3 board, developers often misassign pins that are already occupied by onboard peripherals (FSMC LCD/SRAM, Ethernet PHY, SPI Flash, camera), causing hardware conflicts and broken builds. This Skill gives the AI a complete, verified hardware reference so generated HAL code uses correct, conflict-free pin assignments. ## Core Features & Use Cases - Complete pin allocation tables: Every GPIO port (A–G) annotated as occupied, conditionally available, or free, with jumper-cap notes (P2/P4/P5/P10). - Peripheral quick-lookup and conflict rules: USART/SPI/I2C/SDIO/DCMI/ETH/CAN pin mappings plus explicit warnings such as USB vs CAN on PA11/PA12 and SPI1 bus sharing between W25Q128 and NRF24L01. - Ready-to-use HAL templates: Clock init (168 MHz), GPIO/USART3 setup, EXTI key interrupts, and DMA (USART1 TX on DMA2 Stream7) code that matches the board's actual wiring. - Use Case: Ask the AI to add a USART3-connected sensor module; it will select PB10/PB11, note the P2 jumper must be removed, and generate the AF7 initialization code without touching FSMC or Ethernet pins. ## Quick Start Ask the AI to plan pins and write HAL initialization code for a new peripheral on the ATK-Explorer STM32F407 board using this hardware reference.

Frequently Asked Questions about atk-f407

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose free GPIO pins on the STM32F407 Explorer board?

Consult the pin allocation tables marking each pin as occupied, conditional, or free. Recommended free pins include PB6, PB7, PC7, PD6, PD7, PG6, PG7, and PG15 when the camera, SD card, and NRF24L01 are unused.

How do I add a USART3 serial port on the ATK-Explorer F407?

Remove the P2 jumper cap, then configure PB10/PB11 as AF7 alternate function for USART3 TX/RX. This gives a direct 3.3V MCU-to-MCU connection without level-shifting chips, and the Skill provides the full HAL initialization template.

Which pins are unavailable because of FSMC on the STM32F407 Explorer?

FSMC occupies roughly 40 pins: PD0-PD1, PD4-PD5, PD8-PD15, PE0-PE1, PE7-PE15, PF0-PF5, PF12-PF15, PG0-PG5, and PG10. These drive the LCD and external 1MB SRAM and cannot be reconfigured as GPIO at runtime.

Can USB and CAN be used at the same time on this board?

No. USB DM/DP and CAN1 RX/TX share PA11/PA12, selected by the P5 jumper cap. You must choose one function; removing the jumper frees the pins for general IO use.

Why does my LCD text show white boxes on a black background?

The LCD driver uses the global g_back_color for character backgrounds, defaulting to white. Set g_back_color = 0x0000 before calling lcd_clear() when rendering pages with a black background.

What DMA stream and channel does USART1 TX use on STM32F407?

USART1 TX maps to DMA2 Stream7 Channel 4, and RX maps to DMA2 Stream2 Channel 4. The Skill includes a complete dma_init() template and both polling and interrupt-based completion handling patterns.