STAR Public
  • Space Technologies and Rocketry
  • Quick Links
  • Member Info
    • Membership Requirements
    • Elections
  • Current Projects
    • ALULA: First Leap
      • Project Objectives
      • High-Level System Parameters
      • Propulsion
      • Avionics
      • Airframe
      • Recovery
    • Caldera: IREC 2024
      • Airframe
      • Avionics
      • Airbrakes
      • Recovery
      • Staging
      • KELSE-Y (Payload)
  • Previous Projects
    • CalVistor: IREC 2023
      • Recovery (CalVistor)
      • Airframe (CalVistor)
      • Airbrakes (CalVistor)
      • Payload (CalVistor)
    • ELLIE
      • ELLIE Overview
      • Timeline
      • Physical System
      • Electrical and Software
      • Ongoing Research
    • MINDI
      • Airframe
      • Recovery
    • PinkBeary
      • Altimeter Wiring Update
      • Airframe Diameter
      • Fin Sizing
      • Pyro Bolts
      • Electronics
    • CAS
      • CAS Overview
      • Core Module
      • Radio Module
      • Pyro Module
      • Prop Module
      • CAS Core Revised
      • CAS Radio Revised
    • DAVE
      • Summary of DAVE
      • FAQ's
      • DAVE Blog
    • Bear Force One: IREC 2020/2021
      • Airframe
      • Recovery
        • Parachute Harness
        • Avionics Bay
          • Avionics Bay Glossary
          • Avionics Bay Assembly
        • Black Powder Holders
        • Payload
          • Payload Subsystem Report
          • IRIS
            • Peripherals Diagram
            • Pinout Diagram
            • Power Flow Diagram
          • MFC (2020)
          • Stabilization
          • Structures
          • Cameras
          • Muons - Archived
          • IRIS Legacy - Archived
    • Arctos
    • AirBears
  • Frequently Asked Questions
  • Tutorials
    • Media
      • How to make a decent video
    • RFS Safety Training
    • Submitting Reimbursements
    • Software Setup
      • SolidWorks Installation
      • VMware/Boot Camp setup
      • [In-Progress] SolidWorks PDM Setup
      • ANSYS Installation and Setup
      • Solidworks Assemblies Basics
      • OpenRocket Installation
      • Deprecated Software
        • [deprecated] Getting Started With GrabCAD Workbench
        • [deprecated] Using GrabCAD Workbench in SolidWorks
        • [deprecated] Connecting to CalSTAR's Server
        • [deprecated] Installing and Licensing Converge CFD
    • General Tutorials
      • How to Use SolidWorks Templates
      • [In Progress] Digikey Ordering Guide
      • SolidWorks Training Session
      • SolidWorks Training Tutorials
    • Enery Systems
    • Manufacturing
      • Material Properties and Uses
      • 3D Printing (FDM)
      • Laser Cutting
      • FabLight: Metal Laser Cutter
      • Milling
        • Othermill
        • [Empty] Manual Mills
      • Tolerancing
      • Fasteners
      • Suppliers
      • Composite Materials and Best Practices
      • 8020 Extrusions
    • Airframe
      • Airframe Components
      • Tube Attachement
      • OpenRocket
      • Tube Winding
      • Sizing Fins
      • Attaching Fins
      • Rail Buttons
      • Motor Retention
      • Painting Rockets
    • Avionics
      • KiCad
      • Git
      • Project Management
      • Firmware Development Environment
      • Ground Station Software
      • Intro to Embedded C Programming
      • Schematic and Layout Review
      • Board Design Reference
      • Using Lab Equipment
      • Reflow Oven
      • Soldering
      • Debugging Tips/Testing
      • Ham Radio Basics
      • Component Selection
      • High Temperature Batteries
    • Outreach Activities
      • Straw Rocketry
      • Spacecraft Structures
      • Alka Seltzer Rockets
      • Paper Airplane Launcher
      • Coding Workshop
    • Operations
      • SolidWorks file conventions
      • Style Guidelines
      • LaTeX
    • Payload
    • Propulsion
      • Feed System Types
      • Rocket Propulsion Analysis Tutorial
      • Ignition Devices
      • Creating a Piping and Instrumentation Diagram P&ID
      • Pipes, Fittings, and Components
      • Injectors
    • Recovery
      • Parachute Sizing
      • Avionics Sled
      • [in progress] Altimeters
      • Wire Design and Routing
    • Simulations
      • FEA Simulation Tutorial using ANSYS
      • Getting Started with CONVERGE (2.4)
      • [Empty] Simulation Methods
      • Mathematical Models
      • SimScale
        • SimScale 3D CFD
      • Using ANSYS
      • ANSYS 19.2 2D CFD Tutorial
      • ANSYS 19.2 3D CFD Tutorial
    • Administrative
      • Azure Server
    • Page 1
  • Reference
    • Reference
    • Glossaries
      • Propulsion
      • Common Acronyms and Definitions
    • Brand Guidelines
    • Legal
    • High Power Rocketry (HPR)
      • NASA HPR Reference
      • L1 and L2 Certification Tips & Tricks
      • HPR Kits
      • HPR Design
      • HPR Suppliers
      • STAR HPR Certification
    • Ham Operators
    • X-Winder Update Log
    • Safety
      • Materials
      • Tools
      • Electrical
      • Range Safety
  • Testing
    • Test Forms
    • Damage Report Forms
    • Airframe Tests
    • Recovery Tests
      • Ground Ejection Test
  • Onboarding
    • Intro Projects
      • Airframe
      • Avionics
        • PCB Design Mini-Project
      • Operations
      • Payload
      • Propulsion
      • Outreach
      • Recovery
      • Media
      • Safety
      • Simulations
      • Old Intro Projects
        • Payload 2020 Intro Project
        • Propulsion Fall 2019
        • Avionics 2018
        • Recovery 2018
        • Avionics (new intro project Fall 2021)
  • Project Management
  • History of the Team
    • Early Years
    • Executive History
    • Launch History
      • 2022-12-03 MINDI First Flight
      • 2022-09-17 Pinkbeary First Flight
      • 2019-11-16 AirBears First Flight
      • 2018-03-24 Final flight for Arktos
      • 2017-04-08 Competition Launch, NASA SL 2017
      • 2017-03-25 FRR Re-Re-Flight, NASA SL 2017
      • 2017-03-12 FRR Re-Flight, NASA SL 2017
      • 2017-03-04 FRR Flight, NASA SL 2017
      • 2016-12-04 CDR Subscale Flight, NASA SL 2017
    • Fleet
  • How to use GitBook
Powered by GitBook
On this page
  • Hardware
  • Firmware
Export as PDF
  1. Tutorials
  2. Avionics

Debugging Tips/Testing

How to debug hardware and firmware problems

Hardware

Start with these steps to avoid common mistakes:

  1. Make sure the PCB is powered (either by power supply or by battery). Indicator LEDs are generally helpful for this (if they were placed correctly).

  2. Check for correct DC voltages with a multimeter at all input pins.

  3. Check for continuity on nets. You can also inspect solder joints.

  4. Check regulator outputs with a DC multimeter AND an oscilloscope.

  5. Check input voltage at all ICs with both DC multimeter AND an oscilloscope.

  6. Check for amplitude and frequency of all external oscillators with an oscilloscope.

  7. Check bus signals with an oscilloscope.

After you determine that the PCB is powered correctly and connections are intact, see the firmware debugging to determine more complex problems.

Firmware

Prior to checking firmware, make sure the hardware is functioning as expected using the hardware debugging steps.

Then,

  • Sanity check you can control GPIO pins by flashing a simple program that sets GPIO pins high, and another program that sets GPIO pins low. Check output using a multimeter.

  • Check the fuse bits are what you expect them to be.

  • Check the microcontroller is running at the rate you expect it to using UART. This may be a fuse bit issue as well.

Once you have confirmed basic control of the board and microcontroller, test your firmware by adding status LEDs to show general state of code (particularly useful to check control flow in a state machine). Add additional output at critical points in the code. Forms of output include GPIO pins, radio, UART, and LEDs. This should allow you to see where your program is going wrong.

Modularize the code as much as possible and test modules from simplest to most complex. Reduce complexity in the code.

PreviousSolderingNextHam Radio Basics

Last updated 6 years ago