Firmware and Driver Questions

Hello,

I'm a complete noob when it comes to Arduino, but I am a seasoned programmer (which makes these next questions embarrassing for me to ask), but I want to learn.

I'm am just getting my feet wet with the hardware, but I have some terms I wanted to figure out how they fit in this world.

  1. Firmware. Is what we're programming in the arduino IDE the 'firmware'? It would appear so, but I don't see firmware mentioned anywhere. We are programming what the board should do and uploading that into some memory on the board. So, is what we're writing the firmware?

  2. Driver. When do we write the 'driver' for software applications? What is a driver (in Arduino terms) I am not seeing this anywhere either, but maybe we're doing that when we're writing to the serial port.

Sorry for my newbness, I have searched online and am still very confused as these terms bring up many topics and I am just having trouble understanding this.

Thanks in advance!!!

  1. yes you can call it firmware if you like. The arduino term is sketch, you can also call it code.
  2. a driver is normally a bit of code that interfaces two software components, or a software component and a hardware one.
    The driver associated with the arduino is the one in your computer that makes the IDE talk to the USB serial.

I'm a complete noob

I'm not. Some parts are missing.

We are programming what the board should do and uploading that into some memory on the board. So, is what we're writing the firmware?

Firmware typically refers to things like values in EEPROM that are not written to by the sketch. Not exactly hardware, but not software either.

  1. Driver. When do we write the 'driver' for software applications?

You don't. The vendor wrote the drivers - the bits of code that make the PC correctly interact with the Arduino hardware.