Skip to content

Final project: MILQ




MILQ its a device for checking the freshness of a milk sample by measuring electrical conductivity, it uses a disposable espresso cup as sample collector and plots a graph on its LCD display, and reads FDX RFID 134KHZ animal earring tags.


  • Based on ATSAMD11C14A ARM 32 bits Microcontroller.
  • up to 800 Samples on 10 secs.
  • 9V battery
  • Reads FDX Animal tag rfid.

Results obtained:

The device measures electrical conductivity of samples, thus it could be programmed to measure pH of substances. You can check this tests


CERN Open Hardware Licence Version 2 - Strongly Reciprocal

CERN Open Hardware Licence Version 2 - Strongly Reciprocal


CERN has developed this licence to promote collaboration among
hardware designers and to provide a legal tool which supports the
freedom to use, study, modify, share and distribute hardware designs
and products based on those designs. Version 2 of the CERN Open
Hardware Licence comes in three variants: CERN-OHL-P (permissive); and
two reciprocal licences: CERN-OHL-W (weakly reciprocal) and this
licence, CERN-OHL-S (strongly reciprocal).

The CERN-OHL-S is copyright CERN 2020. Anyone is welcome to use it, in
unmodified form only.

Use of this Licence does not imply any endorsement by CERN of any
Licensor or their designs nor does it imply any involvement by CERN in
their development.

1 Definitions

  1.1 'Licence' means this CERN-OHL-S.

  1.2 'Compatible Licence' means

       a) any earlier version of the CERN Open Hardware licence, or

       b) any version of the CERN-OHL-S, or

       c) any licence which permits You to treat the Source to which
          it applies as licensed under CERN-OHL-S provided that on
          Conveyance of any such Source, or any associated Product You
          treat the Source in question as being licensed under

  1.3 'Source' means information such as design materials or digital
      code which can be applied to Make or test a Product or to
      prepare a Product for use, Conveyance or sale, regardless of its
      medium or how it is expressed. It may include Notices.

  1.4 'Covered Source' means Source that is explicitly made available
      under this Licence.

  1.5 'Product' means any device, component, work or physical object,
      whether in finished or intermediate form, arising from the use,
      application or processing of Covered Source.

  1.6 'Make' means to create or configure something, whether by
      manufacture, assembly, compiling, loading or applying Covered
      Source or another Product or otherwise.

  1.7 'Available Component' means any part, sub-assembly, library or
      code which:

       a) is licensed to You as Complete Source under a Compatible
          Licence; or

       b) is available, at the time a Product or the Source containing
          it is first Conveyed, to You and any other prospective

            i) as a physical part with sufficient rights and
               information (including any configuration and
               programming files and information about its
               characteristics and interfaces) to enable it either to
               be Made itself, or to be sourced and used to Make the
               Product; or
           ii) as part of the normal distribution of a tool used to
               design or Make the Product.

  1.8 'Complete Source' means the set of all Source necessary to Make
      a Product, in the preferred form for making modifications,
      including necessary installation and interfacing information
      both for the Product, and for any included Available Components.
      If the format is proprietary, it must also be made available in
      a format (if the proprietary tool can create it) which is
      viewable with a tool available to potential licensees and
      licensed under a licence approved by the Free Software
      Foundation or the Open Source Initiative. Complete Source need
      not include the Source of any Available Component, provided that
      You include in the Complete Source sufficient information to
      enable a recipient to Make or source and use the Available
      Component to Make the Product.

  1.9 'Source Location' means a location where a Licensor has placed
      Covered Source, and which that Licensor reasonably believes will
      remain easily accessible for at least three years for anyone to
      obtain a digital copy.

 1.10 'Notice' means copyright, acknowledgement and trademark notices,
      Source Location references, modification notices (subsection
      3.3(b)) and all notices that refer to this Licence and to the
      disclaimer of warranties that are included in the Covered

 1.11 'Licensee' or 'You' means any person exercising rights under
      this Licence.

 1.12 'Licensor' means a natural or legal person who creates or
      modifies Covered Source. A person may be a Licensee and a
      Licensor at the same time.

 1.13 'Convey' means to communicate to the public or distribute.

2 Applicability

  2.1 This Licence governs the use, copying, modification, Conveying
      of Covered Source and Products, and the Making of Products. By
      exercising any right granted under this Licence, You irrevocably
      accept these terms and conditions.

  2.2 This Licence is granted by the Licensor directly to You, and
      shall apply worldwide and without limitation in time.

  2.3 You shall not attempt to restrict by contract or otherwise the
      rights granted under this Licence to other Licensees.

  2.4 This Licence is not intended to restrict fair use, fair dealing,
      or any other similar right.

3 Copying, Modifying and Conveying Covered Source

  3.1 You may copy and Convey verbatim copies of Covered Source, in
      any medium, provided You retain all Notices.

  3.2 You may modify Covered Source, other than Notices, provided that
      You irrevocably undertake to make that modified Covered Source
      available from a Source Location should You Convey a Product in
      circumstances where the recipient does not otherwise receive a
      copy of the modified Covered Source. In each case subsection 3.3
      shall apply.

      You may only delete Notices if they are no longer applicable to
      the corresponding Covered Source as modified by You and You may
      add additional Notices applicable to Your modifications.
      Including Covered Source in a larger work is modifying the
      Covered Source, and the larger work becomes modified Covered

  3.3 You may Convey modified Covered Source (with the effect that You
      shall also become a Licensor) provided that You:

       a) retain Notices as required in subsection 3.2;

       b) add a Notice to the modified Covered Source stating that You
          have modified it, with the date and brief description of how
          You have modified it;

       c) add a Source Location Notice for the modified Covered Source
          if You Convey in circumstances where the recipient does not
          otherwise receive a copy of the modified Covered Source; and

       d) license the modified Covered Source under the terms and
          conditions of this Licence (or, as set out in subsection
          8.3, a later version, if permitted by the licence of the
          original Covered Source). Such modified Covered Source must
          be licensed as a whole, but excluding Available Components
          contained in it, which remain licensed under their own
          applicable licences.

4 Making and Conveying Products

You may Make Products, and/or Convey them, provided that You either
provide each recipient with a copy of the Complete Source or ensure
that each recipient is notified of the Source Location of the Complete
Source. That Complete Source is Covered Source, and You must
accordingly satisfy Your obligations set out in subsection 3.3. If
specified in a Notice, the Product must visibly and securely display
the Source Location on it or its packaging or documentation in the
manner specified in that Notice.

5 Research and Development

You may Convey Covered Source, modified Covered Source or Products to
a legal entity carrying out development, testing or quality assurance
work on Your behalf provided that the work is performed on terms which
prevent the entity from both using the Source or Products for its own
internal purposes and Conveying the Source or Products or any
modifications to them to any person other than You. Any modifications
made by the entity shall be deemed to be made by You pursuant to
subsection 3.2.


  6.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products
      are provided 'as is' and any express or implied warranties,
      including, but not limited to, implied warranties of
      merchantability, of satisfactory quality, non-infringement of
      third party rights, and fitness for a particular purpose or use
      are disclaimed in respect of any Source or Product to the
      maximum extent permitted by law. The Licensor makes no
      representation that any Source or Product does not or will not
      infringe any patent, copyright, trade secret or other
      proprietary right. The entire risk as to the use, quality, and
      performance of any Source or Product shall be with You and not
      the Licensor. This disclaimer of warranty is an essential part
      of this Licence and a condition for the grant of any rights
      granted under this Licence.

      the maximum extent permitted by law, have no liability for
      direct, indirect, special, incidental, consequential, exemplary,
      punitive or other damages of any character including, without
      limitation, procurement of substitute goods or services, loss of
      use, data or profits, or business interruption, however caused
      and on any theory of contract, warranty, tort (including
      negligence), product liability or otherwise, arising in any way
      in relation to the Covered Source, modified Covered Source
      and/or the Making or Conveyance of a Product, even if advised of
      the possibility of such damages, and You shall hold the
      Licensor(s) free and harmless from any liability, costs,
      damages, fees and expenses, including claims by third parties,
      in relation to such use.

7 Patents

  7.1 Subject to the terms and conditions of this Licence, each
      Licensor hereby grants to You a perpetual, worldwide,
      non-exclusive, no-charge, royalty-free, irrevocable (except as
      stated in subsections 7.2 and 8.4) patent licence to Make, have
      Made, use, offer to sell, sell, import, and otherwise transfer
      the Covered Source and Products, where such licence applies only
      to those patent claims licensable by such Licensor that are
      necessarily infringed by exercising rights under the Covered
      Source as Conveyed by that Licensor.

  7.2 If You institute patent litigation against any entity (including
      a cross-claim or counterclaim in a lawsuit) alleging that the
      Covered Source or a Product constitutes direct or contributory
      patent infringement, or You seek any declaration that a patent
      licensed to You under this Licence is invalid or unenforceable
      then any rights granted to You under this Licence shall
      terminate as of the date such process is initiated.

8 General

  8.1 If any provisions of this Licence are or subsequently become
      invalid or unenforceable for any reason, the remaining
      provisions shall remain effective.

  8.2 You shall not use any of the name (including acronyms and
      abbreviations), image, or logo by which the Licensor or CERN is
      known, except where needed to comply with section 3, or where
      the use is otherwise allowed by law. Any such permitted use
      shall be factual and shall not be made so as to suggest any kind
      of endorsement or implication of involvement by the Licensor or
      its personnel.

  8.3 CERN may publish updated versions and variants of this Licence
      which it considers to be in the spirit of this version, but may
      differ in detail to address new problems or concerns. New
      versions will be published with a unique version number and a
      variant identifier specifying the variant. If the Licensor has
      specified that a given variant applies to the Covered Source
      without specifying a version, You may treat that Covered Source
      as being released under any version of the CERN-OHL with that
      variant. If no variant is specified, the Covered Source shall be
      treated as being released under CERN-OHL-S. The Licensor may
      also specify that the Covered Source is subject to a specific
      version of the CERN-OHL or any later version in which case You
      may apply this or any later version of CERN-OHL with the same
      variant identifier published by CERN.

  8.4 This Licence shall terminate with immediate effect if You fail
      to comply with any of its terms and conditions.

  8.5 However, if You cease all breaches of this Licence, then Your
      Licence from any Licensor is reinstated unless such Licensor has
      terminated this Licence by giving You, while You remain in
      breach, a notice specifying the breach and requiring You to cure
      it within 30 days, and You have failed to come into compliance
      in all material respects by the end of the 30 day period. Should
      You repeat the breach after receipt of a cure notice and
      subsequent reinstatement, this Licence will terminate
      immediately and permanently. Section 6 shall continue to apply
      after any termination.

  8.6 This Licence shall not be enforceable except by a Licensor
      acting as such, and third party beneficiary rights are
      specifically excluded.


All this material was found in the inventory of Agrilab and was acquired from different vendors like Digikey check the lists bellow and find the suppliers in the links indicated.


Tool Specifications
Roland SRM-20 milling machine or alike Sacrificial plate is needed for safety of the machine
Prusa i3 Mk2 3D printer machine or alike Resolution needed to 0.10 mm for maximum dimensional accuracy with 0.4 mm nozzle.
Laser cutting machine Effective working area more than 50 x 50 cms, power 150 Watts, CO2 and security protocol compliant trained operation, Clean working space and Fire Extinguisher is mandatory
Weller Pu-81 Soldering iron or alike Precision tip for maximum accuracy, tool folder for comfort and security


Material Quantity Price Specifications
Plexiglass 75 x 15 cms or 40 x 30 cms 32.24 Euro/ m^2 6 mm thickness transparent or translucent
PLA Filament for 3D printer > 10 grams 1.75 diameter
FR1 Electronic board for milling > 14 x 9 cms 1.8 mm thickness, flat, single sided
1.0 mm milling bit Multiple This tip is used for milling the FR1 electronic board, maximum quality the better for accurate trace milling
0.4 mm milling bit Multiple x2 This tip is used for milling the FR1 electronic board, maximum quality the better for accurate trace milling, this component its extremely fragile
Double face tape 1 roll Stickiness should be enough to fix the FR1 to the sacrificial layer during the milling process


Color Quantity Specifications Price
Red > 80 centimeter Caliber AWG 24 17.22 USD
Blue > 80 centimeter Caliber AWG 24 4.75 USD
Optional 1 > 30 centimeter Caliber AWG 24 4.75 USD
Optional 2 > 30 centimeter Caliber AWG 24 4.75 USD
10 wires flat cable 1.27 mm pitch JTAG connector


Type Quantity Specifications
Dupont JST XH Link for purchasing
2 Pins 6 male and female, plus connectors
3 Pins 1 male and female, plus connectors
4 Pins 4 male and female, plus connectors
Dupont Jumper Pin Link for purchasing
4 Pins 1 female, plus connectors
JTAG self punching
2x5 1 female, 1.27 mm pitch

Joinery (plastic):

Link 9.90 USD

Type Quantity Specifications
Nylon hexagonal spacers 2 5 mm spacer
Nylon hexagonal nuts 14 3 mm height
Nylon bolt 2 6 mm height
Nylon bolt 4 12 mm height

Joinery (metal):

Link 19.99 USD

Type Quantity Specifications
M2 precision bolt 8
M2 hexagonal nut 8

Electronic components:

Control board components:


Reference Value Price Buy Footprint Datasheet
J3 Conn_01x04_Female digikey:PinHeader_1x4_P2.5mm_Drill1.1mm ~
R2 10K 0.10 USD fabacademy2021:R_1206 ~
C7 0.1uF 0.36 USD fabacademy2021:C_1206
C3 1uF 0.28 USD fabacademy2021:C_1206
J5 Conn_01x04_Female digikey:PinHeader_1x4_P2.5mm_Drill1.1mm ~
D1 LED 0.13 USD fabacademy2021:LED_1206
R7 100 0.10 USD fabacademy2021:R_1206 ~
C6 0.1uF 0.36 USD N4IgTCBcDaIMwE4EFoAsA2A7K5BGZAcgCIgC6AvkA fabacademy2021:C_1206
J6 Conn_01x05_Female digikey:PinHeader_1x5_P2.5mm_Drill1.1mm ~
U1 Regulator_Linear_LM3480-3.3V-100mA 1.15 USD fabacademy2021:fab-SOT23
R10 10k 0.10 USD fabacademy2021:R_1206 ~
R9 10k 0.10 USD fabacademy2021:R_1206 ~
J1 Conn_ARM_JTAG_SWD_10 fabacademy2021:fab-SWD10pin127pitch.lib
R11 0 0.10 USD fabacademy2021:R_1206 ~
R8 10K 0.10 USD fabacademy2021:R_1206 ~
U5 ATSAMD11C14A-SS 1.39 USD fabacademy2021:SOIC-14_3.9x8.7mm_P1.27mm
J2 Conn_01x02 digikey:PinHeader_1x2_P2.5mm_Drill1.1mm ~
J4 Conn_01x02 digikey:PinHeader_1x2_P2.5mm_Drill1.1mm ~
R1 0 0.10 USD N4IgTCBcDaIMwEYEFoAMA6VBRASgYQBVkA5AERAF0BfIA fabacademy2021:R_1206 ~
C9 0.1uF 0.30 USD N4IgTCBcDaIMwE4EFoAsA2A7K5BGZAcgCIgC6AvkA fabacademy2021:C_1206
U2 Regulator_Linear_NCP1117-5.0V-1A 0.56 USD fabacademy2021:SOT-223-3_TabPin2
C2 1uF 0.28 USD N4IgTCBcDaICxwKwFoCMcwGY3IHIBEQBdAXyA fabacademy2021:C_1206 ~
J7 Conn_01x02_Female digikey:PinHeader_1x2_P2.5mm_Drill1.1mm ~
R3 50 0.10 USD fabacademy2021:R_1206 ~
D2 LED 0.13 USD fabacademy2021:LED_1206
Q1 MOSFET_P-CH_30V_1.1A 0.47 USD fabacademy2021:fab-SOT-23
C1 1uF 0.30 USD fabacademy2021:C_1206 ~

Estimated cost: 6.51 USD without connectors

Button board components


Reference Value Price Buy Footprint Datasheet
SW1 BUTTON_PTS636 1.02 USD fabacademy2021:Button_Omron_B3SN_6x6mm
R6 100 0.10 USD fabacademy2021:R_1206 ~
R2 0 0.10 USD fabacademy2021:R_1206 ~
R4 50 0.10 USD fabacademy2021:R_1206 ~
R8 1k 0.10 USD fabacademy2021:R_1206 ~
SW2 BUTTON_PTS636 1.02 USD fabacademy2021:Button_Omron_B3SN_6x6mm
SW3 BUTTON_PTS636 1.02 USD fabacademy2021:Button_Omron_B3SN_6x6mm
J1 Conn_01x03_Female USD digikey:PinHeader_1x3_P2.54mm_Drill1.02mm ~
R7 100 0.10 USD fabacademy2021:R_1206 ~
D3 LED 0.13 USD fabacademy2021:LED_1206 ~
R5 100 0.10 USD fabacademy2021:R_1206 ~
D2 LED 0.13 USD fabacademy2021:LED_1206 ~
R3 100 0.10 USD fabacademy2021:R_1206 ~
D1 LED 0.13 USD fabacademy2021:LED_1206 ~
Estimated cost: 4.15 USD with out connectors


Files for laser cut

Settings for 100 Watts CO2 laser cutter machine:

  • Speed: 15
  • Power: 20

Files for approximate kerf: 0.2 mm.


Piece Quantity File
Side plate 3 side plate


Piece Quantity File
Switch plate 1 switch plate


Piece Quantity File
Front plate 1 Front plate


Piece Quantity File
Rear plate 1 rear plate


Piece Quantity File
Middle plate 1 middle plate

Files for 3D printing

Settings for FDM 1.75 mm heated bed printer:

  • Infill: 10%
  • Generic PLA filament
  • First layer: - Layer height: 0.20 mm - Nozzle temp: 215 C - Bed temp: 60 C
  • Other layers: - Layer height: 0.20 mm - 210 C - 60 C
  • Shell: 2
  • Solid layers every 4 layers
  • Minimum wall thickness: 0.7 mm
  • Perimeter speed: 50 mm/s
  • External perimeter speed: 35 mm/s

Download Prusa Slicer configuration file

Download Prusa Slicer adjustments

Piece Quantity File
Buttons 1 buttons

This link redirects to a pre-filled form of the price calculator. 2.32 Euros by Prusa price calculator

Piece Quantity File
Holders 4 Holders

This link downloads the price pdf file generated by Prusa Price calculator 2.12 Euros by Prusa price calculator

Files for circuit milling




Piece Quantity Traces Text Holes Outline
Buttons board 1 Button traces Buttons holes Buttons outline




Piece Quantity Traces Text Holes Outline
Control board 1 control traces control text control holes control outline

Electrical conductivity



Piece Quantity Traces Text Holes Outline
EC probe board 1 ec traces ec outline

About Machining cost

For Roland SRM

Spindle warranty time before replacement its 500 hours

We can estimate the cost dividing the spindle price by the warranty time.

Spindle warranty time before replacement its 500 hours

At 2021 its 259 USD plus taxes and delivery.

We can say machining cost will be about:

259/500 = 0.518 USD per hour

Adding electricity cost in France by

Spindle warranty time before replacement its 500 hours

Estimated cost: 0.5227 USD per hour

Control board time: 45 min at 70% speed.

Button board time: 25 min at 70% speed.

Probe board time: 7 mins at 70% speed.

Estimated machining cost: 0.67 USD

For Laser cutter machine

Plexiglass white mate price its around 12 Eur per 60x20 cm

Plexiglass transparent price its around 7 Eur per 60x20 cm

Price in USD its 22.43 of material.

Acrylic cutting price cost around $0.15 USD per linear inch. 0.06 USD per centimeter.

Spindle warranty time before replacement its 500 hours

We can estimate the machining cost at:

Rear plate: 120 mm x 4 sides = 480 mm

Middle plate: 480 mm + cuts (20 x 40 mm + 15 x 90 mm)

Front plate = 250 mm x 120 mm

Side plates = 40x 100 mm x 4 pieces.

Perimeter estimated total: 3150 mm

Estimated cost = 31.50cm x 0.06 USD/cm = 1.89 USD


Battery, board and switch

Battery board Switch
9V connector 0x2 connector male Solder to pins


Board i2c to LCD Display

LCD Board (TOP)
GND 3.3V
3.3V SDA


Board 5 pins conn to buttons board

Board (TOP):

1 5 V
2 Signal

Buttons (TOP):

1 5 V
2 Signal


Electro-conductive probe

Connector VOUT (TOP):


Connector AIN (TOP):



Thermistor (optional)


This optional probe implements a 1K Thermistor and a voltage divider circuit.



Component Price Vendor
1K Thermistor
Piece Quantity Traces Text Holes Outline
EC probe board 1 ec traces ec traces ec outline


Control board

Suggested order for soldering components:

Preferably use, lead free solder.

  1. Microcontroller
  2. Transistors
  3. Resistors
  4. Capacitors
  5. LEDs
  6. Connectors

Milled board PCB:


Soldered components:


Connectors on back side:


Buttons board

Suggested order for soldering components:

Preferably use, lead free solder.

  1. Resistors
  2. LEDs
  3. Push buttons
  4. Connector


Electrical conductivity board

Suggested order for soldering components:

Preferably use, lead free solder.

PAD Value Wire color
middle 2 GND WHITE
middle 1 GND WHITE

This image is from the back so the order of the colors is inverted.


Assembly process

Assemble the middle plate with the LCD display, using:

Part Quantity Reference Notes
Vinyl bolt 12 mm 4 Ref
Vinyl hexagonal nut 8 Ref 4 to attach bolts to middle plate as shown bellow, 4 more to fix LCD display to middle plate.
Middle plate 1 Ref

laser_01 laser_01

Assemble the buttons to the front place using:

Part Quantity Reference Notes
Vinyl bolt 12 mm 2 Ref
Vinyl hexagonal nut 4 Ref 2 to attach 3D print buttons to front plate as shown bellow, 2 more to fix pcb board to 3d print.
3D print buttons 1 Ref
PCB board buttons 1 Ref

laser_01 laser_01 laser_01

Part Quantity Reference Notes
Battery wire 1 Ref
Switch plate 1 Ref


Part Quantity Reference Notes
Side plate 3 Ref


Assemble LCD assemble to side plates and switch plate and make a box.



Then assemble front plate to the box.

laser_01 laser_01

Part Quantity Reference Notes
Holder 4 Ref
M2 Hexagonal nut 8 REF
Rear plate 1 Ref
M2 bolt 4 Ref

laser_01 laser_01 laser_01 laser_01

Part Quantity Reference Notes
Control board 1 Ref


Part Quantity Reference Notes
Electro conductive probe 1 Ref

laser_01 laser_01

Part Quantity Reference Notes
i2c wire 1 Ref
Board buttons wire 1 Ref

laser_01 laser_01

Wires and connector image reference.


Closing the box.


Adjusting bolts.


Final result.



This program uses the arduino IDE compile tools.

This program plots an horizontal graph to visualize step response reading analog signals from PIN_04 with 12 bits resolution.
On PIN_02 (DAC0) its emitted an analog signal that later will be transmitted using the probe board to liquids to measure the conductivity of it.  

Conductivity increases or decreases depending in the substance so, its possible to observe a step response signal in the horizontal graph.
The program runs a cycle of n number of samples, saves the results of every sample on an array and then shows the average value.

It also shows a custom character for the AgriLab logo.

IO pins:
PA02 -> DAC0 analogWrite
PA05 <- analogRead

Autor: Antonio de Jesus Anaya Hernandez
Year: 2021
Org: Fab Academy
Lab: AgriLab
Country: France

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);

#define max_val 4000
#define sample_size 500
#define duty_cycle 1
#define lcd_scaler 2
#define lcd_segments 8
#define plot_mult ((max_val / lcd_segments)*2) * duty_cycle

uint8_t customChar[8] = {

void mkr_chrs(){

  uint8_t graphChar[8][8] = {B00000};

  for(short n = 0; n<7; n++){
  graphChar[n][n] = B11111;
  lcd.createChar(n, graphChar[n]);

void plot(short a, short c_pos){
   short a_p = (max_val - a) / plot_mult;

   if(a_p == 7){
   else if(a_p < 5){
   else {

void setup() {



  lcd.createChar(7, customChar);

  pinMode(4, INPUT);

void loop() {
    if(read_rfid() == false){

  short SAMPLES[sample_size-1];
  short mult = sample_size/20;


  for(short s = 0; s < sample_size; s++){
    analogWrite(DAC0, max_val);
    short ec_val = analogRead(4);
    analogWrite(DAC0, 0x0);

    SAMPLES[s] = ec_val;

    plot(ec_val, s/mult);



  short sum_ec = 0;

  for(short z = 0; z < sample_size; z++){
    sum_ec += SAMPLES[z];

void agrilab(){
  const char a[] = {"AgriLab"};

void rfid_msg(){

  lcd.print("To Start");
  lcd.print("Please scan a valid");
  lcd.print("RFID FDX tag...");

void bootstart_msg() {



void animation_01(short del_ay){
  short a;
  short b;
  for(a = 0; a < 20; a++){

unsigned long long convert(char num[]) {
   short len = 10;
   unsigned long long base = 1;
   unsigned long long temp = 0;

   for (short i=len-1; i>=0; i--) {

      if (num[i]>='0' && num[i]<='9') {
         temp += (num[i] - 48)*base;
         base = base * 16;
      else if (num[i]>='A' && num[i]<='F') {
         temp += (num[i] - 55)*base;
         base = base*16;
   return temp;

char rfid_tag [9];

bool read_rfid(){
  byte id =;
  rfid_tag[-1] = id;

  if (id == 2){
    for (short c = 8; c >=0; c--){
      byte bit_ =;
      rfid_tag[c] = bit_;

  unsigned long long num = convert(rfid_tag);

  return false;

Download code

Download binary for ATSAMD11C14A

Flashing code with EDBG ATSAMD11C14A programmer

To flash the firmware I used the Arduino IDE selecting the without bootloader option and then finding the temporal location of the compiled files and flashing the .bin file using my SAMD11C14 programmer board from week05 Electronics production




laser_01 laser_01

User interface

The layout in the display shows this information:

The animation in the row 4 changes by the current sample number.


The MAX value its equal to 4000 the maximun number I could use for memory size and 12 bits resolution for the analogWrite function.


I’ve tested the Electro-conductivity probe in water and creme.

On this video you can observe the step response in the horizontal graph.

Substance Samples per cycle Min Max Average
Tap water 100 25 27 26
Creme Legere 12% 100 202 214 208

Test results are: Tap water conducts less electricity than Creme legere.


For this process I’ve used bottled orange juice to compared the measurements with expired bottled pineapple juice.


Substance Samples per cycle Min Max Average Samples
Expired Bottled Pineapple Juice 500 67 80 73.5 80, 67
2nd Expired Bottled Pineapple Juice 500 17 225 121 132, 87, 17, 225
Bottled Orange juice 500 202 214 208 202, 205, 208

Results: The results show that there are variations depending on the sample composition, the first sample of expired pineapple juice was more watery. The first sample of expired pineapple juice was more concentrated.

I think the probe could be improved in the wiring and position of the board inside the device so there could be less interference in the measurements.

Answers of the approach

Bio sensors are difficult to design, and thus to manufacture, multiple things can change from one to other device with same designed parts.

This approach took an incredible amount of time in the design process, plus the complications of nowadays COVID-19 pandemic, but I hope this brings to someone else a bootstrap project to start with step response sensors.

After the week20 I’ve realized a lot of things like could change, like size, could be 60% less by using a smaller OLED display i2C, memory size of the SAMD11 wasn’t a problem using the Arduino IDE without bootloader.

The wired probe shows that there are variations depending on the position of the probe within the sample.

I’ve found any correlation to the freshness of the sample that could be coherent and definitive, thus for this evaluation I’ve found that the “freshness” on the orange juice made it more conductive that the expired pineapple juice sample.

The reason could be in the relationship between electrical conductivity and pH. substances close to neutral pH are less conductive we had the data from tap water showing low values in the test. And more acidic substances are more conductive due to the presence of more hydrogen ions.

Unimplemented buttons

Buttons were working thus the circuit design with LEDS made them way too much power consuming reducing battery life quickly.

Also the buttons require a calibration due to a variation in the analogread value depending on the battery charge.

RFID module wasn’t integrated due to lac of time. But I hope to have a couple more days to integrated it properly on the device. The problem is that the RFID baord doesn’t have any perforations to help me out attach the board to the device, so I’ve to design a holder fir the PCB and the antenna.

Design changes

Multivibrator circuit has been removed of the main control board, my plan its too add this to the probe as a module.

The closing mechanism for the rear plate has been replaced by the holders, the reason its that it didn’t work, the rear plate wasn’t tight sealed.

Device cost

Estimated to be right now at:

PCB total cost:

  • Control board components: 6.51
  • Buttons board components: 4.15
  • Machining time: 0.67

11.33 USD

Laser cut cost:

  • Material: 11.2
  • Machining: 1.89

13.09 USD

3D printing cost:

  • Buttons: 2.32 USD
  • Holders: 2.12 USD

4.44 USD

  • Connectors Dupont: 1 USD*
  • Connectors Dupont jumper: 1 USD*
  • Joinery approximate: 1 USD*
  • Wiring approximate: 1 USD*
  • Battery 9V: 1 USD
  • LCD 20 x 4: 7 USD

Estimated cost: 40.86 USD without cable packs, joinery pack and connectors pack.

Buying cables and joinery in packs:

  • Cables: 31.47
  • Joinery plastic pack: 9.90 USD
  • Joinery metal pack: 19.29 USD
  • Connectors pack 1: 4 USD
  • Connectors pack 2: 4.18 USD

Sub-total: 60.66 USD

Total: 101.52 USD

Electronics design

I’ve used parts of the circuits I’ve made on week09, week11 and week14.

Original design files


Solidworks assembly ZIP


Piece Quantity File
Control board 1 KiCAD, PCB, Schematic and netlist ZIP
Button board 1 KiCAD, PCB, Schematic and netlist ZIP
EC probe board 1 ec traces


SVG design files

Files for laser cut

Format: DXF

Piece Quantity File
Side plate 3 side plate
Switch plate 1 switch plate
Front plate 1 Front plate
Rear plate 1 rear plate
Middle plate 1 middle plate

Files for 3D printing

Format: STL

Piece Quantity File
Buttons 1 buttons
Holders 4 Holders

Files for circuit milling

Format: SVG

Piece Quantity Traces Text Holes Outline
Buttons board 1 Button traces Buttons holes Buttons outline
Control board 1 control traces control text control holes control outline
EC probe board 1 ec traces ec outline

Final presentation


Last update: July 12, 2021