-
1Installing the DaisyDriver GUI for Automated Microscopy
You Will Need:
- 1 Raspberry Pi 3B or 3B+ with the latest version of Raspbian Stretch installed
- 1 PiCamera v2
- 1 FergBoard
- 1 OpenFlexureScope (with motor attachment lugs)
- 3 28BYJ-48 motors
DaisyDriver or DaisyDriverLite?
There are two versions of the GUI, DaisyDriver and DaisyDriverLite. DaisyDriver is the fully featured version of the software, with features for moving the microscope and scheduling time series image captures. DaisyDriverLite is a pared-down version of the software, featuring only simple image previews and microscope movement controls. The installation procedure for both versions is similar, the version given below works for DaisyDriver. If you wish to install DaisyDriverLite, change all instances of "DaisyGUI" to "DaisyLiteGUI".
More information, as well as the source code and build history for both versions is available at https://github.com/OpenDaisy-Microscopy
Installation Procedure- Open terminal window and navigate to the directory you want to install DaisyGUI
- Enter the command
<pre class="hljs bash">git <span class="hljs-keyword">clone</span> https:<span class="hljs-comment"><a target="_blank" rel="noopener noreferrer" href="<a target="_blank" rel="noopener noreferrer" href="//github.com/OpenDaisy-Microscopy/DaisyGUI.git">//github.com/OpenDaisy-Microscopy/DaisyGUI.git</a>"><a target="_blank" rel="noopener noreferrer" href="//github.com/OpenDaisy-Microscopy/DaisyGUI.git">//github.com/OpenDaisy-Microscopy/DaisyGUI.git</a></a></span></pre>
- Once this has finished, navigate into the DaisyGUI folder using
<pre class="hljs bash"><span class="hljs-built_in">cd</span> DaisyGUI</pre>
- Then run the install script to ensure all required dependencies are installed
<pre class="hljs bash">bash <span class="hljs-operator"><span class="hljs-keyword">install</span>.sh</span></pre>
- Now, to open DaisyGUI use the command
<pre class="hljs bash"><span class="hljs-title">python3</span> DaisyGUI.py</pre>
- When opening DaisyGUI subsequently, you will need to navigate to this directory again and run the command in step 5.
-
2Assembling Fergboards Using a Hotplate
You Will Need:
- 1 Fergboard PCB
- (optional) 1 FergBoard solder stencil
- 1 BoM, as listed in the FergBoard design files
- 200 ml Isopropanol
- Solder paste
- 2 hotplates capable of maintaining temperatures of 50◦C to 400◦C
- 1 steel or aluminium plate large enough to support the Fergboard
- 2 pairs of spade tipped tweezers
- 1 pair safety glasses
- 1 pair heat resistant gloves.
Soldering Procedure:
- Set one hotplate next to the other and ensure the tops are clean and free from distortion. Turn one on to 100◦C, and the other to 350◦C. Allow ample time for them to come to temperature
- Apply solder paste using either a stencil or an applicator syringe. A stencil is recommended due to the higher precision of paste deposition it offers, as well as the superior evenness of the applied paste thickness.
- Place surface mount components on the board, noting that slight errors in the positions of the components will generally be corrected by the surface tension of the solder at reflow.
- Wearing the safety gloves and glasses, position the metal plate on the 100◦C plate, and allow it to come to temperature. Note that thermal distortion of the plate may initially occur, which can be corrected by pressing down on the corners of the plate with the tweezers.
- Once the plate has come to temperature, place the PCB on it and wait for up to two minutes for it to heat up. During this time, thermal distortions can be corrected by pushing gently on the corners of the PCB, in the same manner as step 4. The solder paste may change slightly in appearance, and the flux may activate.
- Once the PCB has come to temperature on the 100◦C metal plate, transfer the PCB on the metal plate to the 350◦C hotplate. Correct thermal distortions as before, and observe the pads of the PCB carefully. The solder paste should begin to melt within 2 minutes, and be fully molten within 3. Any pads that do not reflow within 3 minutes can be corrected by hand using a rework station. Take care also that the silkscreen is not scorched before the PCB reflows; if this occurs, then a redesign of the board may be necessary.
- Transfer the PCB and the metal plate back to the 100◦C hotplate for approximately one minute and then to a wire rack. This step is to avoid thermal shock to the components. Once the PCB has cooled to around 50◦C, the metal plate can be safely extracted.
- Repeat steps 1-7 with all further PCBs to be soldered, then turn off the hotplates and allow them to cool. Wash the PCBs with isopropanol and allow to dry.
- Solder any remaining through-hole components in by hand.
-
3Programming A FergBoard
You Will Need:
- 1 Arduino ISP or UNO
- 1 FergBoard
- 1 Micro USB B to USB A cable
- 1 computer terminal loaded with the Arduino IDE
Programming your Boards
Programming FergBoards is done in two steps; an initial bootloader burn that only needs to be performed once, and a subsequent programming step where the actual program is loaded.
- Programming the bootloader: This is most easily performed using an Arduino ISP programmer (https://store.arduino.cc/arduino-isp), which can be connected to the ICSP header of the Fergboard directly. From there, load the Arduino IDE, select Arduino Micro from the Tools > Boards menu, and press Burn Bootloader from the Tools > Boards menu. Alternatively, an Arduino Uno or similar can be used as a programmer, by following the Arduino instructions given here (https://www.arduino.cc/en/Tutorial/ArduinoISP).
- Writing the Code: Once the bootloader has been written initially, writing the actual code is simply a case of connecting the Fergboard to a USB port using the USB micro connector, selecting Arduino Micro from the Tools > Boards menu, and uploading the code you wish to run on the Fergboard. Any subsequent revisions can be uploaded directly to the fergboard without reloading the bootloader.
-
4Using the DaisyDriver system
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.