Circuit Biscuits

Lesson 8 - Looking Inside The App And Firmware Pupil Notes

The dashboard and firmware are two different programs, but they work together as one system. In this lesson we trace actions from the user interface to commands, transport, firmware logic, GPIO control, and memory on the board.

In This Lesson

Lesson 8 Pupil Notes

Title

Looking Inside The App And Firmware

Big Question

What has to happen between pressing a button in the app and seeing the board do something real?

What This Lesson Is About

The dashboard and firmware are two different programs, but they work together as one system. In this lesson we trace actions from the user interface to commands, transport, firmware logic, GPIO control, and memory on the board.

Key Words

  • app
  • firmware
  • protocol
  • transport
  • response
  • GPIO
  • flash
  • RAM

Before You Start

  • Open the dashboard and log.
  • Be ready to pick one action and trace it.
  • Have the board connected so you can compare the UI with the returned data.

What To Remember

  • the dashboard sends commands
  • transport carries bytes to the board
  • the firmware interprets those commands
  • firmware and HAL code control the real hardware
  • flash stores long-term program data
  • RAM stores working runtime data

What We Did

  • matched UI actions to commands
  • traced a command from browser click to hardware result
  • discussed how GPIO output depends on configured firmware code
  • traced responses back into the app
  • discussed flash and RAM
  • looked at memory regions and sections

One Useful System Chain

A helpful way to picture the system is:

  • button click
  • command string
  • USB or serial transport
  • firmware parser
  • command handler
  • HAL or hardware routine
  • visible result on the board

What To Look For

  • what exact command matches a button press?
  • what data comes back from the firmware?
  • where does the firmware decide what the command means?
  • where does the hardware actually change?
  • what kinds of things belong in flash, and what kinds belong in RAM?

Try This

  • Pick one dashboard action.
  • Identify the command it sends.
  • Watch the response in the log.
  • Explain which part is app work and which part is firmware work.
  • Explain whether that feature seems more likely to cost flash, RAM, or both.

Why It Matters

Systems engineering is not just writing code. It is understanding how different parts of a system share responsibility and fit within real limits.

Check Yourself

  • What is the difference between app and firmware?
  • Why does a browser click not directly change a GPIO pin?
  • What is flash used for?
  • What is RAM used for?
  • Why do shared message formats matter?

Reflection

  • One action I traced:
  • One command I noticed:
  • One place where the firmware decided what to do:
  • One thing that probably uses flash:
  • One thing that probably uses RAM: