Week 10-13: Embedded Programming

Task: You remember when you had to DESIGN A PCB for week 6? “design a pcb for an input or an output” now it is time to fabricate it ( finish the design - mill it - solder it)

After the Easter holidays, we continued with the topics of input and output devices My biggest take aways from the input and output classes is that input devices are a way of sensing. Since this was a new topic to me, I tried to do intensive note taking to understand the world of sensors

Why do we use sensors?

We use sensors to monitor and control environments. Anything that effects the system, can be captured as data. A physical phenomena is always translated into voltage. We measure and transcribe voltage from physical phenomena into 1s and 0s into data. The two types of sensors I learnt about were:

A one dimensional sensor, being A sensor giving 1 information such as temperature, showing a time stamp Capacitative sensor- using touching as a way to make music. We can use low cost sensors to make high impact sensors.

Some notes when designing input and output devices:

  • Think about where is the energy coming from, where is the power coming from, who is providing the sensor
  • Think about where the data is stored, does the power com from batteries etc
  • Think about computing power, if you are using video. Is the data stored in a SD card? If you want to store data, you have to think where data is going to go
  • Think about if your sensor and your Arduino both work at 5V. Analogue: ADC, Digital:Level shifter, always.
  • Simpler is better!
  • Look for existing Solutions!
  • or the assignment, I was a bit lost on how to make my PCB, designed in week 6 into a functioning artefact. In that case, I decided to make a very simple design to understand the fundamentals. On the previous project, I worked on KiCAD to make a PCB that has a button to light up an LED. For this assignment I designed an attachment to the Arduino Feather, which is a button (Input devices) that triggers LED light to flash.

    Milling the PCB

    To start off, I exported the KiCAD schematic into Illustrator, separated the layers for the milling process. I followed and read the milling process from link text here.

    After setting up the file on MOD here is the process of milling the PCB:

  • Insert the copper board carefully, and tape it with double sided tape
  • Once the board is inserted, set the origin making sure it touches the material
  • Make sure you have 1000pp for precision
  • Find zero for x, y, and z. Set settings on the computer to mill then send to Modela.
  • Mill the PCB
  • Remove board, cut out if desired, cut apart any areas that didn’t make it.
  • After its done milling, move the machine in the Z direction and remove the board.
  • Finally, solder the components to your freshly made board!
  • Input Task

    As an input I decided to have a button that triggers an LED to switch on. After milling, the next task is to solder the resistor, button and pins. The code for Arduino was a basic button configuration as follows.

    Conclusion and struggles:

    Download the Arduino file here