Legal

Terms of Service

This policy was last updated on March 5, 2026.

Acceptance of Terms

By accessing or using SparkCode, you agree to be bound by these Terms of Service. If you do not agree to all of these terms, you may not use the service. These terms constitute a legally binding agreement between you and SparkCode.

Description of Service

SparkCode is a browser-based Arduino IDE that allows users to write Arduino sketch code, compile it server-side via arduino-cli, and upload the resulting firmware to a connected Arduino board over Web Serial (STK500 protocol). The service also includes a serial monitor, example sketches, and sketch storage for registered users.

The compile API processes your sketch source code in a temporary directory on our servers. The compiled binary is returned to your browser, and the source code is deleted immediately after compilation. Flashing occurs directly between your browser and your Arduino board — no firmware data passes through our servers during upload.

User Accounts

To access certain features of SparkCode, you must create an account. You are responsible for:

  • Maintaining the confidentiality of your account credentials
  • All activities that occur under your account
  • Notifying us immediately of any unauthorized use of your account
  • Providing accurate and current information during registration

We reserve the right to suspend or terminate accounts that violate these terms or remain inactive for an extended period.

Acceptable Use

You agree not to use SparkCode to:

  • Submit code designed to exploit, damage, or disrupt the compilation service or any connected hardware beyond its intended function
  • Attempt to gain unauthorized access to our servers, systems, or other users' accounts
  • Use the service to compile or distribute malicious firmware or software
  • Abuse the compilation API through excessive automated requests (rate limiting applies)
  • Violate any applicable laws or regulations in your jurisdiction
  • Impersonate another person or entity

Intellectual Property

Your Sketches: You retain full ownership of all Arduino sketch code you write and compile using SparkCode. We claim no intellectual property rights over your source code or compiled output. Your sketches are yours.

Our Service: The SparkCode platform, including its user interface, design, compilation infrastructure, and documentation, is owned by us and protected by applicable intellectual property laws. You may not copy, modify, or distribute any part of the SparkCode platform without our written permission.

Example Sketches: Example sketches bundled with SparkCode are provided for educational purposes and may be freely used, modified, and incorporated into your own projects.

Service Availability

We strive to maintain high availability but do not guarantee uninterrupted access to SparkCode. The service may be temporarily unavailable due to maintenance, updates, or circumstances beyond our control. We are not liable for any loss or damage resulting from service interruptions.

Limitation of Liability

To the maximum extent permitted by law, SparkCode and its operators shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising out of or related to your use of the service.

This includes, but is not limited to, damages resulting from:

  • Compilation errors or unexpected firmware behavior
  • Damage to hardware during the flashing process
  • Loss of sketch data or saved projects
  • Service downtime or interruptions
  • Unauthorized access to your account

You use SparkCodeat your own risk. The service is provided "as is" and "as available" without warranties of any kind.

Termination

We may suspend or terminate your access to SparkCode at any time, with or without cause, and with or without notice. Upon termination, your right to use the service ceases immediately.

You may delete your account at any time through your account settings. Upon account deletion, we will remove your personal data and saved sketches in accordance with our Privacy Policy.

Changes to Terms

We reserve the right to modify these Terms of Service at any time. Material changes will be communicated by updating the "last updated" date at the top of this page. Your continued use of SparkCode after changes take effect constitutes acceptance of the revised terms.

We encourage you to review these terms periodically.

Contact

If you have questions about these Terms of Service, please reach out via the contact information provided on our website.