Canine Rocket Technologies WIki
YouTubeTwitter
  • 🐺Canine Defense Technologies Wiki
    • Wiki Index
    • About Canine Defense Tech
    • Our Lab
    • Canine Rocket Tech Organizational Structure
    • Wiki Contributors & Info
  • Resource Library
    • 🔧Manufacturing & Fabrication
      • Laser Cutting
        • Laser Settings
      • 3D Printing
        • Material Library
        • Print Settings
        • 3D Printing Tolerance Guide
        • Resin Tank Drainer
      • Composite Layups
      • Fasteners
      • CNC Machining
        • 4040 Pro Dust Boot
        • CNC Settings
    • ⚙️Software & Electronics
      • Electronics Basics
      • Microcontrollers
      • Single Board Computers
      • PCBs
      • Pinouts Book
      • DIY Lithium Batteries
      • Software Development Tools
      • Getting Started with Programming on an Arduino
      • Graphic Design & Video Production
  • 📘Testing & Documentation
    • Documentation & Organization Cheatsheet
    • Project Stats Template
    • K-9 Diagram Template
    • Internal Dev Log Template
    • Readme Creator
    • April Tags
  • 🖥️Design & Simulation
    • Computern Aided Design
    • CalcTool
    • eCalc
    • Open Rocket Simulator
    • XFLRR5
    • CloudRF
    • Radio/Optic Line of Sight Tools
  • 💡Research Resources
    • Parachute Design
    • Thermal & Electro-Optics
    • Night Vision Basics
  • 📑Open Development Platforms
    • VESC
    • Meshtastic
    • Ardupilot
    • Open HD
  • 🚚Vendors & Supply Chain
    • Electronics Component
      • RPI Locator
      • Octopart
    • PCB Fabrication
    • Laser and CNC Cutting
    • 3D Printing Services
    • Hardware Components
    • Drone Components
    • Composites
    • Li Ion Batteries
  • Projects
    • UAV Systems
      • Valor sUAS
      • K-9 Drone Battery Standard
        • Jx-9 Connector Standard
        • Rugged Battery Charger
  • Tactical Systems
    • K-TAC RTE-1
      • Assembly Instructions
  • Rocketry Systems
    • Model Rocket Landing Legs
    • WOOF Launch Computer
      • Assembly Instructions
    • K-9 TVC V8
    • K-9 TVC Hopper
    • K-9 TVC Mega
    • K-9 TVC Gen 2
    • Model Rocket GCS
  • Lab Equipment Projects
    • Lab Dashboard (ADSB)
      • How to Setup
Powered by GitBook
On this page
  • Introduction
  • Integrated Development Environments (IDEs)
  • Arduino IDE
  • Arduino Web Editor
  • Visual Studio Code
  • Languages
  • C++
  • Python
  • Other Software Tools
  • PlatformIO

Was this helpful?

  1. Resource Library
  2. Software & Electronics

Software Development Tools

PreviousDIY Lithium BatteriesNextGetting Started with Programming on an Arduino

Last updated 2 years ago

Was this helpful?

Introduction

Software is how our projects come alive. Although our primary focus is not software, we still use a variety of open-source tools to manage the software onboard our projects. Below are software packages and tools that we have used to write, test, debug, and load software for our projects.

Integrated Development Environments (IDEs)

Arduino IDE

Anything microcontroller-related can usually be done with the Arduino Integrated Development Environment (IDE). Although it is recommended for smaller projects, it comes with many software examples and tools to help beginners and professionals alike to write, test, debug, and load software onto microcontrollers. Tools such as the Serial Monitor and Serial Plotter are crucial for testing.

Arduino Web Editor

This is just like the Arduino IDE that can be downloaded and installed, except it is run in a web browser. Although limited, it is still very powerful and useful for many applications, such as on-the-go projects or for learning beginners. In fact, it has helped us with our own projects while we were away from the lab.

Visual Studio Code

Amid its flaws, Visual Studio Code is a (somewhat) free and open-source Integrated Development Environment (IDE). It can handle dozens of languages, configurations, and plugins. Languages such as Python and C++ can be analyzed and ran on the fly. Plugins such as PlatformIO can build, test, and debug microcontroller code all from the comfort of Visual Studio Code.

Languages

C++

C++ is the main choice for our software projects, mainly for its stability and robust nature. Although it has a steep learning curve, C++ is a very powerful language that encompasses other useful features. It is very commonly used for microcontrollers and is, in fact, the language in which the Arduino IDE uses.

Python

Although not used to run on microcontrollers (most of the time), Python is a great tool to automate tasks and perform calculations. Many simulators and other free and open-source projects are written using Python. It especially pairs well with smaller (but not microcontroller level) computers, such as the Raspberry Pi.

Other Software Tools

PlatformIO

PlatformIO is kind of like the Arduino IDE, but it is more professionaly-driven and has more complicated but configurable aspects to it. It can be installed with Visual Studio Code (another Integrated Development Environment, described above) or it can be installed for the command-line. Either way, it's a great tool for professionals and large/complicated projects.

⚙️
Software
Page cover image
Using the Arduino Web Editor | Arduino Documentation
Learn C++ Programming
Download PythonPython.org
PlatformIO Home — PlatformIO v6.1 documentation
Logo
Logo
Logo
Logo