-3

I want to create my own little piece of hardware, (not sure what yet, but that's where the coding part comes in..) and I'm stuck at this little question.

I have the parts, but not the means.

Doc Brown
  • 199,015
  • 33
  • 367
  • 565
Momoro
  • 113
  • 4
  • 2
    Does this answer your question? [How Do Computers Work?](https://softwareengineering.stackexchange.com/questions/81624/how-do-computers-work) – gnat Nov 13 '20 at 05:15
  • 3
    Burn software onto chip. Solder chip to board. ??? Profit. – candied_orange Nov 13 '20 at 05:21
  • 1
    It’s also called [prom writing](https://en.m.wikipedia.org/wiki/Programmer_(hardware)) – candied_orange Nov 13 '20 at 05:25
  • If your goal is to create hardware, (1) you are asking the wrong questions. start with a tutorial, buy an Arduino and (2) there is an https://electronics.stackexchange.com/ – user253751 Nov 13 '20 at 19:39
  • @gnat No, that's not what I'm asking, but thanks anyway! I'm asking how boot files and/or other types of files are put onto a motherboard, e.x. How was Windows 7 put onto the main motherboard before the desktop was sold by Best Buy? (Just an example.) – Momoro Nov 17 '20 at 04:08
  • 1
    @Momoro: Don't take this the wrong way but the last question you asked in comment strongly suggests you need to go back to the basics. Windows 7 was not put onto a motherboard. – Flater Dec 15 '22 at 22:57
  • @Flater in the time since I wrote this question 2 years ago, I've gained extensive knowledge of computers and software engineering, and I've already slapped myself across the face when looking back at this question. I was a novice when I wrote this question, and I didn't really know what I was talking about. – Momoro Jan 10 '23 at 07:11

1 Answers1

4

The most common way for hobbyist-level hardware is to get an arduino. These come in many different sizes and have a USB port that works to put code on the board, exchange data with the board at runtime (if you want), and acts as a power supply for the chip (if you want).

I really wouldn't recommend doing something more difficult than an arduino until you have learned the arduino. They are cheap, and even for more complicated boards it's useful to do prototyping with an arduino first.

Professional-level boards usually have some sort of JTAG-style contacts that let you program it the first time, then after that it's usually programmed "in-band", i.e. you use the computer to change its own firmware, or you download a router's firmware over its own network and program it in place.

Externally-programmed ROMs fell out of favor a long time ago, except for really high-volume, low margin items like maybe toys. It's just too difficult to change, so you pretty much only see it in applications that you're okay with scrapping instead of changing, or very small parts of a system like a stage one bootloader.

Karl Bielefeldt
  • 146,727
  • 38
  • 279
  • 479