FFRESW is the embedded software for the Farnsworth Fusion Reactor project.
It is designed for the Arduino MEGA2560 platform and provides modular control, data acquisition, and communication for the reactor system.
FFRESW/
├── .github/ # GitHub workflows and CI
├── docs/ # Documentation (Doxygen, PlantUML, etc.)
├── eSW/ # Embedded software source code
│ ├── FFRESW/ # Main firmware and project files
│ ├── libraries/ # Core and custom Arduino libraries
│ └── utils/ # Utility scripts and tools
├── external/ # External dependencies (submodules)
├── testing/ # Python and shell scripts for testing
├── LICENSE
├── README.md
- Arduino IDE: Version 1.8.13 recommended
- Sloeber IDE: For advanced development (Download)
- Python 3: For running test scripts in
testing/ - Git: For cloning and managing submodules
-
Clone the repository
git clone https://github.com/mendax0110/FFRESW.git cd FFRESW -
Initialize submodules
git submodule update --init --recursive
-
Prepare Memory Usage Library
- On Windows, run:
cd utils copy_ErriezMemoryUsage.bat - On Linux, ensure the
ErriezMemoryUsagelibrary is available inexternal/.
- On Windows, run:
-
Install Required Arduino Libraries
- In Arduino IDE:
Sketch > Include Library > Manage Libraries - Install:
- FreeRTOS
- frt
- ArduinoJson
- In Arduino IDE:
-
IDE and Compiler Settings
- See
docs/pictures/image-1.pnganddocs/pictures/image.pngfor recommended settings.
- See
-
Error: MemoryFree
- If you encounter a "MemoryFree" error, ensure the
ErriezMemoryUsagelibrary is correctly added to your Arduino libraries.
- If you encounter a "MemoryFree" error, ensure the
- Main Firmware:
Located ineSW/FFRESW/ - Libraries:
Custom and third-party libraries ineSW/libraries/ - Documentation:
- Testing:
Python and shell scripts intesting/
- Doxygen:
Run Doxygen indocs/doxygen/to generate code documentation. - Architecture Diagrams:
Seedocs/PlantUML/Library_Architecture.txtanddocs/PlantUML/Github_Structure.txt.
This project is licensed under the terms of the LICENSE file.