Tuesday, September 25, 2018

Capstone Week 4 - Open Source Hardware Workflow

This week had a bunch of good reading about interview questions, getting your foot in the door at a new job, etc. I enjoyed that reading but didn't really get much out of it. I am starting a new job soon, if I lost that job I have a few good backup options with great people. Being in between jobs this week does mean one thing: no access to SolidWorks. So what should I do? Well I have been thinking this day would come, and don't really like expensive software or "cloud CAD" like fusion 360. These options are good for high end design and manufacturing. A lot of what I have made over the years is pretty simple though. That is where FreeCAD comes in.


FreeCAD is the mechanical counter part to KiCAD (which is for circuit board design). They are made by different people, but combine you can design electrical and mechanical components. I have messed around with FreeCAD a little bit but this was my first week really using it to try to design something. It went OK so far, but I will really commit to using FreeCAD for all of my open source projects moving forward. The overall open source software work flow for my projects will include all three of the following:

KiCAD - Circuit Boards
FreeCAD - Mechanical Design
Cura - 3d printing, I will use the lulzbot edition, which combines an open source 3d printer with open source software. 
EMC2 - CNC machine control, milling metal and plastics

Each of these programs is free and has their source code available online. The more people that use this kind of workflow the more money we can all save and the more we can collaborate. If you are going to sink a ton of time into a project, why not give it a long life by having it be open source? That seems to be the way to go to me. 



Monday, September 17, 2018

Capstone Week 3 - Integration time, averaging, and repeatability

This weeks learning came in form of a series of graphs as the embedded and control panel software were modified simultaneously. This path began with  erratic values given from a high intensity flashing light source with low sensor integration time.
 
Poor target illumination(intense short flash) and sensor timing yield erratic values with wide range. Low integration time also gave a narrow range of values from maximum to minimum light intensities. Increasing the integration time of the light sensors gave a wider value range and higher resolution.

Illuminating the target before sensing, averaging multiple samples, and receiving stable values from the 18 light channels.

 Running two rounds of calibration using six sample concentrations with stable and repeatable values 

 Final result with one invalid value, possible swap or mixing error. 
 
Modifying the NodeRed display panel software and embedded software simultaneously appears to be a good way to quickly experiment with a device and close in on a desired result. I would recommend this route to others doing similar development efforts. 

Monday, September 10, 2018

Capstone Week 2 - project planning as an explorer with a funny hat on a 3d surface



    This week came with an important decision to make. The sensor I had selected was not performing at the level that I would like to see for this kind of device. So the sensor was immediately abandoned and a new sensor was connected to take its place. One quarter of the way through a project it is critical to have the basic functionality established so that a full evaluation can take place. If that means using cardboard and hot glue with some development kits then that can work. The important part is to be able to have full project visibility by knowing the components and how data travels between them as a connected graph.
   Another aspect of this weeks development cycle was prototyping material selection. I choose to use hot glue and cardboard with scissors. At first that seemed a little odd to me, selecting from processes like laser cutting and 3d printing. In reality this does exactly what I need: hold a test tube, light source, and light sensor in a repeatable position. It also has the benefit of reducing the impact of the high brightness LED flash on people around the device.
   By pivoting as necessary and not wasting effort and material with unnecessary prototypes this project can hit it's objectives.
   This is the strategy I try to follow for any project: There are hills and valleys in the problem space for any new development. If you can't get up on top of the hills to see into the valleys you're not sure what you will find. Climbing a few of the key mountains early on, even imperfectly, gives you visibility and functionality. Each of the valleys you see could take years to fully explore. It is critical not to get trapped in these valleys though. So get up on the hills, build graphs showing their relations, and map the surface to project completion.

Monday, September 3, 2018

Capstone Week 1 - prototyping

Nitrate solutions of varying concentration

   This week was all about MQTT, Mosquitto, NodeRed, and the ESP8266. At the start of a new project it is important to hit all areas and find your risk items. For my colorimeter capstone that meant setting up the server, building and programming an embedded device, running first dashboard trials and taking real measurements.The results of each step in this first week prototyping process will determine the direction of the project for the remainder of the course. 

   The first risk item identified was the lighting source. Initially the LED was run off a 9V battery and resistor but an unstable spiking and then dropping off light level was measured. To accommodate this spike and drop an AMLD-6070Z LED power supply was added. This device was configured to have a constant but adjustable current output to stabilize the lighting source.
NodeRed flow for receiving colorimeter data and estimating nitrate






Dashboard for basic nitrate display & debug

  With only three data points and a preliminary sensor device the results are not completely solid. Averaging of 20 samples was used to remove noise in the sensor data. This will be combined with more data points on the calibration curve. No housing has been built, so there are other lighting consistency concerns to address moving forward. These concerns revolve around the repeatability of the light path going through the test tubes, and exterior lighting. Adding a housing which gives repeatable positioning between the light source, sample, and detector should also help improve these results. In addition it will block ambient light which will remove another variable from the lighting equation. 

 
First known sample results
    Overall the strategy for this project has been to hit the key targets, then improve each of those targets as time allows. That strategy will result in a functioning device with a full scope of improvements and risk items for device success. Moving across targets like this on a project is a critical skill to have in a career within technology development. Collecting user feedback involves rapid iteration and review. If a long time passes between the availability of functional software then the user can't provide feedback. By operating my projects in this fashion I can continually integrate user feedback by showing demonstration sections that operate.