Example Projects
Workshops
Announcements
Actuators
Connections
Power
Sensors
Traces

Circuits and Code Wireless

Meet the Materials
Conductive Materials
Non-Conductive Materials
Tools
Techniques
Thinking Out Loud
Circuits and Code
  • Arduino Overview
  • Arduino as Bluetooth HID
  • ATtiny: 7-Segment Display
  • ATtiny: Capacitive Sensing
  • ATtiny: Programming
  • ATtiny Serial & Wireless Boards!
  • ATtiny: Soft Serial
  • ATtiny: Sound
  • ATtiny: Soft Fade
  • Bits and Bytes Binary numbers
  • Multiplexed Matrix
  • Controlling EL Panel and EL Wire
  • EL panel/wire inverter hack
  • EMF amplifier
  • Heat Controlling Circuit
  • LED with Light Sensor
  • Lilypad XBee Shield
  • My First Arduino Connection Check
  • pressure matrix code + circuit
  • Pull-up Resistors
  • RGB Colour Fade
  • simple heat circuit
  • Solar Powered Motor Circuit
  • Sound Amplifying Circuits
  • Graphing and Drawing Sensor Values
  • Teensy as HID Device
  • Transistor Switch
  • Volume Detection
  • Visualization: 2x2 Matrix
  • Visualization: Drawing
  • Visualization: Graph
  • Visualization: Pressure Sensor Matrix
  • Visualization: Touchpad
  • Voltage Divider
  • Voltage Divider with Arduino
  • What is Variables?
  • Support the creation of content on this website through PATREON!
  • About
  • E-Textile Events
  • E-Textile Spaces
  • Newsletter
  • Print & Publications
  • E-Textile Shopping

  • SEARCH
    Content by Mika Satomi and Hannah Perner-Wilson
    E-Textile Tailor Shop by KOBAKANT
    The following institutions have funded our research and supported our work:

    Since 2020, Hannah is guest professor of the Spiel&&Objekt Master's program at the University of Performing Arts Ernst Busch in Berlin

    From 2013-2015 Mika was a guest professor at the eLab at Kunsthochschule Berlin-Weissensee

    From July - December 2013 Hannah was a researcher at the UdK's Design Research Lab

    From 2010-2012 Mika was a guest researcher in the Smart Textiles Design Lab at The Swedish School of Textiles

    From 2009 - 2011 Hannah was a graduate student in the MIT Media Lab's High-Low Tech research group led by Leah Buechley


    In 2009 Hannah and Mika were both research fellows at the Distance Lab


    Between 2003 - 2009 Hannah and Mika were both students at Interface Cultures
    We support the Open Source Hardware movement. All our own designs published on this website are released under the Free Cultural Works definition
    Circuits and Code

    Bits and Bytes Binary numbers

    Computers and microcontrollers internally represent numbers (and all the data) with 0 and 1. This is because these chips are made of a lot of switches that has two states ON (1) and OFF (0). If you look at the historic photos of early computers you will see a lot of switches and operators manually switching them On and Off.

    We are used to count numbers like 0, 1,2 ….8, 9, 10, 11. This is called decimal system. The way computers count with 0 and 1 is called binary system. To understand how computers/microcontrollers work, it is useful to understand how they “think”.

    Decimal to Binary

    Here is how binary counting works. Each bean is a digit, that has two states, ON (1) and OFF (0).

    When there is one bean, it can express only 0 and 1.

    When you add second bean, it can now express 2 and 3, four numbers in total.

    with 3 beans, you can count 4,5…7. Eight numbers.

    and with 4 beans, you can count …. up to 15, that is total of sixteen numbers.

    In binary counting, you can express the amount of numbers as 2 to the power of “Number of beans (digits)”. For example, if you use 4 digits, you can express 2 to the power of 4 = 16. With 4 digits, you can count up 0 -15.

    We often hear the word “bit” and “byte” in computer terminologies. A bit is same as a bean in the above example. 1 digit in binary, one switch that can hold ON or OFF.

    8bits makes another unit, byte. 1 byte contains 8 bits, and it can express 2 to the power of 8 = 256 numbers, from 0 to 255.

    In Arudino microcontrollers, Analog signals coming into Analog input pins are expressed with 10 bits. It can express numbers 2 to the power of 10 = 1024 numbers. That is why the range of AnalogRead() is 0-1023.

    Some other microcontroller systems may use more bits to convert analog signals to digital data. In this case the data ranges bigger scale to express voltage between 0V-5V. When you have bigger range, it means it has finer resolution. This is sometimes useful when you have sensors that has very small change and you have to amplify the data. For example your reading moves only from 2V to 2.5V. In 10bit ADC, your reading range changes only about 100, while in 12 bit scale it will range about 400.



    Leave a comment