Version 30

    element14's The Ben Heck Show

    Join the Ben Heck team every week for amazing hacks! Watch them build and mod community-inspired projects using electronics!

    Back to The Ben Heck Show homepage

    Connect with TBHS
    Featured Bonus Materials
    See All Episodes





    {tabbedtable} Tab LabelTab Content
    Winners Announcement

    Congratulations to Workshopshed and curquhart90 for their STEM inspiring posts!


    You are winners of Ben Heck's Hex Game Prototypes!

    Winning Entries






    A slow counter display and three buttons


    If the number is a multiple of 3 they have to press the Fizz button

    If the number is a multiple of 5 they have to press the Buzz button

    and for multiples of both they press both.


    Failure to press the right buttons before the numbers change would end the game.


    The third button comes into play in hard mode.... It has a picture of X2 on it and you have to press it whenever a square number appears.




    curquhart90 :


    I'm a software engineer that teaches young black kids about engineering. They largely don't get exposed to that when young. I thought about this idea the night before you uploaded your video. That was a weird coincidence. After you video i ordered the parts on Amazon and tried to make it. The tools I had weren't enough so I ended up buying a 3d printer and more parts, (Amazon doesn't do QQ so half of my toggle switches broke). I ended up with this device with 8 toggle switches, 8 white leds, and a arduino lcd but hat. I showed it to my class and they were very interested in it. Hopefully I inspired a few.


    Please ignore the hot glue, I had to make 3 pieces to print because I made it too small at the start. The screen does display the hex numbers but the screen was too bright for my phones camera.




    dwinhold :

    What I have done on numerous times is when I have been asked to make an Arduino digital clock for kids (Mainly my kids friends), I make them a binary clock. This becomes quite a teaching experience explaining to them how to read the clock. Most often they pick up on the concept and learn to read the clock fairly quickly. I explain to them that binary is the basics of computer language. One bit = one binary digit. The clocks are made up of 2 rows of 6 lights (6 bits each) and 1 row of 4 lights (4 bits). With the 4 lights being hours and the 6 lights one being minutes and the other being seconds you can have a 12 hour clock (example below)


    "X" is light "On" and "O" being "Off"


    Hours          XXOO

    Min              OOXOXO

    Sec              XOXXOO


    The time would be 3:20:13


    To explain binary code the digit values are as follows (1, 2, 4, 8, 16, 32). So for the minutes, the values would be as follows (0, 0, 4, 0, 16, 0) then you add them together making it's value 20. When the light is "off" the value is 0, when "on" the value is where it is placed in the sequence. After the initial confusion from the kids they suddenly realize how cool this really is. I also explain to them that there are "Alt" key codes on the computer keyboard for specialty characters. These codes are usually 4 digits long but you can also use binary language to bring up these characters. Example is "Alt" 10110 is "~" or "Alt" 1101 is "M". It is a great teaching opportunity as well as a good way to give them something unique!!



    koudelad :



    In my opinion, one of the best options to learn about digital logic circuits and practice using both binary and hexadecimal math is NAND2Tetris . (Also available as a Coursera course: ). It uses a practical step-by-step approach, which is crucial. In fact it shows the history and evolution of computation, from single logic gates to a 16-bit microcontroller. Every element is explained first and practiced in an exercise a few moments later. A lot of university teachers should learn from this - it makes learning addictive


    colporteur :


    I am in discussions with our community library of offering in a seniors program Understanding Computers Using a Raspberry Pi. I have met many seniors who still retain their technical facilities they developed in their careers. They are looking for a challenge. I am looking at developing a program to introduces setting up a Raspberry Pi using a local computer. Using the Pi the instructor can break a computer down into concepts, hardware, CPU, memory, video, input/output, networks and operating system. I used an MC68000 processor to learn hexidecimal. Now I use Pi's that run on it to teach computers and learn a whole lot in the process.


    msimon16 :


    i run an afterschool programme this september i built an analoge computer/calulator using three potentionmeters and a buzzer after i asked them to remix my project any way they want  a few built  slide rulers, some designed apps for different calculations, and many tried many things ...

    one of the side purpose of my after school programm is to test things out for application in the classroom and the slide ruler hit home with one of the math teacher so for me its a succes and we will be making more slide rulers in the near futur !!!


    moryendil :


    It isn't really interresting and I apologize in advance for my poor english but :


    I had use to use hexadecimal with my middle school friends to cheat at videogames first. Then we had use to learn it in order to cheat in classroom when they were asking me the answers on our evalutations.


    At each time a professor had found the notes they had just made weird faces and let them to us. I'll always remember my history-geography professor hardly trying to decipher what was this silly wrotte during 5 min, also the feeling when my bullier of technology prof hadn't understood them when he was the one in charge to learn us informatic ^^. Such a victory when you are 14 and harrassed by this kind of piece of sh*t...


    Unfortunately, my PC had burn (even if it was underclocked by safety) when I was 15 and I had forgot all what I've learn cause I had need to wait to my 30 to be able to bought one...


    Also my first interrest in STEM had appear before I was able to read and writte. Back to 88 when I was 4 and the free games were a bunch of page of binaries in the middle of the informatic mensual's papers, my grand brother were copying Frog... I was sitting aside him and had asking to play as he (as I had imagine he was playing). His response was "No you can't play untill you learn to read first" which I had reply, "But it's easy ! You just have to copy rounds and sticks !"... I had been fooled, I had less play to Frog than I had pass time to code it hu hu.


    prampec :


    I'm working on a web-based system, where a user can place dates on an axis. After some sets of dates are prepared, one can zoom/pan the axis on his/her wish to explore and understand time scale (numbers).

    This way we can see e.g. the history of humans in contrast with the history of earth.

    This is a very early prototype:


    nihaomike :


    I recently built a solar powered cryptocurrency mining setup, then used it to help a friend who hosts a TV show about art projects that involve 3D printing and/or DIY electronics. That project ties together many of my interests - alternative energy, DIY electronics, switching power supplies, cryptocurrency, and helping others. In the process of building it, I learned how active switches ("ideal diode" or "synchronous rectifier") boost efficiency compared to diodes, how a PV BMS works, how the angle of a solar panel affects its power output, and how cryptocurrency mining works. Because mining cryptocurrency increases the mining difficulty for everyone, I feel that sharing the mining profits is a good way to offset that. After posting on Facebook, I received a lot of interest from other friends regarding cryptocurrency.

    Block diagram

    Post from friend

    With that project, I advanced STEM for not just my friend and I, but also many other of my friends and the viewers of her show.


    satchelfrost :



    In the past I worked on an Arduino based project where I built a spectrophotometer. I posted the build instructions to instructables (Student Spectrophotometer: 7 Steps ) which also explains what the instrument is if you are unfamiliar. I feel that the knowledge I obtained from that one project was probably more than I ever learned in advanced analytical chemistry. It showed me that building things can be an interesting approach that teaches you a lot about physics/chemistry/engineering etc. because it forces you to understand phenomena at a very fundamental level.


    For a future project I would like to do something with flow chemistry (i.e. automation chemistry) something along the lines of this instructable (Precise Peristaltic Pump: 13 Steps ) but with mixing involved. Flow chemistry is a pretty cool idea, if you're interested check out this TED talk ( ).


    In terms of inspiring others, I have to say the number one thing that has inspired me to join a so-called STEM career is having a really good mentor. Having someone to hold you accountable, teach you their skills, and be a positive influence is very motivational--plain and simple. Relating the discussion to the hex game I think it's a brilliant idea. I think the area where it would do the most good is in the classroom setting where an instructor explains how to use it and gives it to the students to learn while having a bit of fun. Having said that if you guys ever decide to make a kit I'd totally buy one.


    gscousins1974 :



    I love watching Ben and the crew working on all the mods and builds, this was the first time I felt I could build it myself, so I got my phone out and got to work on making my own version of this game BUT in Minecraft Pocket Edition,  after much playing around with Redstone and being able to work out how to make some of it work there was still one big part missing, A Binary to Decimal Converter, having no idea as to how this could be done I searched YouTube hopping to find something, many hours later I found a good video explaining the Double Dabble System which to me was a revelation and once I got to grips with it boiling it down to (If >4 then +3) I was on my way to completing my build.


    Now  that it's done I hope to share it with as many people as possible so that they can be as inspired as me to see just what is possible when you put your mind to it.


    Thank you for all the great videos, I look forward to being inspired for years to come.


    dixonselvan :


    Watching the making of the STEM kit was absolutely refreshing for mind and motivates me to do one. I am new to the STEM concept of learning and just googled what really STEM was. It is kind of more like apply and study or study from real, live examples/ models. I wanted these kind of schemes while I was studying. But had only books to fulfill the knowledge thirst.


    What I would love to make would be an Keyboard - LCD display, which will convert the words in my keyboard as I type to 0s and 1s. Adding a green background will make one feel like a professional coder/ hacker. This will be basically an ASCII to binary converter. I am not sure if this is already in market as software, but still have not seen a embedded version.


    For example, letter a (ASCII) from keyboard is 01100001 as binary while capital A will be 01000001.


    STEM - 01010011 01010100 01000101 01001101


    Thank you,

    Dixon Selvan (01000100 01101001 01111000 01101111 01101110 00100000 01010011 01100101 01101100 01110110 01100001 01101110 )


    dougw :



    I worked with my kids to build several school projects back when they were in grade school.

    For example one was a binary counter and display with LEDs, toggle switches and a HEX LED digit. The teacher at the time had no idea what binary was and had never heard of hexadecimal. For her it was just random switches and LEDs.

    Another time we built a speaker from a 6 inch sheet of PVDF film - they were impressed with that one.


    davewl :


    I Like teaching binary with clocks. I found an 11 bit LED clock that I used for my Roman Numeral Neon Clock and got a second kit to make this Mint Tin Binary Clock

    Binary LED Clock

    The time is 5:31 (only a 12 hour clock)



    We're Giving Two Ben Heck Prototypes to someone that tells us what they are doing to inspire STEM Learning!



    In the comments below:  Let us know what you've done or will do to inspire STEM Learning!


    We're giving away two Hex Game prototypes for anyone that is able to let us know how they would inspire STEM learning using numbers.


    If you have an interesting or unique way of generating interest in learning about STEM (Science, Technology, Engineering, Math) let us know.


    We want to hear answers that inspire others to want to learn or excite curiosity in STEM.


    Feel free to discuss a STEM project you've worked on or are working on, a unique perspective on looking at STEM, what you find fascinating about STEM, a "eureka" moment that made you interested in STEM.


    You can be creative with how you choose to answer this. 


    For instance, you could quantify in numbers how something inspired interest or excited curiosity in STEM for others.


    Or, you could share your perspective on how you love patterns in numbers, oddities about numbers, or how you experience higher level understanding through numbers.


    You could talk about how you used technology to inspire interest in something related to STEM. 


    Or you can talk about a build you made or are planning to make in order to educate others about anything that is related to STEM.


    Click Here for Details


    {gallery} My Gallery Title




    In an upcoming episode of the Ben Heck Show, Atari Dragster World Record, Ben will work on a RAM analyzer that makes decisions to see if the longest standing world record for a video game is legit.  Its fitting that it will also be on Ben's most cherished piece of gaming platform (we don't know this for sure but he's always talking about it), The Atari 2600.


    In that episode, you guessed it, you will see Ben using The Hex Game Prototype to convert between hexadecimal and decimal while analyzing a data dump!


    In an Upcoming Episode Ben Will Let Us Know if the Longest Standing Video Game Record is Legit:




    In an upcoming episode Ben applies logic and technology to make sense numbers. He'll work on a RAM Analyzer that uses an MCU to make decisions on how best to play the game. He'll need to do some math first and take out the Hex Game to make some hexidecimal to decimal conversions!


    With the Hex Game you can easily convert between decimal, hexadecimal, and binary.  Its intended to be sold as a kit that can also be used to teach you how to solder.  The term Hex, while technically the number 6 as the term is used in reference to a hex wrench, is almost always used in reference to the number 6 with anything coding related because it comes up so often that its come to be used as shorthand for hexadecimal, as in the hex code you use to represent color with HTML.


    While numbers exist as a construct that uses objective symbols to express exact quantity, our subjective understanding of them forces us to project meaning onto them.  The number 10, the same number of digits on our hands, is the basis for the decimal number system which is how we typically think of numbers.  Decimal, is a base 10 number system, but you could alternately use any base to symbolically represent numbers. Base 2, or binary, is used with computers as 1s and 0s as the on or off state is an approximation of the on or off state of switches and transistors. When you are talking to your machine, you'll be able to process data a lot more easily if you convert those 1s and 0s to a format you can quickly identify.


    In an upcoming episode of the Ben Heck Show, Atari Dragster World Record, Ben will work on a RAM analyzer that makes decisions to see if the longest standing world record for a video game is legit.  Its fitting that it will also be on Ben's most cherished piece of gaming platform (we don't know this for sure but he's always talking about it), The Atari 2600.



    The Making of the Hex Game


    Earlier this year The Ben Heck team began working on three long-term builds with the idea of completing a polished prototype that they could potentially bring to market. The three builds they worked on were a Super Glue Gun (Ben's favorite hand tool), a Logic Board Game, and a Mini Pinball Kit which you chose as the final build on the element14 community via a poll.  The Logic Board Game was intended to be a STEM game so they sought out advice from JT, someone with 20 plus years of experience in the gaming industry, who warned them that making an educational game that was marketable was the hardest type of game to make because you had to not only make it educational, you had to make it fun. As it turned out, his advice was prescient, of the three long term builds they set out to work on at the beginning of the year, the Logic Board Game made the least progress and went through the most iterations.


    Logic Gate Board Game Finale


    Because the team was struggling with their logic board game project they brought in Hari Kalyanaraman, a product specialist from element14, to help them assess the current state of the project and analyze whether it was worth taking to completion. Hari was able to tell them if the number they had in mind for the game matched what market could support. While the the game was originally mechanical, their decision to include a microcontroller and a screen added heavily to the production costs. They were also setting themselves to compete with games on smart phones and tablets.  After his visit, they decided to conclude work on their project, they didn't go with their original idea and it seemed like every time they solved one problem they came up with two new problems.


    Building a Hex Game Prototype

    Their aborted attempt at a logic board game planted the seed for their next big idea around a STEM game, the Hex Game.  The concept is deceptively simple, but incredibly useful. The most exciting part of it was that it could easily be made into a kit that could be used to teach you solder and learn binary or hexadecimal arithmetic. Even while working on the prototype, its already proven to be a useful learning tool, as Felix has used it as an opportunity to coach Karen and Max on their soldering technique.  The most useful STEM related application for the Hex Game is how it challenges the way you think about numbers.  Remember, for an educational game to marketable, it not only needs to be challenging, it also needs to be fun.


    Decimal, Binary, and Hexadecimal





    {tabbedtable} Tab LabelTab Content


    A number system is nothing more than a way to represent numbers. The way most people think about numbers is through the decimal system which uses 10 digits (0,1,2,3,4,5,6,7,8,9).  After 9 the counter resets so to speak and you have the number 10, so on so forth.  This way of thinking about numbers is easy to understand.  After all we have 10 digits on both of our hands and if we were to count something by number it’s a lot easier for us to think about thinks in terms of base 10.  Working in other base systems is not that much different than working in base 10 and an understanding of binary and hexadecimal is fundamental to appreciating how computers and programming works.


    The total number of allowable symbols in a number system, including 0, is the radix or base number system.  The decimal number system is one such number system that is based on ten digits going from 0 through 9.  This is the way most people think about numbers, we can use our 10 digits to count, so its easy for us to think about numbers in a way that allows us to use each one of our fingers to count. Working in other base systems is not that much different than working in base 10 and an understanding of binary and hexadecimal is a necessary to understanding how digital electronics work.






    Binary, The Language of Computers


    One of the primitive data types in computers is called the byte.  A byte is equal to 8 bits. A bit is a single binary digit so an 8 bit binary number might could be: 0 1 0 1 0 1 0 1.  Using only two digits, 0 and 1, a byte with its eight bits can actually represent 2^8 or 256 bit patterns.


    Mathematically, n bits yields 2^n patterns so 8 Bits are in a Byte which gives you 256 patterns.


    Binary/Decimal Chart


    Bit #109876543210
    Decimal Bit Value10245122561286432168421



    An 8-bit CPU allows you to work with 256 bit patterns of data or .  Larger collection of bits are called words: typically 16, 32, or 64.  A 16 bit word contains 2 bytes, a 32 bit word contains 4 bytes, and a 64 bit word contains 8 bytes.


    Most people have spent so much time around computers then, or owned an iPod or a Smartphone, that they take for granted that the following terms are just ways of representing a large number of 1s and 0s:



    Bit2^1One Binary Digit
    Nibble2^24 Bits
    Byte2^38 Bits
    Word2^4/2^5/2^616/32/64 Bits
    Kilobyte (KB)2^101024 Bytes
    Megabytes (MB)2^201024 KB
    Gigabytes (GB)2^301024 MB
    Terabyte (TB)2^401024 GB
    Petabyte (PB)2^501024 TB

    Why Use Hexadecimal?


    Of course base 2 (binary) and base 10 (decimal) aren't the only number systems you can use to represent numbers, you can find a name for almost any base system. If you are dealing with anything STEM related binary and Hexadecimal are commonly used and worth learning about.


    Hexadecimal notation refers to a number system that uses 16 digits, 0-9 plus the letters A-F, to symbolically represent numbers. Its use throughout the web and computer systems to indicate values.  For example, the way you would represent colors using HTML is through hexadecimal notation.


    The hex code for green is #008000 but you could create different shades of green using a different combination of the hexadecimal values such as #00FF00 for lime, #228B22 for forest green, and #808000 for olive green.  Using decimal code these numbers would be represented as rgb you would have lime as rgb (0.255.0), forest green as rgb (34, 139, 34), and olive as rgb(128,128,0).  Its easy to see from this example that its a lot easier to interpret the information used to represent color using 16 digits as opposed to only 10.


    Hexadecimal is commonly used by programmers to describe locations in memory because it can represent every byte (such as eight bits) as two consecutive hexadecimal digits as opposed to the eight digits that would be required by binary numbers and the three digits that would be required with decimal numbers.


    Its much easier to read than binary and not much more difficult than decimal. Converting between hexadecimal and binary is also easy after a little practice as all that is necessary to convert a byte value from hexadecimal to binary is to translate each individual hexadecimal digit into its four-bit binary equivalent.


    Hexadecimal numbers are indicated by the addition of an identifier such as the 0x prefix which shows up in a lot of UNIX and C-based programming language like Arduino. There are a lot of prefixes and suffixes that can be used such as the # prefix that is used in the HTML color example, and the "h" suffix that is used for assembly.



    Early Computers Were Heavy Calculators


    Before transistors revolutionized computing, computers were room-sized machines built with vacuums and relays. While the technology has evolved, computers were still using the came concepts we use today, over a half century ago. They carried out instructions and stored numbers as "bits" (binary digits) in structures known as registers.  Your basic handheld calculator blows those machines away.  Those registers have since shrunk to the something you would need an electron microscope to see.


    The teletype, for instance, used a seven-bit code that we now call ASCII to send alphanumeric data over wires. This is essentially the same bit code, or an expansion on it with something like unicode, that is still used to store data on a PC.  Whereas the ASCII code 7 use to be used to ring a real bell in a distant station, it now makes a beep on your computer's speakers.



    {tabbedtable} Tab LabelTab Content


    Konrad Zuse built the first electro-mechanical binary programmable computer, the Z1, in his parent's living room between 1936 and 1938. It weighed around 2200 lbs, had 20,000 parts, a 22-bit floating value adder and subtracter, some control logic for multiplication (through repeated additions) and division (through repeated subtraction), and 64-word floating memory where word of memory could be written and read by the control unit.


    Programs were stored by means of 8-bit punch tape and a punch reader, the control unit supervised the machine and execution of instruction, the arithmetic unit (had two registers - R1, R2), and all internal operation was done through addition and subtraction.



    The memory consisted of 64 words, each containing 22 bits and formed from 3 blocks. The first block contained 64 words for exponents and signs (8 bits per word) while the other two blocks contained 32 words for the mantissa (14 bits per word). The selection unit interpreted the address for memory and was managed by the control unit.



    The input device was a keyboard that took numbers in decimal form with an exponent which the machine converted to binary normalized floating point representation and transferred to memory. The output device converted the binary floating point number in Register 1 into a decimal number with an exponent and displayed it on a annunciator.


    The Z1 wasn't reliable and it was slow but its important none the less because it was all binary. Zuse was unsatisfied with the reliability of the binary switching metal sheets in the Z1 so he enlisted the help of a friend, Helmut Schreyer, a telecommunications specialist with a lot of experience with relays and switching schemes.


    His second computer, Z2, was considered the first reliable model.  Konrad managed to find 800 old relays from the phone company with the help of his friends.  For the Z2, the arithmetic and control unit was made by relays but kept mechanical memory of the Z1.




    In 1940 the Z2 helped Zuse obtain partial funding for the Z3 which he had begun to build in 1939.  It was ready in the Spring of 1941 and was presented to Scientists in Berlin in May of that year. The Z3 was built completely out of relays (600 for the arithmetic unit, 1400 for the memory, and 400 for the control unit.  It was similar to the Z1 and Z2 in almost all other aspects. Between 1942 and 1943 Korad Zuse designed, for engineering purposes, the first high-level programming language to be designed for computers.

    ENIAC and ABC


    In 1942, John Astanasoff and his assistant Clifford E Berry built and designed the first electronic computer when they completed their work on the Atanasoff-Berry Computer (ABC).  This was the first computer to use capacitors for storage, as in current RAM, and it was capable of performing 30 simultaneous operations. Atanasoff was a professor of Mathematics and Physics whose work required a great deal of mathematical calculation. Later, as a professor at Iowa State, he'd publish proposals for a a computing machine that would be a solution of large systems of linear algebraic equations.  As an electrical engineer, he soon turned to electronics as a solution to problems of accuracy and speed in performing scientific calculations.



    The four ideas he proposed for the machine were that it would use electricity and electronics as the medium for the computer, he would use base-two numbers for computing, he would use condensers for memory and a regenerative or "jogging" process to avoid lapses that might be caused by leakage of power, and would compute by direct logical action and not be enumeration (counting) as used in the existing calculator devices. Astanasoff hired Clifford Berry, after Iowa State approved a grant for $650, and the two began constructing a prototype for the world's first electronic digital computer.



    In 1946, The ENIAC, the Electrical Numerical Integrator and Calculator was built by John P. Eckert, John W. Mauchly, and their associates at the Moore School of Electrical Engineering at the University of Pennsylvania.  It was done for the military as their was a need for code-breaking as well as systems to calculate weapons trajectory and other military functions. It used approximately 18,000 vacuum tubes, occupied 1800 square feet, and consumed 180,000 watts of electrical power.  Punched cards served as the input and output while registers served as address and as quick-access read/write storage. The ENIAC needed to be rewired and switched for each program to be run as executable instructions were created via specified wired and switches that controlled the flow of computations through the machine.

    The UNIVAC

    In 1945, the mathematician John von Neumann demonstrated that it was possible for a computer to have a simple, fixed physical structure and also execute any kind of computation by means of a proper programmed control without changes in hardware.  What this means is you could change programs without having to rewire the system.  The first commercially available computers, a group that included EDVAC and UNIVAC, were the first generation to take advantage of this when they began appearing in 1947.



    For the first time, these computers included random access memory (RAM) for storing parts of the program and the data that is needed quickly. These machines were typically programmed using machine language.  The UNIVAC, Universal Automatic Computer)  was the first true general-purpose computer designed for both alphabetical and numerical uses.




    Transistors Change Everything


    The revolution in electronics that made home computing possible came when of integrated circuit companies such as Motorola, Rockwell, and Zilog, started mass producing 8-bit microprocessors in the early 70s.  The Zilog Z-80 chip was used to make the Tandy (Radio Shack) an already built kit that did not require you to do your own soldering. The Z-80 chip was also used in the Sega Master System when it was released.  The MOS Technology 6502 chip found itself in variations of the basic design in the Atari 2600, Atari 8-bit family, Apple II, Nintendo Entertainment System, and the Commodore 64.


    The reason computers use binary is rooted in the fact that electronic circuits only have 2 states, on and off. Because a computer is made of electronic circuitry, the binary system is a logical choice for sending, receiving, and computing information. The binary system is less cumbersome for computers to use than the 10 digit decimal system. Almost every computer built since the 1950s uses binary. Using binary simplifies computing tasks, making it easier to store and manipulate numbers, since there are only two possibilities, 0 and 1, instead of 10. It allows a simple device such as a switch or a transistor with two distinct states, on and off, to become a number storage unit or a calculator. It is easier and less expensive for computers to deal in binary numbers as opposed to decimal numbers. To understand how binary became the logical choice for storing, transmitting, and manipulating information for computing devices let's consider that the circuitry that makes up the machine.


    The brain of the computer is the computer's processor or CPU.  It's made up of billion transistors, which as mentioned have only two states, on and off. The transistor is a tiny switch that gets activated by electronic signals so it makes sense to use two digits, 1 and 0 to reflect the on and off states of a transistor. When we program a computer we are giving the computer a set of instructions.  Machine code or machine language is a set of instructions executed directly to the computer's central processing unit (CPU).  Numerical machine code is the lowest-level representation of compiled or assembled computer program. While it's possible to write programs directly in machine code, it would be extremely difficult to manage individual bits and to manually calculate numerical addresses and constants. Exceptions would be low level debugging, program patching, and assembly disassembly. The programs that are commonly used today are written in higher-level languages or assembly language. The source code is translated to executable machine code through a translator such as a compiler.  The exception would be interpreted programs where the interpreter itself could be seen as an executor or processor, performing the instructions of machine code, usually directly from executable machine code.




    Modern Bits: 1s and 0s Everywhere





    {tabbedtable} Tab LabelTab Content
    Modern Computers


    32 bit systems utilize data in 32 bit pieces while 64 bit systems utilize data in 64 bit pieces. Generally, the more data that can be processed at once, the faster your system can operate.  A 32-bit processor includes a 32-bit register which can store 2^32 or 4,294,967,296 values.  A 64-bit processor includes a 64-bit register that can store 2^64 or 18,446,744,073,709,551,616 values.  That means a 64-bit register is 4,294,967,296 times larger than a 32-bit register! The CPU register stores memory addresses so that the processor can access data from RAM.


    One bit in the register can reference an individual byte (8 bits) in memory. Theoretically, a 32-bit register can access about 4 gigabytes (4,294,967,296 bytes) of RAM. The number is actually less than that as as a part of the registry is taken up by temporary data.  You don't necessarily need a 64-bit architecture to have a modern computer but a 64 bit system can run more efficiently and allocate memory blocks more efficiently.



    RAM and CPUs aren't the only place around computers that use binary data,  literally everything that is digital is by definition binary. That includes most of the music people listen to, the movies they watch, and the documents that are stored on your computer.  As technology became more advanced and computers could take advantage higher processing power and RAM, a lot of the physical media used to store all those 1s and 0s no longer became necessary.

    Gaming Consoles

    The number of "bits" in a gaming console name, such as the Nintendo 64 or the 16-bit Sega Genesis (aka Mega Drive), refers to the CPU word size. A word is a fixed-sized piece of data handled as a unit by the instruction set or the hardware and processor.


    The Nintendo 64 was hyped as 64-bit to show off its processing power just as the Sega Genesis began the so called 16-bit gaming era because it used a processor capable of 16 bits, the Motorola 68000 . When Sega released its 16-bit console, it was a great way to market the console as well as practical, from a programming and hardware standpoint, because 16-bits what as already being used for games at the arcades.  Before the 16-bit era, you enter a purely 8-bit era of gaming consoles known as the third generation of gaming consoles.


    The market leader of that generation, the Nintendo Entertainment System, used a Ricoh 2A03 8-bit processor (MOS Technology 6502 core) while the Sega Master System used an 8-bit processor called the Zilog Z80.  While the Atari 2600 is considered part of the second generation of gaming consoles, it's also an 8-bit machine as it essentially uses the same CPU as the NES, the Ricoh 2A03 bit processor. In fact, every home gaming console that used a CPU had at least an 8-bit processor so there are a lot of hardware and technical considerations to consider that go well beyond the processor. If you wanted to look for an example of a 4 bit gaming device you'd have to go back to the Microvision.


    Released in 1979, this was a handheld gaming device used an Intel 8021 and later a TMS1100 in the game cartridges. Because there is not a 1:1 correspondence between processor and power, there's actually a lot of overlap between the various generations of gaming consoles and grouping these consoles based on processing power is problematic. Nintendo never made a 32 bit console, opting instead to  jump from the 16-bit Super Nintendo to the 64-bit Nintendo 64. It competed into the 32 bit era and Nintendo took its time getting into the 16 bit era. The Sega Genesis, marketed as a 16 bit machine during the 8 bit era, actually used a 32 bit processor.


    The Motorola 68000 used a 32-bit instruction set, 32-bit registers and a 32-bit internal data bus but was limited to a 16-bit main ALU and a 16 bit wide external data bus. Meanwhile, the 16 bit CPU for the SNES, the Ricoh 5A22, is a 16 bit processor limited to an 8 bit data bus. The Super Nintendo competed into the 32 bit era with the Sony PlayStation and the Sega Saturn before leapfrogging both consoles with the Nintendo 64.


    When you talk about how many bits a processor can handle you'll have to consider how many bits can the data bus handle at a time, the address bus which is how many bits of memory can the processor access, the instruction set which is how many bits of instruction can the processor have, and register size which is how many bits can the processor work with.


    The amount of bits a processor used for a gaming system began getting taken less seriously as a talking point for marketing around the fourth and fifth generation when no one could even agree which systems belonged to which generations.  The Sega Dreamcast used a 128 bit processor whereas the Xbox used a 32-bit processor.

    Digital Media

    RAM and CPUs aren't the only place around computers that use binary data,  literally everything that is digital is by definition binary. That includes most of the music people listen to, the movies they watch, and the documents that are stored on your computer.  As technology became more advanced and computers could take advantage higher processing power and RAM, a lot of the physical media used to store all those 1s and 0s no longer became necessary.



    The more bits you've got, the pattern of 1s and 0s, the more values that become available. Having more 1s and 0s available to you allows you to utilize larger number combinations and represent more things such as more detailed images, audio that exceeds CD quality, and resolution every bit as good as what's stored on physical media.


    Encoders are what allows you to hear, watch, read, and see all the digital audio, video, text, and images on your electronic devices.  So that you can appreciate media across different electronic devices these encoding formats have largely been standardized. Audio files are encoded using AAC, mp3 WAV, AAC, etc; video files are encoded using MPEG4, H264, etc.; text is encoded in character sets such as ASCII and unicode; and images are encoded in files such as BMP, JPEG, and PNG.



    How to Win One of Two Hex Game Prototypes!




    Step 1:  Log in or register on element14, it's easy and free.


    Step 2: Post in the comments section below and tell us:  


    How would you Inspire STEM Learning Using Numbers?


    Videos, pictures and text are all welcomed forms of submission.



    We will accept entries until 3:00pm CDT Dec 18th, 2017 and announce our winner December 28th 2017.