Skip to content

jishnu-baruah/firmDev

Repository files navigation

FirmDev Logo

FirmDev: No-Code Firmware Development Platform

Project Structure

This repository contains the following main folders:

  • backend: Contains the server-side code.
  • frontend: Contains the client-side code.
  • extension: Contains the Chrome extension.
  • generator: Contains the code for generating firmware.

Getting Started

Prerequisites

Make sure you have the following installed on your system:

  • Node.js and npm
  • Arduino CLI
  • Python

Cloning the Repository

Clone this repository to your local machine:

git clone https://github.com/jishnu-baruah/firmDev.git
cd FirmDev

Setting Up

  1. Install dependencies for the root of the project:
npm install
  1. Install dependencies for the backend:
npm run install-backend
  1. Install dependencies for the frontend:
npm run install-frontend
  1. Install concurrently globally if not already installed:
npm install -g concurrently

If you encounter permission issues, try running:

sudo npm install -g concurrently

Starting the Servers

Start the backend and frontend servers concurrently:

npm start

Setting Up the Chrome Extension

Installing the Host Application (Windows)

  1. Navigate to the extension/host directory:
cd extension/host
  1. Run the installation script:
./install.bat

Adding the Extension to Chrome

  1. Open Chrome and navigate to chrome://extensions/.
  2. Enable "Developer mode" in the top right corner.
  3. Click "Load unpacked" and select the extension/extension-src directory.

Adding Gemini API Key

To use Gemini, you need to add your API key to the .env file in the backend directory.

  1. Create a .env file in the backend directory if it doesn't already exist.
  2. Add the following line to the .env file, replacing API_KEY with your actual API key:
API_KEY=YOUR_GEMINI_API_KEY

Using the Upload Function (under development)

To use the upload function, ensure you have Arduino CLI and Python installed on your system.

  1. Open the web application and select the hardware components and settings.
  2. Generate the firmware code.
  3. Connect your microcontroller device via USB.
  4. Use the Chrome extension to upload the generated firmware directly to the connected device.

Contributing

We welcome contributions to this project. Please follow these steps:

  1. Fork the repository.
  2. Create a new branch:
git checkout -b feature-branch
  1. Make your changes and commit them:
git commit -m "Description of changes"
  1. Push to the branch:
git push origin feature-branch
  1. Create a pull request on GitHub.

License

This project is licensed under the MIT License.

About

A simple and easy lowcode firmware developer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •