SlideShare a Scribd company logo
1 of 32
Download to read offline
Encapsulation Experiment
Design Report
Rev. 12 — March 21, 2016 Biomechatronics Group
Document information
Info Content
Keywords Encapsulation, Arduino, Schematics, PCB, Layout, Firmware,
CSV, DAC, Mux
Abstract TBD
Author Valérian Geny
Revision history
Rev Date Description
Draft 1 2016 February 15 Document creation
Rev 1.0 2016 February 20 First prototype
Rev 1.1
draft 1
2016 February 24 Second prototype
Rev 2 2016 March 6 Added RTC Clock
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 2 of 32
Table of Content
Table of Content.............................................................................................................................................2
Table of Figures .............................................................................................................................................3
1. Document Purpose...........................................................................................................................4
2. Glossary ............................................................................................................................................5
3. Requirements: ..................................................................................................................................6
3.1 Purpose...........................................................................................................................................6
3.2 Components Under Test .................................................................................................................6
3.3 Actors and Use Cases.....................................................................................................................6
3.4 Requirements..................................................................................................................................7
4. Components......................................................................................................................................8
4.1 Microcontroller: Arduino Uno...........................................................................................................8
4.2 Logging Module: SparkFun microSD Shield....................................................................................8
4.3 Real Time Clock (RTC): DS1307.....................................................................................................9
4.4 Digital to Analog Converter (DAC): MCP4725.................................................................................9
4.5 Multiplexer: CD74HC4067.............................................................................................................11
5. Schematics and Layout..................................................................................................................12
5.1 Functional Bloc Diagram ...............................................................................................................12
5.2 Microcontroller Pin Allocation ........................................................................................................12
5.2.1 Pin usage ......................................................................................................................................12
5.2.2 Pin Mapping ..................................................................................................................................12
5.3 Schematics....................................................................................................................................13
5.3.1 Board.............................................................................................................................................14
5.3.2 Components Under Test (CUT).....................................................................................................15
5.4 PCB and Layout ............................................................................................................................16
5.5 Bill of Material................................................................................................................................18
5.6 Realization.....................................................................................................................................18
5.6.1 Prototype V1.0...............................................................................................................................18
5.6.2 Prototype V1.1...............................................................................................................................18
5.6.3 Components Under Test (CUT).....................................................................................................18
6. Firmware..........................................................................................................................................20
6.1 Arduino Integrated Development Environment (IDE).....................................................................20
6.2 Pin Mapping ..................................................................................................................................20
6.3 Libraries.........................................................................................................................................20
6.4 Procedures and Functions.............................................................................................................21
6.4.1 Setup / Loop..................................................................................................................................21
6.4.2 RunDacTest ..................................................................................................................................21
6.4.3 RunMuxTest ..................................................................................................................................21
6.4.4 Leds...............................................................................................................................................22
6.5 Reset Counter ...............................................................................................................................22
6.6 Real Time Clock ............................................................................................................................22
7. Log files...........................................................................................................................................23
7.1 Formatting .....................................................................................................................................23
7.2 Logged data ..................................................................................................................................23
8. Bibliography....................................................................................................................................26
9. Annexes...........................................................................................................................................27
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 3 of 32
Table of Figures
Figure 1: Requirement map representation......................................................................................................7
Figure 2: Arduino Uno board (from SparkFun).................................................................................................8
Figure 3: Sparkfun Micro SD Shield.................................................................................................................9
Figure 4: DS1307 Real Time Clock breakout board.........................................................................................9
Figure 5: SparkFun I2C DAC Breakout - MCP4725.......................................................................................10
Figure 6: SparkFun Analog/Digital MUX Breakout - CD74HC4067................................................................11
Figure 7: Board Schematic.............................................................................................................................14
Figure 8: DAC Wiring .....................................................................................................................................15
Figure 9: MUX Wiring.....................................................................................................................................16
Figure 10: 3D Model (left: Top, right: Bottom)...............................................................................................16
Figure 11: Layout (left: Top, right: Bottom).....................................................................................................17
Figure 12: Assembling Instructions (left: Top, right: Bottom)..........................................................................17
Figure 13: First prototype...............................................................................................................................18
Figure 14: Encapsulated DAC (Sparkfun breakout board).............................................................................19
Figure 15: Arduino IDE screen capture..........................................................................................................20
Figure 16: CSV Log file opened with Excel (Screen capture) ........................................................................23
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 4 of 32
1. 0BDocument Purpose
This document describes the system performing the Encapsulation Experiment. Its main purpose is
to facilitate the comprehension of the system and to allow the reader to understand the technical
environment. It also intends to be a technical reference document for any person who would be in
charge of maintaining, improving, or extending this experiment.
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 5 of 32
2. 1BGlossary
ADC: Analog to Digital Converter
CSV: Comma Separated Values
CUT: Chip Under Test
DAC: Digital to Analog Converter
EEPROM: Electrically Erasable Programmable Read-Only Memory
FW: Firmware
GND: Ground
HW: Hardware
I/O: Input / Output
I2C: Inter-Integrated Circuit
IDE: Integrated Development Environment
LED: Light-Emitting Diode
MIT: Massachusetts Institute of Technology
MUX: MUltipleXeur
PCB: Printed Circuit Board
PWM: Pulse Width Modulation
RTC: Real Time Clock
SCL: Serial Clock Line
SD: Secure Digital
SDA: Serial Data Line
TBD: To Be Defined
TWI: Two Wire Interface
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 6 of 32
3. 2BRequirements:
3.1 9BPurpose
This experiment intends to determine the life expectancy of different encapsulation methods.
Components Under Test (CUT) will be immerged in a saline solution for certain time durations (from
months up to years). The system shall check daily if the CUTs are still functioning, and to retrieve
metrics on the changes due to aging
3.2 10BComponents Under Test
This experiment intends to test the following components:
• Digital to Analog Converter (DAC): MCP4725
• Multiplexer (MUX): CD74HC4067
More components might be added in future experiments
3.3 11BActors and Use Cases
TBD
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 7 of 32
3.4 12BRequirements
Figure 1: Requirement map representation
Test Component life
expectancy
Test
Encapsulation
Methods
Mesure time
Test each
component daily Generate
commands or input
signal
Retrive Analog
output signal
Compare with
expected value
Reduce cost and
complexity
Compute a status
and some metrics
A board should test
more than one
component
PCB shall be
scalable
Test Component
Use Arduino boards
Display and log
Results
Use Leds to
provide a Status
Log data on a SD
Card
Provide a tool for
deep analyse
Recover from power
shutdown
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 8 of 32
4. 3BComponents
This section provides a brief description of the components/PCB used by the system. For more
details, please refer to the links provided.
4.1 13BMicrocontroller: Arduino Uno
 https://www.arduino.cc/en/Main/ArduinoBoardUno
 https://www.sparkfun.com/products/11021
Figure 2: Arduino Uno board (from SparkFun)
Features:
• ATmega328 microcontroller
• Input voltage - 7-12V
• 14 Digital I/O Pins (6 PWM outputs)
• 6 Analog Inputs
• 32k Flash Memory
• 16Mhz Clock Speed
4.2 14BLogging Module: SparkFun microSD Shield
 https://www.sparkfun.com/products/12761
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 9 of 32
Figure 3: Sparkfun Micro SD Shield
4.3 15BReal Time Clock (RTC): DS1307
 https://www.adafruit.com/product/264
Figure 4: DS1307 Real Time Clock breakout board
SQW pin is not used and doesn’t have to be connected.
Features:
• Two wire I2C interface (0x68 Address)
• Hour : Minutes : Seconds AM/PM Day Month, Date - Year
• Leap year compensation
• Accurate calendar up to year 2100
• Battery backup included
• 1Hz output pin
• 56 Bytes of Non-volatile memory available to user
4.4 16BDigital to Analog Converter (DAC): MCP4725
 https://www.sparkfun.com/products/12918
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 10 of 32
Figure 5: SparkFun I2C DAC Breakout - MCP4725
Features:
• 12-bit resolution
• I2C Interface (Standard, Fast, and High-Speed supported)
• Small package
• 2.7V to 5.5V supply
• Internal EEPROM to store settings
Schematics
The ATmega328 microcontroller uses the I2C (also called TWI) to send controls to MCP 4725
DAC. Consequently, each DAC must have a different address.
I2C Addresses (solder jumper):
• 0x60 to 0x61 (SparkFun)
• 0x62 to 0x63 (AdaFruit)
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 11 of 32
4.5 17BMultiplexer: CD74HC4067
 http://www.win.tue.nl/pinpasjc/docs/apis/offcard/com/ibm/jc/tools/JCShell.html
Figure 6: SparkFun Analog/Digital MUX Breakout - CD74HC4067
Features
• 16 channels
• 2V to 6V operation
• “On” resistance: 70 Ohms @ 4.5V
• 6ns break-before-make @ 4.5V
Schematics
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 12 of 32
5. 4BSchematics and Layout
5.1 18BFunctional Bloc Diagram
TBD
5.2 19BMicrocontroller Pin Allocation
5.2.1 32BPin usage
Required pin
per DAC
Required pin per
MUX
LED SD Card Serial
Com
Total
Available
on
Arduino
Uno
Analog
Pins
2 (I2C) +
nDac *1
nMux *1 0 0 0 6
Digital Pins 0 4 (SelectChanel)
+ 1 *nMux
(Optional Enable)
nLED*1 4 2 14
Exemple: 2 MUX + 2 DACS + 4 LEDs
• Analog Pins = ((2 * I2C) + 2 * nDac)+ (2 * nMux) = 6
• Digital Pins = (0 * nDac) + (4 + 0 * nMux) + (1* nLED)+ (4) + (2) = 14
5.2.2 33BPin Mapping
Analog Pins 2 MUX + 2DAC 4 DACS 6 MUX 3 MUX + 1 DAC
A0 MUX 0 (SIG) DAC 0 (Analog) MUX 0 (SIG) MUX 0 (SIG)
A1 MUX 1 (SIG) DAC 1 (Analog) MUX 1 (SIG) MUX 1 (SIG)
A2 DAC 0 (Analog) DAC 2 (Analog) MUX 2 (SIG) MUX 2 (SIG)
A3 DAC 1 (Analog) DAC 3 (Analog) MUX 3 (SIG) DAC 0 (Analog)
A4 /SDA I2C (SDA) I2C (SDA) MUX 4 (SIG) I2C (SDA)
A5 / SCL I2C (SCL) I2C (SCL) MUX 5 (SIG) I2C (SCL)
Digital Pins 2 MUX + 2DAC 4 DACS 6 MUX 3 MUX + 1 DAC
D0-D1 Serial Communication with the Development PC (TX/RX)
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 13 of 32
D2 – D5 Status LEDs
D6-D7 S0 – S1 NA S0 – S1 S0 – S1
D8 SD Card Data Logger (SS )
D9-D10 S2 – S3 NA S2 – S3 S2 – S3
D11-D13 SD Card Data Logger (MOSI, MISO and SCK )
5.3 20BSchematics
The schematic and the board layout were designed with CadSoft Eagle.
 http://www.cadsoftusa.com/
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 14 of 32
5.3.1 34BBoard
Figure 7: Board Schematic
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 15 of 32
5.3.2 35BComponents Under Test (CUT)
Figure 8: DAC Wiring
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 16 of 32
Figure 9: MUX Wiring
5.4 21BPCB and Layout
Figure 10: 3D Model (left: Top, right: Bottom)
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 17 of 32
Figure 11: Layout (left: Top, right: Bottom)
Figure 12: Assembling Instructions (left: Top, right: Bottom)
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 18 of 32
5.5 22BBill of Material
TBD
5.6 23BRealization
5.6.1 36BPrototype V1.0
Prototype V1.0 is designed, wired and programmed to work with the following components:
• MUX_0 (on A0)
• MUX_1 (on A1)
• DAC_2 (on A2)
• DAC_3 (on A3)
• I2C: SCL (on A4)
• I2C: SDA (on A5)
For prototype V1.1 and under, the RTC is mounted on the Sparkfun Micro SD Shield prototyping
area. The 4 pins GND, 5V, SDA, SCL are respectively connected to the Micro SD Shield pins
GND, 5V, A4 and A5.
Unrouted wires on the PCB might be needed for specific configurations
Figure 13: First prototype
5.6.2 37BPrototype V1.1
Prototype V1.1 hasn’t been mounted yet.
5.6.3 38BComponents Under Test (CUT)
I2C bus requires two 4.7k pull-up resistors on SCL and SDA lines. These resistors are usually
mounted on each Sparkfun Breakout boards. To avoid multiple resistors on the SCL/SDA bus lines,
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 19 of 32
you must disable these resistors on the Sparkfun boards if they are already mounted somewhere else
(i.e. on the RTC).
Each I2C chip connected to the bus must have a different address. Addresses can be modified by a
physical modification on the Sparkfun breakout PCB (solder jumper)
Each Component Under Test must have a different output line. When wiring these components,
please refer to section TBD to assign them a different pin on the connectors.
Each MUX has a different Enable (EN) pin mapping on the MUX Connector. As of today, Enable
pins are not used and tighten to GND.
Do not leave unused input pins unconnected when encapsulating, except if they have a pull-
up/down resistor.
Figure 14: Encapsulated DAC (Sparkfun breakout board)
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 20 of 32
6. 5BFirmware
6.1 24BArduino Integrated Development Environment (IDE)
 https://www.arduino.cc/en/Main/Software
Arduino IDE is a lightweight and very simple Integrated Development Environment for Arduino
Boards. It includes all the required tools to write, compile, upload and run a program on an Atmel
microcontroller.
Figure 15: Arduino IDE screen capture
Arduino IDE does not require any external program to upload the program to the microcontroler.
6.2 25BPin Mapping
Pin Mapping is entirely defined at the beginning of the Sketch. It can be easily modified if required.
Please refer to section 5.2.2 for the exact pin mapping.
6.3 26BLibraries
We use the following libraries, provided by Arduino or AdaFruit
• SPI.h:
Provides functions to communicate with an external chip through the SPI protocol
• SD.h: SparkFun MicroSd Shield
Provides dedicated functions to read/write files on the SD card
• Wire.h: I2C / TWI library
Provides functions to communicate with an external chip through the I2C/TWI protocol
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 21 of 32
• Adafruit_MCP4725.h: MCP4725 Digital to Analog Converter (DAC) library
Provides dedicated functions to send commands to the DACs (through I2C)
• EEPROM.h: Microcontroller non-volatile memory
Enables the reading/writing of the Reset counter value in the non -volatile memory
• RTClib.h: Real Time Clock library
Provides dedicated functions to get the date and time from the RTC (through I2C).
6.4 27BProcedures and Functions
6.4.1 39BSetup / Loop
There are two special functions that are a part of every Arduino sketch: setup() and loop(). The
setup() is called once, when the sketch starts. It's a good place to do setup tasks like setting pin
modes or initializing libraries. The loop() function is called over and over and is heart of most
sketches. You need to include both functions in your sketch, even if you don't need them for
anything.
6.4.2 40BRunDacTest
This function is performing the following actions:
• Write data into the log file (Experiment #, date, Device Id)
• Send 2*4096 commands to the DAC to generate a triangle waveform
o Send commands
o Retrieve Analog output
o Compute error
• Compute and save statistics into the SD card
6.4.3 41BRunMuxTest
This function is performing the following actions:
• Initialise communication with Dev. PC (Serial Link TX/RX)
• Setup I/O
• Read the EEPROM and increase the reset counter.
• Initialize communication with Sparkfun SD Card Shield (SPI)
• Initialize Initialize communication with the DACs (I2C)
Loop()
• For each DAC: Run Tests and Log results
• For each MUX: Run Tests and Log results
• Wait
Select
Channel
(S0..S3)
Retrieve
Voltage
(Analog pin)
Compare
with
Expected
Value
Log the
value
If Error > Threshold
- Print msg on Serial Link
- Switch On the Error Led
Send a
command
to generate
a Waveform
Retrieve
Voltage
(Analog pin)
Compare
with
Expected
Value
Log the
relative and
absolute
Error
If Error > Threshold
- Print msg on Serial Link
- Switch On the Error Led
RunDacTest(...) RunMuxTest(...)
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 22 of 32
• Write data into the log file (Experiment #, date, Device Id)
• Send commands to the DAC to generate a triangle waveform
o Set [S0..S3] bits to select the appropriate channel
o Retrieve Signal analog value
o Save Signal analog value into the SD card
o Compute error
• Compute and save statistics into the SD card
6.4.4 42BLeds
The following table provides a description of the Leds meaning.
Behavior Explanation
One Led is red Corresponding component is
failing.
One Led is periodically red for
a short time
One or several channels of the
corresponding component
returns incorrect values
All the Leds are blinking Unable to initialize the SD Card.
Experiment didn’t start
All the Leds are red Unable to write on the SD Card
6.5 28BReset Counter
After each reset, the program will read the reset counter located at address 0 of the EEPROM (non
volatile memory) and increase it by one.
To clear the EEPROM and reset this counter, use the dedicated sketch program ‘clearEEPROM.ino’
You can also reset the counter by removing the RTC battery.
6.6 29BReal Time Clock
If the RTC isn’t already running, the following instruction will set the time and the date to the
compilation time.
RTC.adjust(DateTime(__DATE__, __TIME__));
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 23 of 32
7. 6BLog files
7.1 30BFormatting
All data is stored on the SD Card. The files are encoded using the Comma Separated Values (CSV)
file format. The delimiter is the semi-colon (;).
Files are named as follow:
• [Reset counter]_[Component identificator].csv
The Component identificators are:
• M: Multiplexer (MUX)
• D: Digital to Analog Converter (DAC)
Figure 16: CSV Log file opened with Excel (Screen capture)
To convert a CSV file into an Excel spreadsheet, use the Excel feature “Text to Columns” in the
Data Tab.
7.2 31BLogged data
For the MUX, the following colums are used:
Column Name Description Unit/Range
Experience Restarts after each reset [1-∞]
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 24 of 32
Number
Date
Date and time using the following format (YYYY/MM/DD –
HH:mm)
-
DeviceId Device identifier [0-5]
InputC0 ..
InputC14
Voltage measurements for each of the used MUX channels Volts (V)
Error
Cummulative error mean on the up side of the triangle waveform
𝐸𝑟𝑟𝑜𝑟 =
∑ 𝑖𝑛𝑝𝑢𝑡𝐶𝑖
𝐼𝑛𝑝𝑢𝑡𝐶14
𝐼𝑛𝑝𝑢𝑡𝐶0
8
Volts (V)
Error Abs
Cummulative absolute error mean on the up side of the triangle
waveform
𝐸𝑟𝑟𝑜𝑟𝐴𝑏𝑠 =
∑ |𝑖𝑛𝑝𝑢𝑡𝐶𝑖 |𝐼𝑛𝑝𝑢𝑡𝐶14
𝐼𝑛𝑝𝑢𝑡𝐶0
8
Volts (V)
Status
Boolean indicator
• 0: No problem detected, analog values are in the
acceptable range
• 1: Problem detected retrieved analog values are out of
the
[0/1]
For the DAC, the following colums are used:
Column Name Description Unit
Experience
Number
Restarts after each reset [1-∞]
Date
Date and time using the following format (YYYY/MM/DD –
HH:mm)
-
DeviceId DAC identifier [0-5]
V0+ to V3+
Specific voltage measurements on the up side of the triangle
waveform.
Volts (V)
V3- to V0-
Specific voltage measurements on the down side of the triangle
waveform.
Volts (V)
Error Up
Cummulative error mean on the up side of the triangle waveform
𝐸𝑟𝑟𝑜𝑟 =
∑ 𝑉𝑎𝑛𝑎𝑙𝑜𝑔
4095
0
4096
Volts (V)
Error Up Abs
Cummulative absolute error mean on the up side of the triangle
waveform
𝐸𝑟𝑟𝑜𝑟 =
∑ �𝑉𝑎𝑛𝑎𝑙𝑜𝑔�4095
0
4096
Volts (V)
Error Down
Cummulative error mean on the down side of the triangle
waveform
𝐸𝑟𝑟𝑜𝑟 =
∑ 𝑉𝑎𝑛𝑎𝑙𝑜𝑔
0
4095
4096
Volts (V)
Error Down Abs
Cummulative absolute error mean on the down side of the
triangle waveform
𝐸𝑟𝑟𝑜𝑟 =
∑ �𝑉𝑎𝑛𝑎𝑙𝑜𝑔�0
4095
4096
Volts (V)
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 25 of 32
Status
Boolean indicator
• 0: No problem detected, analog values are in the
acceptable range
• 1: Problem detected retrieved analog values are out of
the
[0/1]
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 26 of 32
8. 7BBibliography
 https://www.arduino.cc/en/Main/ArduinoBoardUno
 https://www.sparkfun.com/products/11021
 https://www.sparkfun.com/products/12761
 https://www.adafruit.com/product/264
 https://www.sparkfun.com/products/12918
 http://www.win.tue.nl/pinpasjc/docs/apis/offcard/com/ibm/jc/tools/JCShell.html
 http://www.cadsoftusa.com/
 https://www.arduino.cc/en/Main/Software
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 27 of 32
9. 8BAnnexes
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 28 of 32
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 29 of 32
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 30 of 32
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 31 of 32
Biomechatronics Group
MIT Media Lab Encapsulation Experiment
Design Report
System Testbench All information provided in this document is subject to legal
disclaimers.
MIT B.V. 2013. All rights reserved.
Design Document Rev. 12 — March 21, 2016 32 of 32

More Related Content

What's hot

Complete ad troubleshooting
Complete ad troubleshootingComplete ad troubleshooting
Complete ad troubleshootingapshirame
 
Tracking Universal Health Coverage
Tracking Universal Health CoverageTracking Universal Health Coverage
Tracking Universal Health CoverageFabio Castaño
 
Eta design-guide-2019oct
Eta design-guide-2019octEta design-guide-2019oct
Eta design-guide-2019octssuserae99fb
 
Nalpeiron explains global rules for data collection and privacy
Nalpeiron explains global rules for data collection and privacyNalpeiron explains global rules for data collection and privacy
Nalpeiron explains global rules for data collection and privacyJon Gillespie-Brown
 
TrackFin Draft Guidance Document (version January 2014)
TrackFin Draft Guidance Document (version January 2014)TrackFin Draft Guidance Document (version January 2014)
TrackFin Draft Guidance Document (version January 2014)TrackFin
 
Microsoft project server 2010 project managers guide for project web app
Microsoft project server 2010 project managers guide for project web appMicrosoft project server 2010 project managers guide for project web app
Microsoft project server 2010 project managers guide for project web appApimuk Siripitupum
 
Eta nonfab-deploy-guide-2019oct
Eta nonfab-deploy-guide-2019octEta nonfab-deploy-guide-2019oct
Eta nonfab-deploy-guide-2019octssuserae99fb
 
Information Technology Disaster Recovery Guide - ABC Bank (redacted)
Information Technology Disaster Recovery Guide - ABC Bank (redacted)Information Technology Disaster Recovery Guide - ABC Bank (redacted)
Information Technology Disaster Recovery Guide - ABC Bank (redacted)Stephen White
 
PROJECT MANAGEMENT PLAN - Kismayo, Somalia
PROJECT MANAGEMENT PLAN - Kismayo, SomaliaPROJECT MANAGEMENT PLAN - Kismayo, Somalia
PROJECT MANAGEMENT PLAN - Kismayo, SomaliaShanna-Kay Smith
 
Unsh daalgwar
Unsh daalgwarUnsh daalgwar
Unsh daalgwaruka0121
 
Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...
Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...
Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...Dr Dev Kambhampati
 
Hydrological Data Management: Present State and Trends-Wmo no964
Hydrological Data Management: Present State and Trends-Wmo no964Hydrological Data Management: Present State and Trends-Wmo no964
Hydrological Data Management: Present State and Trends-Wmo no964indiawrm
 
DDU - Documento Unificato Functional Specification v.0.0.0
DDU - Documento Unificato Functional Specification v.0.0.0DDU - Documento Unificato Functional Specification v.0.0.0
DDU - Documento Unificato Functional Specification v.0.0.0AmmLibera AL
 
Planning a Microsoft Virtual Server infrastructure with HP ...
Planning a Microsoft Virtual Server infrastructure with HP ...Planning a Microsoft Virtual Server infrastructure with HP ...
Planning a Microsoft Virtual Server infrastructure with HP ...webhostingguy
 

What's hot (20)

Complete ad troubleshooting
Complete ad troubleshootingComplete ad troubleshooting
Complete ad troubleshooting
 
Tracking Universal Health Coverage
Tracking Universal Health CoverageTracking Universal Health Coverage
Tracking Universal Health Coverage
 
Eta design-guide-2019oct
Eta design-guide-2019octEta design-guide-2019oct
Eta design-guide-2019oct
 
Nalpeiron explains global rules for data collection and privacy
Nalpeiron explains global rules for data collection and privacyNalpeiron explains global rules for data collection and privacy
Nalpeiron explains global rules for data collection and privacy
 
TrackFin Draft Guidance Document (version January 2014)
TrackFin Draft Guidance Document (version January 2014)TrackFin Draft Guidance Document (version January 2014)
TrackFin Draft Guidance Document (version January 2014)
 
Microsoft project server 2010 project managers guide for project web app
Microsoft project server 2010 project managers guide for project web appMicrosoft project server 2010 project managers guide for project web app
Microsoft project server 2010 project managers guide for project web app
 
Eta nonfab-deploy-guide-2019oct
Eta nonfab-deploy-guide-2019octEta nonfab-deploy-guide-2019oct
Eta nonfab-deploy-guide-2019oct
 
Information Technology Disaster Recovery Guide - ABC Bank (redacted)
Information Technology Disaster Recovery Guide - ABC Bank (redacted)Information Technology Disaster Recovery Guide - ABC Bank (redacted)
Information Technology Disaster Recovery Guide - ABC Bank (redacted)
 
PROJECT MANAGEMENT PLAN - Kismayo, Somalia
PROJECT MANAGEMENT PLAN - Kismayo, SomaliaPROJECT MANAGEMENT PLAN - Kismayo, Somalia
PROJECT MANAGEMENT PLAN - Kismayo, Somalia
 
CSF of ERP Implementations in Sri Lankan Companies
CSF of ERP Implementations in Sri Lankan CompaniesCSF of ERP Implementations in Sri Lankan Companies
CSF of ERP Implementations in Sri Lankan Companies
 
Patient management
Patient managementPatient management
Patient management
 
Spiral b of master thesis new1
Spiral b  of master thesis   new1Spiral b  of master thesis   new1
Spiral b of master thesis new1
 
Unsh daalgwar
Unsh daalgwarUnsh daalgwar
Unsh daalgwar
 
Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...
Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...
Dr Dev Kambhampati | World Bank - Fish to 2030- Prospects for Fisheries and A...
 
Hydrological Data Management: Present State and Trends-Wmo no964
Hydrological Data Management: Present State and Trends-Wmo no964Hydrological Data Management: Present State and Trends-Wmo no964
Hydrological Data Management: Present State and Trends-Wmo no964
 
Rand rr2621
Rand rr2621Rand rr2621
Rand rr2621
 
Report on 3d printing
Report on 3d printingReport on 3d printing
Report on 3d printing
 
2000growthchart us
2000growthchart us2000growthchart us
2000growthchart us
 
DDU - Documento Unificato Functional Specification v.0.0.0
DDU - Documento Unificato Functional Specification v.0.0.0DDU - Documento Unificato Functional Specification v.0.0.0
DDU - Documento Unificato Functional Specification v.0.0.0
 
Planning a Microsoft Virtual Server infrastructure with HP ...
Planning a Microsoft Virtual Server infrastructure with HP ...Planning a Microsoft Virtual Server infrastructure with HP ...
Planning a Microsoft Virtual Server infrastructure with HP ...
 

Similar to MediaLab_EncapsulationExp - Design Report

The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)
The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)
The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)Juan Tobar
 
Specification of the Linked Media Layer
Specification of the Linked Media LayerSpecification of the Linked Media Layer
Specification of the Linked Media LayerLinkedTV
 
General Maintenance Standards V0.6
General Maintenance Standards V0.6General Maintenance Standards V0.6
General Maintenance Standards V0.6Bart Den Tijn
 
(Deprecated) Slicing the Gordian Knot of SOA Governance
(Deprecated) Slicing the Gordian Knot of SOA Governance(Deprecated) Slicing the Gordian Knot of SOA Governance
(Deprecated) Slicing the Gordian Knot of SOA GovernanceGanesh Prasad
 
Cognitive Artificial Intelligence Systems Market Report 2022
 Cognitive Artificial Intelligence Systems  Market Report 2022 Cognitive Artificial Intelligence Systems  Market Report 2022
Cognitive Artificial Intelligence Systems Market Report 2022Cognitive Market Research
 
Blood-Bank-Management-System-Salesforce
Blood-Bank-Management-System-SalesforceBlood-Bank-Management-System-Salesforce
Blood-Bank-Management-System-SalesforceDikshantBhawsar
 
Sample Global Audiobooks Market Report 2022 - Cognitive Market Research.docx
Sample Global Audiobooks Market Report 2022 - Cognitive Market Research.docxSample Global Audiobooks Market Report 2022 - Cognitive Market Research.docx
Sample Global Audiobooks Market Report 2022 - Cognitive Market Research.docxCognitive Market Research
 
SPEED- Final Design Report
SPEED- Final Design ReportSPEED- Final Design Report
SPEED- Final Design ReportLeah Segerlin
 
Tree structured partitioning into transform blocks and units and interpicture...
Tree structured partitioning into transform blocks and units and interpicture...Tree structured partitioning into transform blocks and units and interpicture...
Tree structured partitioning into transform blocks and units and interpicture...LainAcarolu
 
Sample Global Neutral Glass Tubing Market Report 2022
Sample Global Neutral Glass Tubing Market Report 2022Sample Global Neutral Glass Tubing Market Report 2022
Sample Global Neutral Glass Tubing Market Report 2022Cognitive Market Research
 

Similar to MediaLab_EncapsulationExp - Design Report (20)

The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)
The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)
The City of Bakersfield, CA GIS Implementation Plan (1997 - 1998)
 
Specification of the Linked Media Layer
Specification of the Linked Media LayerSpecification of the Linked Media Layer
Specification of the Linked Media Layer
 
R Data
R DataR Data
R Data
 
FULLTEXT01.pdf
FULLTEXT01.pdfFULLTEXT01.pdf
FULLTEXT01.pdf
 
General Maintenance Standards V0.6
General Maintenance Standards V0.6General Maintenance Standards V0.6
General Maintenance Standards V0.6
 
(Deprecated) Slicing the Gordian Knot of SOA Governance
(Deprecated) Slicing the Gordian Knot of SOA Governance(Deprecated) Slicing the Gordian Knot of SOA Governance
(Deprecated) Slicing the Gordian Knot of SOA Governance
 
Cognitive Artificial Intelligence Systems Market Report 2022
 Cognitive Artificial Intelligence Systems  Market Report 2022 Cognitive Artificial Intelligence Systems  Market Report 2022
Cognitive Artificial Intelligence Systems Market Report 2022
 
Phase2 tutorial manual
Phase2 tutorial manualPhase2 tutorial manual
Phase2 tutorial manual
 
Tx16 wx user manual
Tx16 wx user manualTx16 wx user manual
Tx16 wx user manual
 
Blood-Bank-Management-System-Salesforce
Blood-Bank-Management-System-SalesforceBlood-Bank-Management-System-Salesforce
Blood-Bank-Management-System-Salesforce
 
Sample Global Audiobooks Market Report 2022 - Cognitive Market Research.docx
Sample Global Audiobooks Market Report 2022 - Cognitive Market Research.docxSample Global Audiobooks Market Report 2022 - Cognitive Market Research.docx
Sample Global Audiobooks Market Report 2022 - Cognitive Market Research.docx
 
Sample Global Audiobooks
Sample Global Audiobooks  Sample Global Audiobooks
Sample Global Audiobooks
 
SPEED- Final Design Report
SPEED- Final Design ReportSPEED- Final Design Report
SPEED- Final Design Report
 
Pd handbookv2
Pd handbookv2Pd handbookv2
Pd handbookv2
 
Tree structured partitioning into transform blocks and units and interpicture...
Tree structured partitioning into transform blocks and units and interpicture...Tree structured partitioning into transform blocks and units and interpicture...
Tree structured partitioning into transform blocks and units and interpicture...
 
Graduation Report
Graduation ReportGraduation Report
Graduation Report
 
Big Data Social Network Analysis
Big Data Social Network AnalysisBig Data Social Network Analysis
Big Data Social Network Analysis
 
Luxembourg et open data
Luxembourg et open data Luxembourg et open data
Luxembourg et open data
 
Sample Global Neutral Glass Tubing Market Report 2022
Sample Global Neutral Glass Tubing Market Report 2022Sample Global Neutral Glass Tubing Market Report 2022
Sample Global Neutral Glass Tubing Market Report 2022
 
Sample Global Neutral Glass
Sample Global Neutral Glass Sample Global Neutral Glass
Sample Global Neutral Glass
 

MediaLab_EncapsulationExp - Design Report

  • 1. Encapsulation Experiment Design Report Rev. 12 — March 21, 2016 Biomechatronics Group Document information Info Content Keywords Encapsulation, Arduino, Schematics, PCB, Layout, Firmware, CSV, DAC, Mux Abstract TBD Author Valérian Geny Revision history Rev Date Description Draft 1 2016 February 15 Document creation Rev 1.0 2016 February 20 First prototype Rev 1.1 draft 1 2016 February 24 Second prototype Rev 2 2016 March 6 Added RTC Clock
  • 2. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 2 of 32 Table of Content Table of Content.............................................................................................................................................2 Table of Figures .............................................................................................................................................3 1. Document Purpose...........................................................................................................................4 2. Glossary ............................................................................................................................................5 3. Requirements: ..................................................................................................................................6 3.1 Purpose...........................................................................................................................................6 3.2 Components Under Test .................................................................................................................6 3.3 Actors and Use Cases.....................................................................................................................6 3.4 Requirements..................................................................................................................................7 4. Components......................................................................................................................................8 4.1 Microcontroller: Arduino Uno...........................................................................................................8 4.2 Logging Module: SparkFun microSD Shield....................................................................................8 4.3 Real Time Clock (RTC): DS1307.....................................................................................................9 4.4 Digital to Analog Converter (DAC): MCP4725.................................................................................9 4.5 Multiplexer: CD74HC4067.............................................................................................................11 5. Schematics and Layout..................................................................................................................12 5.1 Functional Bloc Diagram ...............................................................................................................12 5.2 Microcontroller Pin Allocation ........................................................................................................12 5.2.1 Pin usage ......................................................................................................................................12 5.2.2 Pin Mapping ..................................................................................................................................12 5.3 Schematics....................................................................................................................................13 5.3.1 Board.............................................................................................................................................14 5.3.2 Components Under Test (CUT).....................................................................................................15 5.4 PCB and Layout ............................................................................................................................16 5.5 Bill of Material................................................................................................................................18 5.6 Realization.....................................................................................................................................18 5.6.1 Prototype V1.0...............................................................................................................................18 5.6.2 Prototype V1.1...............................................................................................................................18 5.6.3 Components Under Test (CUT).....................................................................................................18 6. Firmware..........................................................................................................................................20 6.1 Arduino Integrated Development Environment (IDE).....................................................................20 6.2 Pin Mapping ..................................................................................................................................20 6.3 Libraries.........................................................................................................................................20 6.4 Procedures and Functions.............................................................................................................21 6.4.1 Setup / Loop..................................................................................................................................21 6.4.2 RunDacTest ..................................................................................................................................21 6.4.3 RunMuxTest ..................................................................................................................................21 6.4.4 Leds...............................................................................................................................................22 6.5 Reset Counter ...............................................................................................................................22 6.6 Real Time Clock ............................................................................................................................22 7. Log files...........................................................................................................................................23 7.1 Formatting .....................................................................................................................................23 7.2 Logged data ..................................................................................................................................23 8. Bibliography....................................................................................................................................26 9. Annexes...........................................................................................................................................27
  • 3. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 3 of 32 Table of Figures Figure 1: Requirement map representation......................................................................................................7 Figure 2: Arduino Uno board (from SparkFun).................................................................................................8 Figure 3: Sparkfun Micro SD Shield.................................................................................................................9 Figure 4: DS1307 Real Time Clock breakout board.........................................................................................9 Figure 5: SparkFun I2C DAC Breakout - MCP4725.......................................................................................10 Figure 6: SparkFun Analog/Digital MUX Breakout - CD74HC4067................................................................11 Figure 7: Board Schematic.............................................................................................................................14 Figure 8: DAC Wiring .....................................................................................................................................15 Figure 9: MUX Wiring.....................................................................................................................................16 Figure 10: 3D Model (left: Top, right: Bottom)...............................................................................................16 Figure 11: Layout (left: Top, right: Bottom).....................................................................................................17 Figure 12: Assembling Instructions (left: Top, right: Bottom)..........................................................................17 Figure 13: First prototype...............................................................................................................................18 Figure 14: Encapsulated DAC (Sparkfun breakout board).............................................................................19 Figure 15: Arduino IDE screen capture..........................................................................................................20 Figure 16: CSV Log file opened with Excel (Screen capture) ........................................................................23
  • 4. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 4 of 32 1. 0BDocument Purpose This document describes the system performing the Encapsulation Experiment. Its main purpose is to facilitate the comprehension of the system and to allow the reader to understand the technical environment. It also intends to be a technical reference document for any person who would be in charge of maintaining, improving, or extending this experiment.
  • 5. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 5 of 32 2. 1BGlossary ADC: Analog to Digital Converter CSV: Comma Separated Values CUT: Chip Under Test DAC: Digital to Analog Converter EEPROM: Electrically Erasable Programmable Read-Only Memory FW: Firmware GND: Ground HW: Hardware I/O: Input / Output I2C: Inter-Integrated Circuit IDE: Integrated Development Environment LED: Light-Emitting Diode MIT: Massachusetts Institute of Technology MUX: MUltipleXeur PCB: Printed Circuit Board PWM: Pulse Width Modulation RTC: Real Time Clock SCL: Serial Clock Line SD: Secure Digital SDA: Serial Data Line TBD: To Be Defined TWI: Two Wire Interface
  • 6. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 6 of 32 3. 2BRequirements: 3.1 9BPurpose This experiment intends to determine the life expectancy of different encapsulation methods. Components Under Test (CUT) will be immerged in a saline solution for certain time durations (from months up to years). The system shall check daily if the CUTs are still functioning, and to retrieve metrics on the changes due to aging 3.2 10BComponents Under Test This experiment intends to test the following components: • Digital to Analog Converter (DAC): MCP4725 • Multiplexer (MUX): CD74HC4067 More components might be added in future experiments 3.3 11BActors and Use Cases TBD
  • 7. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 7 of 32 3.4 12BRequirements Figure 1: Requirement map representation Test Component life expectancy Test Encapsulation Methods Mesure time Test each component daily Generate commands or input signal Retrive Analog output signal Compare with expected value Reduce cost and complexity Compute a status and some metrics A board should test more than one component PCB shall be scalable Test Component Use Arduino boards Display and log Results Use Leds to provide a Status Log data on a SD Card Provide a tool for deep analyse Recover from power shutdown
  • 8. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 8 of 32 4. 3BComponents This section provides a brief description of the components/PCB used by the system. For more details, please refer to the links provided. 4.1 13BMicrocontroller: Arduino Uno  https://www.arduino.cc/en/Main/ArduinoBoardUno  https://www.sparkfun.com/products/11021 Figure 2: Arduino Uno board (from SparkFun) Features: • ATmega328 microcontroller • Input voltage - 7-12V • 14 Digital I/O Pins (6 PWM outputs) • 6 Analog Inputs • 32k Flash Memory • 16Mhz Clock Speed 4.2 14BLogging Module: SparkFun microSD Shield  https://www.sparkfun.com/products/12761
  • 9. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 9 of 32 Figure 3: Sparkfun Micro SD Shield 4.3 15BReal Time Clock (RTC): DS1307  https://www.adafruit.com/product/264 Figure 4: DS1307 Real Time Clock breakout board SQW pin is not used and doesn’t have to be connected. Features: • Two wire I2C interface (0x68 Address) • Hour : Minutes : Seconds AM/PM Day Month, Date - Year • Leap year compensation • Accurate calendar up to year 2100 • Battery backup included • 1Hz output pin • 56 Bytes of Non-volatile memory available to user 4.4 16BDigital to Analog Converter (DAC): MCP4725  https://www.sparkfun.com/products/12918
  • 10. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 10 of 32 Figure 5: SparkFun I2C DAC Breakout - MCP4725 Features: • 12-bit resolution • I2C Interface (Standard, Fast, and High-Speed supported) • Small package • 2.7V to 5.5V supply • Internal EEPROM to store settings Schematics The ATmega328 microcontroller uses the I2C (also called TWI) to send controls to MCP 4725 DAC. Consequently, each DAC must have a different address. I2C Addresses (solder jumper): • 0x60 to 0x61 (SparkFun) • 0x62 to 0x63 (AdaFruit)
  • 11. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 11 of 32 4.5 17BMultiplexer: CD74HC4067  http://www.win.tue.nl/pinpasjc/docs/apis/offcard/com/ibm/jc/tools/JCShell.html Figure 6: SparkFun Analog/Digital MUX Breakout - CD74HC4067 Features • 16 channels • 2V to 6V operation • “On” resistance: 70 Ohms @ 4.5V • 6ns break-before-make @ 4.5V Schematics
  • 12. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 12 of 32 5. 4BSchematics and Layout 5.1 18BFunctional Bloc Diagram TBD 5.2 19BMicrocontroller Pin Allocation 5.2.1 32BPin usage Required pin per DAC Required pin per MUX LED SD Card Serial Com Total Available on Arduino Uno Analog Pins 2 (I2C) + nDac *1 nMux *1 0 0 0 6 Digital Pins 0 4 (SelectChanel) + 1 *nMux (Optional Enable) nLED*1 4 2 14 Exemple: 2 MUX + 2 DACS + 4 LEDs • Analog Pins = ((2 * I2C) + 2 * nDac)+ (2 * nMux) = 6 • Digital Pins = (0 * nDac) + (4 + 0 * nMux) + (1* nLED)+ (4) + (2) = 14 5.2.2 33BPin Mapping Analog Pins 2 MUX + 2DAC 4 DACS 6 MUX 3 MUX + 1 DAC A0 MUX 0 (SIG) DAC 0 (Analog) MUX 0 (SIG) MUX 0 (SIG) A1 MUX 1 (SIG) DAC 1 (Analog) MUX 1 (SIG) MUX 1 (SIG) A2 DAC 0 (Analog) DAC 2 (Analog) MUX 2 (SIG) MUX 2 (SIG) A3 DAC 1 (Analog) DAC 3 (Analog) MUX 3 (SIG) DAC 0 (Analog) A4 /SDA I2C (SDA) I2C (SDA) MUX 4 (SIG) I2C (SDA) A5 / SCL I2C (SCL) I2C (SCL) MUX 5 (SIG) I2C (SCL) Digital Pins 2 MUX + 2DAC 4 DACS 6 MUX 3 MUX + 1 DAC D0-D1 Serial Communication with the Development PC (TX/RX)
  • 13. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 13 of 32 D2 – D5 Status LEDs D6-D7 S0 – S1 NA S0 – S1 S0 – S1 D8 SD Card Data Logger (SS ) D9-D10 S2 – S3 NA S2 – S3 S2 – S3 D11-D13 SD Card Data Logger (MOSI, MISO and SCK ) 5.3 20BSchematics The schematic and the board layout were designed with CadSoft Eagle.  http://www.cadsoftusa.com/
  • 14. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 14 of 32 5.3.1 34BBoard Figure 7: Board Schematic
  • 15. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 15 of 32 5.3.2 35BComponents Under Test (CUT) Figure 8: DAC Wiring
  • 16. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 16 of 32 Figure 9: MUX Wiring 5.4 21BPCB and Layout Figure 10: 3D Model (left: Top, right: Bottom)
  • 17. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 17 of 32 Figure 11: Layout (left: Top, right: Bottom) Figure 12: Assembling Instructions (left: Top, right: Bottom)
  • 18. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 18 of 32 5.5 22BBill of Material TBD 5.6 23BRealization 5.6.1 36BPrototype V1.0 Prototype V1.0 is designed, wired and programmed to work with the following components: • MUX_0 (on A0) • MUX_1 (on A1) • DAC_2 (on A2) • DAC_3 (on A3) • I2C: SCL (on A4) • I2C: SDA (on A5) For prototype V1.1 and under, the RTC is mounted on the Sparkfun Micro SD Shield prototyping area. The 4 pins GND, 5V, SDA, SCL are respectively connected to the Micro SD Shield pins GND, 5V, A4 and A5. Unrouted wires on the PCB might be needed for specific configurations Figure 13: First prototype 5.6.2 37BPrototype V1.1 Prototype V1.1 hasn’t been mounted yet. 5.6.3 38BComponents Under Test (CUT) I2C bus requires two 4.7k pull-up resistors on SCL and SDA lines. These resistors are usually mounted on each Sparkfun Breakout boards. To avoid multiple resistors on the SCL/SDA bus lines,
  • 19. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 19 of 32 you must disable these resistors on the Sparkfun boards if they are already mounted somewhere else (i.e. on the RTC). Each I2C chip connected to the bus must have a different address. Addresses can be modified by a physical modification on the Sparkfun breakout PCB (solder jumper) Each Component Under Test must have a different output line. When wiring these components, please refer to section TBD to assign them a different pin on the connectors. Each MUX has a different Enable (EN) pin mapping on the MUX Connector. As of today, Enable pins are not used and tighten to GND. Do not leave unused input pins unconnected when encapsulating, except if they have a pull- up/down resistor. Figure 14: Encapsulated DAC (Sparkfun breakout board)
  • 20. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 20 of 32 6. 5BFirmware 6.1 24BArduino Integrated Development Environment (IDE)  https://www.arduino.cc/en/Main/Software Arduino IDE is a lightweight and very simple Integrated Development Environment for Arduino Boards. It includes all the required tools to write, compile, upload and run a program on an Atmel microcontroller. Figure 15: Arduino IDE screen capture Arduino IDE does not require any external program to upload the program to the microcontroler. 6.2 25BPin Mapping Pin Mapping is entirely defined at the beginning of the Sketch. It can be easily modified if required. Please refer to section 5.2.2 for the exact pin mapping. 6.3 26BLibraries We use the following libraries, provided by Arduino or AdaFruit • SPI.h: Provides functions to communicate with an external chip through the SPI protocol • SD.h: SparkFun MicroSd Shield Provides dedicated functions to read/write files on the SD card • Wire.h: I2C / TWI library Provides functions to communicate with an external chip through the I2C/TWI protocol
  • 21. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 21 of 32 • Adafruit_MCP4725.h: MCP4725 Digital to Analog Converter (DAC) library Provides dedicated functions to send commands to the DACs (through I2C) • EEPROM.h: Microcontroller non-volatile memory Enables the reading/writing of the Reset counter value in the non -volatile memory • RTClib.h: Real Time Clock library Provides dedicated functions to get the date and time from the RTC (through I2C). 6.4 27BProcedures and Functions 6.4.1 39BSetup / Loop There are two special functions that are a part of every Arduino sketch: setup() and loop(). The setup() is called once, when the sketch starts. It's a good place to do setup tasks like setting pin modes or initializing libraries. The loop() function is called over and over and is heart of most sketches. You need to include both functions in your sketch, even if you don't need them for anything. 6.4.2 40BRunDacTest This function is performing the following actions: • Write data into the log file (Experiment #, date, Device Id) • Send 2*4096 commands to the DAC to generate a triangle waveform o Send commands o Retrieve Analog output o Compute error • Compute and save statistics into the SD card 6.4.3 41BRunMuxTest This function is performing the following actions: • Initialise communication with Dev. PC (Serial Link TX/RX) • Setup I/O • Read the EEPROM and increase the reset counter. • Initialize communication with Sparkfun SD Card Shield (SPI) • Initialize Initialize communication with the DACs (I2C) Loop() • For each DAC: Run Tests and Log results • For each MUX: Run Tests and Log results • Wait Select Channel (S0..S3) Retrieve Voltage (Analog pin) Compare with Expected Value Log the value If Error > Threshold - Print msg on Serial Link - Switch On the Error Led Send a command to generate a Waveform Retrieve Voltage (Analog pin) Compare with Expected Value Log the relative and absolute Error If Error > Threshold - Print msg on Serial Link - Switch On the Error Led RunDacTest(...) RunMuxTest(...)
  • 22. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 22 of 32 • Write data into the log file (Experiment #, date, Device Id) • Send commands to the DAC to generate a triangle waveform o Set [S0..S3] bits to select the appropriate channel o Retrieve Signal analog value o Save Signal analog value into the SD card o Compute error • Compute and save statistics into the SD card 6.4.4 42BLeds The following table provides a description of the Leds meaning. Behavior Explanation One Led is red Corresponding component is failing. One Led is periodically red for a short time One or several channels of the corresponding component returns incorrect values All the Leds are blinking Unable to initialize the SD Card. Experiment didn’t start All the Leds are red Unable to write on the SD Card 6.5 28BReset Counter After each reset, the program will read the reset counter located at address 0 of the EEPROM (non volatile memory) and increase it by one. To clear the EEPROM and reset this counter, use the dedicated sketch program ‘clearEEPROM.ino’ You can also reset the counter by removing the RTC battery. 6.6 29BReal Time Clock If the RTC isn’t already running, the following instruction will set the time and the date to the compilation time. RTC.adjust(DateTime(__DATE__, __TIME__));
  • 23. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 23 of 32 7. 6BLog files 7.1 30BFormatting All data is stored on the SD Card. The files are encoded using the Comma Separated Values (CSV) file format. The delimiter is the semi-colon (;). Files are named as follow: • [Reset counter]_[Component identificator].csv The Component identificators are: • M: Multiplexer (MUX) • D: Digital to Analog Converter (DAC) Figure 16: CSV Log file opened with Excel (Screen capture) To convert a CSV file into an Excel spreadsheet, use the Excel feature “Text to Columns” in the Data Tab. 7.2 31BLogged data For the MUX, the following colums are used: Column Name Description Unit/Range Experience Restarts after each reset [1-∞]
  • 24. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 24 of 32 Number Date Date and time using the following format (YYYY/MM/DD – HH:mm) - DeviceId Device identifier [0-5] InputC0 .. InputC14 Voltage measurements for each of the used MUX channels Volts (V) Error Cummulative error mean on the up side of the triangle waveform 𝐸𝑟𝑟𝑜𝑟 = ∑ 𝑖𝑛𝑝𝑢𝑡𝐶𝑖 𝐼𝑛𝑝𝑢𝑡𝐶14 𝐼𝑛𝑝𝑢𝑡𝐶0 8 Volts (V) Error Abs Cummulative absolute error mean on the up side of the triangle waveform 𝐸𝑟𝑟𝑜𝑟𝐴𝑏𝑠 = ∑ |𝑖𝑛𝑝𝑢𝑡𝐶𝑖 |𝐼𝑛𝑝𝑢𝑡𝐶14 𝐼𝑛𝑝𝑢𝑡𝐶0 8 Volts (V) Status Boolean indicator • 0: No problem detected, analog values are in the acceptable range • 1: Problem detected retrieved analog values are out of the [0/1] For the DAC, the following colums are used: Column Name Description Unit Experience Number Restarts after each reset [1-∞] Date Date and time using the following format (YYYY/MM/DD – HH:mm) - DeviceId DAC identifier [0-5] V0+ to V3+ Specific voltage measurements on the up side of the triangle waveform. Volts (V) V3- to V0- Specific voltage measurements on the down side of the triangle waveform. Volts (V) Error Up Cummulative error mean on the up side of the triangle waveform 𝐸𝑟𝑟𝑜𝑟 = ∑ 𝑉𝑎𝑛𝑎𝑙𝑜𝑔 4095 0 4096 Volts (V) Error Up Abs Cummulative absolute error mean on the up side of the triangle waveform 𝐸𝑟𝑟𝑜𝑟 = ∑ �𝑉𝑎𝑛𝑎𝑙𝑜𝑔�4095 0 4096 Volts (V) Error Down Cummulative error mean on the down side of the triangle waveform 𝐸𝑟𝑟𝑜𝑟 = ∑ 𝑉𝑎𝑛𝑎𝑙𝑜𝑔 0 4095 4096 Volts (V) Error Down Abs Cummulative absolute error mean on the down side of the triangle waveform 𝐸𝑟𝑟𝑜𝑟 = ∑ �𝑉𝑎𝑛𝑎𝑙𝑜𝑔�0 4095 4096 Volts (V)
  • 25. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 25 of 32 Status Boolean indicator • 0: No problem detected, analog values are in the acceptable range • 1: Problem detected retrieved analog values are out of the [0/1]
  • 26. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 26 of 32 8. 7BBibliography  https://www.arduino.cc/en/Main/ArduinoBoardUno  https://www.sparkfun.com/products/11021  https://www.sparkfun.com/products/12761  https://www.adafruit.com/product/264  https://www.sparkfun.com/products/12918  http://www.win.tue.nl/pinpasjc/docs/apis/offcard/com/ibm/jc/tools/JCShell.html  http://www.cadsoftusa.com/  https://www.arduino.cc/en/Main/Software
  • 27. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 27 of 32 9. 8BAnnexes
  • 28. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 28 of 32
  • 29. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 29 of 32
  • 30. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 30 of 32
  • 31. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 31 of 32
  • 32. Biomechatronics Group MIT Media Lab Encapsulation Experiment Design Report System Testbench All information provided in this document is subject to legal disclaimers. MIT B.V. 2013. All rights reserved. Design Document Rev. 12 — March 21, 2016 32 of 32