Getting Started with HardFOC ESP-IDF Project Tools
Welcome to the HardFOC ESP-IDF Project Tools! This guide will help you integrate these development scripts into your existing ESP-IDF project for enhanced multi-application build management and development workflows.
π Important: These tools are designed to be integrated into your ESP-IDF project, not used as standalone applications.
π Integration Methods
Choose the best method to integrate these tools into your ESP-IDF project:
Method 1: Submodule Integration (Recommended)
Best for: Version-controlled projects with team collaboration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Navigate to your ESP-IDF project
cd your-esp-idf-project
# Add tools as submodule
git submodule add https://github.com/n3b3x/hf-espidf-project-tools.git scripts
# Your project structure:
# your-esp-idf-project/
# βββ CMakeLists.txt
# βββ app_config.yml
# βββ main/
# βββ scripts/ # Project tools
# βββ build_app.sh
# βββ flash_app.sh
# Start building
./scripts/build_app.sh your_app Release
Method 2: Direct Clone Integration
Best for: Quick setup and experimentation
1
2
3
4
5
6
7
8
# Navigate to your ESP-IDF project
cd your-esp-idf-project
# Clone tools directly
git clone https://github.com/n3b3x/hf-espidf-project-tools.git scripts
# Start building
./scripts/build_app.sh your_app Release
Method 3: Shared Tools Directory
Best for: Multiple projects using the same tools
1
2
3
4
5
6
7
8
# Create shared tools directory
mkdir -p ~/shared-esp32-tools
cd ~/shared-esp32-tools
git clone https://github.com/n3b3x/hf-espidf-project-tools.git .
# In each ESP-IDF project, use --project-path
cd your-esp-idf-project
~/shared-esp32-tools/build_app.sh --project-path . your_app Release
Method 4: Automated Project Setup
Best for: Creating new ESP-IDF projects with tools pre-integrated
1
2
3
4
5
6
7
8
9
10
11
12
13
# Clone the tools repository
git clone https://github.com/n3b3x/hf-espidf-project-tools.git
cd hf-espidf-project-tools
# Create a complete ESP-IDF project with tools
./setup_basic.sh my-awesome-project
# Navigate to your new project
cd my-awesome-project
# Build and flash
./scripts/build_app.sh main_app Release
./scripts/flash_app.sh flash main_app Release
Thatβs it! You now have a complete ESP-IDF project with:
- β ESP-IDF installed and configured
- β Build system set up
- β
app_config.yml
with basic app - β CMakeLists.txt files
- β
Basic
main.cpp
template - β All development scripts ready to use
Option 2: Add to Existing Project
If you already have an ESP-IDF project:
1
2
3
4
5
6
7
8
9
# Navigate to your ESP-IDF project
cd your-esp-idf-project
# Add tools as submodule
git submodule add https://github.com/n3b3x/hf-espidf-project-tools.git scripts
# Create app_config.yml (see Configuration guide)
# Set up CMakeLists.txt files
# Start building!
π Prerequisites
Before you begin, ensure you have:
- Git installed on your system
- Internet connection for downloading ESP-IDF
- Write permissions in your working directory
- Basic understanding of ESP-IDF development (for existing projects)
π οΈ What You Get
Complete Project Structure
1
2
3
4
5
6
7
8
9
10
11
my-esp-idf-project/
βββ main/
β βββ main.cpp # Your application code
β βββ CMakeLists.txt # Build configuration
βββ scripts/ # Development tools
β βββ build_app.sh # Build applications
β βββ flash_app.sh # Flash to ESP32
β βββ ... # Other utilities
βββ app_config.yml # App configuration
βββ CMakeLists.txt # Project configuration
βββ README.md # Project documentation
Ready-to-Use Commands
- Build apps:
./scripts/build_app.sh <app_type> <build_type>
- Flash to ESP32:
./scripts/flash_app.sh flash <app_type> <build_type>
- Monitor output:
./scripts/flash_app.sh monitor
- List apps:
./scripts/build_app.sh list
π― Next Steps
Once you have a project set up:
- Project Setup - Learn about automated project creation
- Build System - Master the build system
- Configuration - Configure your applications
- CI Pipeline - Set up automated builds
- Advanced Topics - Explore advanced features
π Need Help?
- Troubleshooting - Common issues and solutions
- Examples - Real-world usage examples
- GitHub Issues - Report bugs or request features
π― Whatβs Next?
- Customize workflows for your specific needs
- Add security scanning to your pipeline
- Set up automated documentation updates
- Configure multi-version testing across ESP-IDF versions
Ready to dive deeper? Check out our Build System Documentation or explore Advanced Topics for power users.