Iteration 8

Science in your hand. A pocket-sized instrument capable of visualizing and exploring the world around you. (Iteration 8)

Similar projects worth following

It is my deep belief that knowledge brings about positive change.

We could live in a world where the same instrument that can show a child how much chlorophyll is in a leaf could also show how them much pollution is in the air around us, or given off by one's car. As an educator and a researcher, I feel that if people could easily discover things about their worlds that were also important social topics, that they would then make positive social choices, like reducing their emissions, or working towards cleaner industry in their communities.

By having access to general inexpensive sensing tools, people can learn about healthy leaves, clean air, clouds and the water cycle, energy efficient homes — and visualize abstract concepts like spectra or magnetism.

As a tool for exploration, we can discover things around us that we don't already know. And that's what it's about. Little discoveries, everywhere.

  • A Magnetic Imager Tile

    peter jansen07/29/2017 at 21:52 10 comments

    A quick update with a new sensor I've been working on, a magnetic imager tile (something like a "magnetic camera").  It's definitely very cool to see magnetic fields live!

    Magnetic Imager Tile

    I've always been interested in visualizing things that are challenging to visualize, particularly those that are pervasively around us.  Magnetic fields certainly qualify for this -- I think it's absolutely fascinating that they're everywhere, but that we (generally) don't make more than point measurements of the fields, and only very rarely are images taken. 

    The most intuitive way to make an imager for something is to get a whole bunch of single sensors for that something, and place them in an array.  Alternatively, you can take a single sensor, and physically translate it through space, as in Ted Yapo's magnetic field scanner ( ).  A few years ago I worked to build an imager by putting together an 8x8 array of the popular HMC5883L magnetometers, spaced about 1cm apart ( ).  This has plenty of positives -- each sensor is a 3-axis magnetometer, and the whole array could be read using a simple I2C interface.  Some of the difficulties are that such a large board with very tight-pitched components is a bit challenging to assemble -- I was only able to successfully assemble a 4x4 version, with the 8x8 (and it's 64 magnetometers) unfortunately only working as an object d'art.  One of the other challenges with the HMC5883 array was the packing density -- the number of external components meant the maximum density I could achieve were pixels (magnetometers) spaced 10mm (1cm) apart.

    It's been a few years since I had a go at this, and so I decided to put together another attempt: 

    • Simpler sensors: Large-pitch analog hall-effect sensors instead of I2C sensors. 
    • Higher density: a 4mm density using SOT-23 sensors requiring no external components
    • Addressable array: Analog addressing through a large array of analog multiplexers on the back of the board
    • Tileable: Able to create larger arrays by putting multiple boards adjacent to each other
    • Easy to solder: Only large pitched components, so it would be quick and easy to solder in a toaster reflow oven (for the array side) and with a hand iron (for the analog multiplexer side)
    • 12x12: The size of the array (12x12) makes it big enough to see interesting things, and small enough to (I hope) fit on the back of the eventual Iteration 8.

    I learned from my earlier attempt with the HMC5883L array that this would be a bit of a routing nightmare, and so I decided to try switching from EagleCAD to the open source KiCAD, to make use of it's push-and-shove router.  It took a bit of getting used to -- KiCAD still has significant usability issues, in my opinion -- but with some work the board artwork came together, with exactly enough room for everything.  The Hall Effect sensors and power traces are on the top side of the board, with the array of analog multiplexers to route the analog signals from the sensors placed on the bottom.   The bottom also contains an I2C I/O expander (U110) so that the array can be addressed using only 2 I2C pins instead of over a dozen address lines, as well as an external 14-bit SPI ADC (U111).  The raw analog signal is also broken out on the connector (J1), so that the board can be connected to an external ADC (like the internal ADC on an Arduino) very easily. 

    The board itself had very small 6 mil traces, which lead to some manufacturing issues.  I was able to cut around the bridged traces and wire-wrap fixes, and populated about half the array for testing:

    The bottom of the array, with the analog multiplexers:

    Frame Rate

    I ideally...

    Read more »

  • A first attempt at figuring out the MAX30105 Air Particle Sensor

    peter jansen03/27/2017 at 03:57 3 comments

    One of the areas of sensing that I don't have a lot of experience with is atmospheric sensing. While I've become familiar with sensors for temperature, pressure, and humidity, I am largely inexperienced with the array of sensors available for sensing various gasses or air quality metrics -- in large part because they've appeared too large or too power hungry for a handheld device, and/or generally having issues with accuracy. But clearly measuring air quality is an important social topic, and very useful for science education, and so it'd be great to be able to do this reliably in a small handheld instrument in one's pocket.

    I was excited last autumn to see Maxim release the MAX30105 Air Particle Sensor, an extremely small (~6x3x2mm) surface mount sensor listed as being able to detect air particles (they give the example of smoke detection on the product website). I was eager to see how this might work for detecting air particle measures like ambient dust level, or particle counts (e.g. PM2.5, a measure of how many particles are in the air that have a diameter of less than 2.5 microns), so I thought I'd run a few experiments.

    A quick first pass

    In order to see how well the MAX30105 compares with traditional air quality sensors, I ordered a few common air quality sensors (the DSM501A, above, and one of the popular Sharp line of sensors), and quickly cobbled together a MAX30105 breakout board to get a sense of what the data coming off the sensor looked like by eye. After about half an hour of recording in open air, I could easily notice changes in particle density from the DSM501A when (for example) opening up a window, but was not easily able to see these changes reflected in the MAX30105 data.

    The MAX30105 has 3 LED channels (red, IR, and green). Above are histograms of the counts coming off each channel. Before seeing this, I hypothesized that particle detection might appear as follows:

    • Hypothesis 1: A dust (or other particle) drifts by the sensor, partially reflecting some amount of light back towards the sensor, and shows as a (significant?) increase in the ADC count for one particular sample. Sampling over long periods of time then plotting a histogram, one would then expect to see a bimodal distribution -- a central bulge from returns where there was no reflection, then a smaller bulge of higher-intensity reflections, proportional to the dust sensity/properties of the air. (This is essentially how I understand the DSM501A functions -- using comparators to measure the number of counts over a certain threshold).
    • Hypothesis 2: The air generally reflects some very small proportion of light that one shines at it, proportional to the particle/dust density in the air. The general intensity of the reflection will correlate with the dust density in the air. (This is essentially how I understand the Sharp ambient dust sensor works).

    The above distributions look very close to unimodal Gaussian distributions -- so no extra overlapping distributions to support Hypothesis 1. The means also didn't seem to reflect Hypothesis 2, but I had very little data, and given the width of the distributions, any number of other issues could be at play -- noise from ambient light (though there is supposed to be some ambient rejection), improper mechanical placement, and many other issues.

    The MAX30105 datasheet is very light on details about the particle sensing application, so I e-mailed technical support with my data to see if any additional help or application notes were available. They were only able to say that the MAX30105 requires "very smart algorithms" to function, and that they were happy to sell those algorithms through a third-party distributor. It seems unusual to me to sell an air particle sensor without describing how it can be used for particle sensing, but hopefully with some work one can characterize what air particle sensing tasks it's useful for, and how well it performs at those tasks....

    Read more »

  • From the Arducorder towards Iteration 8

    peter jansen11/24/2016 at 07:21 2 comments

    It's been two years since I developed the Arducorder Mini, and I have found myself brainstorming about what a next model would look like over the past few months. It feels like it's time to work on the next iteration of my open source, handheld, pocket-sized scientific instruments -- Iteration 8.

    Arducorder Mini: What went right

    The Arducorder Mini was a substantial undertaking, and turned out exceptionally well -- it's personally my favorite open sensing project, and I very much enjoyed the development process, and getting to see the final product. I'd like to briefly describe what went well with the project, and what could use improvement:

    • Diversity: The Arducorder contains nearly a dozen very different sensors.
    • Capability: Spectroscopy, radiation sensing, and thermal imaging have all been sensors on my wishlist for handheld sensing devices for quite some time. Here, these sensing modalities finally began to be incorporated. Other sensors, like the barometric pressure sensor, have so high a resolution that you can often measure someone's height simply using the difference in air pressure between their head and feet!
    • Connectivity: Ability to share many of the sensor readings wirelessly through Plotly.
    • Interface: A simple, visually attractive interface, that is very usable for core tasks.
    • Reuse: In the spirit of open source, many of the aspects of the Arducorder were individually reused for other projects. Most notably, the Arducorder serves as a reference design for the Hamamatsu microspectrometer, and the folks at GroupGets helped use this to bootstrap and enable a community of makers and engineers to order and use small quantities of these beautiful microspectrometers.

    Arducorder Mini: What could have used improvement

    Many aspects of the project worked very well. As with all experiments, there was room for improvement:

    • Usefulness: The Arducorder Mini is has the most diverse array of sensors of any portable electronic device that I'm aware of. One of the most common questions I get asked is, "What can I use it for?". Individually, there are many applications for each of the sensors apart from science education -- for example, thermal imaging can be used to find heat leaks in your home, or for various tasks in industrial settings. Radiation sensing is something that likely isn't a part of everyday life for most folks, but the Arducorder Mini's radiation energy histogram showed an unusually high concentration of very high energy particles while sitting on my desk one afternoon when there happened to be a solar flare -- likely my first handheld solar flare measurement! Does this mean we can create crowd-sourced cosmic ray observatories with some large number of handheld instruments such as these? Similarly, the visible light spectrometer is an extremely powerful instrument, but needs much more work on specific applications, and industrial design supporting specific kinds of common measurements -- for example, allowing absorptive measurements through small sample vials. The list goes on. All together, the device is quite capable, but identifying and then developing specific use scenarios will help increase it's usefulness.
    • Industrial Design: It is extremely challenging to meet the mechanical and industrial design requirements for a dozen different sensors. Some of the readings (for example, from the atmospheric temperature sensor) are not accurate, because the unit heats up quite a bit from the battery and processor. Gaskets are missing on atmospheric sensors. As above, sample container adapters and/or other mechanisms for absorptive measurement need to be incorporated to increase the utility of the sensors in common use cases.
    • Ruggedness: The design is pretty solid, but not solid enough that I feel comfortable carrying it around everyday in my pocket without fear that I'll break it after a week or two of constant use. When I ship it to folks to use in demonstrations, it sometimes...
    Read more »

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates