Does this project spark your interest?

Become a member to follow this project and don't miss any updates

Open Source Science Tricorder

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

Similar projects worth following

This project was created on 06/07/2014 and last updated 22 days ago.

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 petitioning for 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.

Finals Video

Semifinals Prototype Video

Concept Video

Hardware and System Design

The Arducorder Mini is an Arduino-compatible handheld sensing device, and the next iteration of my open source science tricorder-like device project that's designed to be easy to use, have a large array of sensors, and easy to share sensing discoveries. The Arducorder Mini is designed to foster a community of open source users and development, and is ChipKit MAX32 compatible, which is a port of the Arduino platform to the much more powerful PIC32 family, and makes use of a PIC32MX795F512L with 128k of RAM, 512k of flash, a zippy 80Mhz processing speed, and a fantastic set of peripherals for interfacing to sensors.

The current prototype is designed to use a 1.5" OLED with 128x128 pixels and 16-bit colour, a touch interface, and connectors for 5 modular sensor boards that each contain several sensors. The sensor boards are designed to be interchangeable and upgradable, so that a large number of configurations are possible with different sensing capabilities and price points.

While the Arducorder Mini is being designed with a wide array of sensing capabilities off-the-shelf, it's also designed to be easy for folks to tinker with and upgrade. Accessibility is a central goal of the project -- If you're familiar with Eagle CAD and have ever made an Arduino shield, it should be easy to design your own sensor board. Using OSHPark and Digikey, the parts cost for a new sensor board (PCB and header, not including sensors) is about $5, which is even less than most protoboards!

Sensing Capabilities

The current prototype has been designed to include the following sensing capabilities:

Atmospheric Sensors

  • Ambient Temperature and Humidity: Measurement Specialties HTU21D
  • Ambient Pressure: Bosch Sensortec BMP180
  • Multi-gas sensor: SGX-Sensortech MICS-6814

Electromagnetic Sensors

  • 3-Axis Magnetometer: Honeywell HMC5883L
  • Lightning sensor: AMS AS3935
  • X-ray and Gamma Ray Detector: Radiation Watch Type 5
  • Low-resolution thermal camera: Melexis MLX90620 16×4
  • Home-built linear polarimeter: 2x TAOS TSL2561
  • UV: Silicon Labs Si1145
  • Spectrometer: Hamamatsu C12666MA micro-spectrometer, with NeoPixel light source

Spatial Sensors

  • Inertial Measurement Unit: Invensense MPU-9150 9-axis (3-axis accelerometer, gyro, and magnetometer)

Other Sensors

  • Microphone: Analog Devices ADMP401

Check out the project logs for the current build progress, and stay tuned!

GitHub Repository and Source Files

The source files are available on the Arducorder Mini GitHub Repository as the development progresses. The hardware is licensed under Creative Commons By-Attribution Share-Alike 4.0 International, and the firmware and libraries are available under various open licenses. Please see the licenses file included with the source for more information.

Gerbers and Parts List

While the major parts are listed below, the Arducorder is a modular ecosystem of seven boards -- including the motherboard, capacitive touch interface board, and five modular sensor boards. The hardware folder of the Github repository contains the latest Eagle source files, and gerber files that can be uploaded directly to OshPark. While the Eagle files contain internal parts lists, this source directory will also maintain PDFs of schematics and separate parts listings.


In addition to the device, this project has developed open source Arduino-compatible libraries for a light weight live tile based graphical user interface, supporting tools, open libraries for new sensors including the Radiation Watch Type 5 and Hamamatsu micro spectrometer, additions to the Adafruit MPR121 library to support capacitive touch wheels, and a port of the Adafruit CC3000 WiFi module to the Chipkit MAX32 platform. I have also greatly expanded the Plotly library for Arduino, which now supports multiple streams, much faster transfer speeds, and sending normal (non-streaming) plots. I have also partially updated the ChipKit IDE I2C and Client/Server libraries to partial Arduino...

Read more »

  • 1 × PIC32MX795F512 Microprocessors, Microcontroller
  • 1 × HTU21D Sensors / Temperature, Thermal
  • 1 × BMP180 Sensors / Pressure
  • 1 × MICS6814 Sensors / Gas
  • 1 × HMC5883L Sensors / Hall Effect, Magnetic
  • 1 × AS3935 Sensors / Special Functions
  • 1 × Radiation Watch Type 5 Radiation Sensor
  • 1 × TSL2561 Sensors / Ambient Light
  • 1 × SI1145 UV Sensor
  • 1 × Hamamatsu C12666MA Micro Spectrometer

See all components

Project logs
  • And then there were three...

    22 days ago • 3 comments

    A quick update -- I was packing up the Arducorder to ship off to @Mike Szczys for the Hackaday Prize booth at SXSW, and thought I'd snap a picture of it fitting snugly in it's new instrument case and shipping enclosure. I hope the folks at SXSW enjoy it, and all the other finalist projects from 2014!

    The other exciting news is that I've /finally/ completed two more Arducorders, with the exception of their enclosures. The original enclosure had some specially machined standoffs inside, and so I'm hoping to put together a slightly modified enclosure with entirely off-the-shelf hardware later this week. Each Arducorder has 7 double-sided PCBs totalling about 200 components, and takes me the equivalent of four full days to assemble (this work is really intended for pick-and-place machines), so it's really incredible to see them when they're finished.

    One of these -- the second one made -- is going to my very excited father, who helped teach me to make, build, solder, and learn from a very young age. I've been tinkering with developing a science tricorder-like device with everything on my sensor wishlist for nearly ten years, and have always said that the second one off the line would be very warmly given to him, as thanks for helping show me the joy of being a scientist, and being a wonderful and supportive dad.

    Developing a complete, modern open source science tricorder-like device has been on my bucket list for a long while, and the Hackaday prize helped me reformulate the project into something tractable enough that it could be designed and built in five months, capable enough that I could include exciting new sensors like micro-spectrometers and high energy particle detectors, and elegant enough that it could make both myself (and, a panel of judges) happy to carry it around in one's pocket. I'm sure like all the other finalists, the last three months were incredibly intense, and between the lab at school and my Arducorder building I was putting in 12 to 16 hour days, every day. I was desperately scared of being knocked out of the competition after the semifinals -- not because I wanted to win, but because I wanted to finish, I knew it would take until the end of October to get there, and I had been pushing myself so hard for so long that I'd likely have collapsed and slept for a week were I knocked out, and lost some steam. I'm extremely grateful that things worked out the way they did, and that the Arducorder is a real, working device that sits on my desk, and has a complete set of plans for folks to build their own, improve upon the design, or use aspects of it for their own projects.

    With the Hackaday Prize 2015 launched today, I'm very excited to see what folks will come up with to help change the world, and make it a better place. I'd like to thank the folks at SupplyFrame for putting this incredible competition together, and helping me make the Arducorder possible.

  • Spectrometer Group Buy, and see the Arducorder at CES!

    3 months ago • 0 comments

    Just a quick update, and my apologies for taking a while to update -- I think I speak for all the Hackaday prize finalists when I say that the push to finish was absolutely exhausting! In the mean time I've been very busy catching up on writing two papers in the lab, visiting with family over the holidays, taking care of a sick kitty, and trying to find a few hours of rest.

    Arducorder at CES

    The good folks at Hamamatsu have borrowed the Arducorder this week to help demonstrate their beautiful C12666MA micro-spectrometer in action. If you happen to be at CES, be sure to drop by the Hamamatsu booth to check it out!

    Micro-spectrometer Group Buy

    The C12666MA micro-spectrometer is a beautiful instrument, but it's also not the easiest to get ahold of in small quantities. The folks over at Group Buy (who helped get the FLIR Lepton thermal imager out into the community) have a group buy for the micro-spectrometer at the fantastic price of $180, or about $50 off the regular single-quantity pricing. This is a really fantastic deal, and if you've been assembling your own Arducorder (or would like to experiment with the C12666MA micro-spectrometer), it's a great opportunity. As of writing there are only 4 days left to get in on this group by, so you'll likely want to act quickly.

    Power Switch!

    Every designer has aspects of a project that they do well, and places where they could use a little improvement. Power circuits are where I usually need improvement, and I tend to overengineer them for efficiency so much that occasionally they're simply too complex to work on the first revision. The Arducorder has a very good and high-efficiency buck/boost power circuit, but the case design was missing an important element -- the acrylic slider that covers the power switch, and lets you easily turn the unit on! Free yourself from the bounds of having to carry around a tiny screwdriver or paperclip, and cut out this power switch slider :).

    Just a quick update -- thanks for reading!

  • Project Video, and Plotly data!

    5 months ago • 1 comment

    The project video is up! It's been a very busy few weeks building the final revision boards, putting together an enclosure, and adding the final features to the software. I'm absolutely thrilled at the results, and I hope it helps you make little discoveries -- everywhere.

    Connectivity with Plotly

    The Arucorder Mini now interfaces with Plotly -- a website that's like social media for data, that I've absolutely fallen in love with. After hours of rearchitecting the Plotly Arduino library (with Chris from Plotly's help -- thanks Chris!), there is now a beautiful, fast library for Arduino that supports multiple streams, blazing fast transfers, and normal plotting functions. Please use it, and send me links to your amazing streams.

    The Arducorder now supports one touch uploading to Plotly -- you can literally pull the device out of your pocket, and in 20 seconds have sensor data streaming or spectra shared with friends on the other side of the planet. It's really incredible, and I'm pleased with the results.

    The data used in the video is all available on the Arducorder Mini Plotly profile. Here are direct links to some of the data, including:

    In addition, I will try to keep some of the data from the live streams used in the video active, including the atmospheric stream, magnetic field stream, radiation stream, and inertial measurement unit stream.

    Build Instructions and Acrylic Case

    I've tried to put together a case that would help draw people in, while being functional and easy to construct and disassemble for tinkering. Thanks to Connor and David from Xerocraft for helping me figure out the settings for precision laser engraving, and machining the delrin standoffs!

    Thanks to everyone for their kind words and helpful comments over the project! While designing and building the device is very rewarding, I feel like the real fun is just starting -- actually using the device, and having a reconfigurable scientific multitool to explore the world around us.

    I hope you enjoy the video, and thanks for reading!

View all 16 project logs

Build instructions
  • 1

    Step 1: Motherboard Assembly and Programming

    I designed all of the boards to be hand solder friendly, with leadless QFNs all on one side (that can be reflowed). If the other side has components, these are usually larger and easier to hand solder.

    Step 1 is to use your stencil to apply paste to the CC3000 side of the motherboard. Note that we'll occasionally switch between Revision 0 and Revision 1 motherboard pictures, but you should be using revision 1 (or the latest release, if a later revision exists at the time of reading).

    Populate the back components. I recommend leaving off the sensor headers until the end -- it'll make it easier for the board to fit into a holder while you solder the top components later.

    Reflow the bottom side. You may wish to pre-solder at least the mechanical mount points on the USB connector and battery connector to make sure they don't move (and end up angled) during reflow.

    Next, solder the top components. I do this by hand, starting with the PIC32, moving to the OLED connector, and then if everything looks good, stenciling the bottom of the board for the passives. Please take your time, it's not a race -- and if you bridge the connections it will make a mess of the board to clean up. For reference it takes me about an hour to solder all four sides of the PIC32, going slowly with very small amounts of solder paste. The OLED connector is similarly fine pitched, and the capacitive touch wheel connector is VERY fine pitched, so take it slow. The crystal will require a quick reflow with a hot air station to be properly hand soldered.

    Do not solder on the programming (ICD3) connector -- This is a one-time use connector, so the pins are offset such that the tension will let you quickly program the device, then remove the header so it's not in the way.


    Next we'll need to load the Chipkit bootloader onto the Arducorder Mini motherboard using a Microchip PIC programmer, like this ICD3. If you're not a PIC developer and don't need the debugger functionality, Microchip also has a programmer that's about a tenth of the cost, and here we're just using it to upload the bootloader -- afterwards we'll be uploading firmware using the Chipkit IDE over USB.

    If you're using the ICD3, you'll need a converter to go from the 6-pin phone connector to a regular 0.1" header (Sparkfun sells these). Note that only 5 pins are exposed on the motherboard -- the unused pin (opposite of MCLR) isn't included since space is at a premium.

    Don't forget to power the board from an external supply through the battery connector -- 3.3V from a regulated supply should to well. Ensure that you check for bridges before powering the board, and are using a power supply with a fuse and current meter so that it doesn't blow the whole thing to the moon if you've got a solder bridge.

    The Chipkit folks maintain a great set of documents on how to go about this process (which only takes a few minutes), as well as having the bootloader that you'll need to install:

    The abridged version is that in the new Microchip IDE this has been made super easy, and takes only a few clicks with their HEX programmer:

    Connect, Select bootloader, Program. If you see something like this output, then congratulations, the programmer can successfully commuicate with the PIC32 and has programmed the bootloader! If you don't see 'Target Detected', ensure that you've powered the board externally, and that the power switch is in the "ON" position. If those are the case, verify your soldering.

    CC3000 Firmware Update

    The Adafruit CC3000 library requires that the firmware on the CC3000 is updated in order to connect. This is a quick update and a good first test. Unconnect the programmer and connect a USB cable. Using the Chipkit IDE (Ideally version 0024 or later), load the driver patch sketch and allow it to update the CC3000 module firmware. You shouldn't require the Arducorder-modified Chipkit IDE (which updates a few of the libraries for better Arduino 1.x compatibility) for this operation.

    Finishing up soldering

    Now that everything's working, feel free to solder on the sensor board connectors:

    If you're eager to see /something/ on the screen, you can grab the latest Arducorder firmware (currently "test2k") as well as the updated Chipkit IDE (skip ahead to the main firmware step for the link). You will likely see something on the screen before it fails to find the sensor boards or capacitive touch wheel attached, and freezes -- but this will let you know that the screen is healthy and functioning.

    Congratulations! You now have a working Arducorder Mini motherboard! On to building the sensor boards.

  • 2

    Step 2: Sensor Boards

    Congratulations -- if you've successfully soldered the motherboard, then you'll likely have little issue putting together the sensor boards. They're very tiny, and about a 2 hour build per board. Because the process is similar for each board, here we'll just highlight any deviations to keep in mind. All of these boards have been designed to be relatively easy for an experienced surface mount solderer to put together -- one side has most of the parts and can be easily reflowed, and then the other side (usually just a connector, and perhaps a few passives) can be quickly hand soldered.

    The six sensor boards are: (1) the capacitive touch board, (2) the magnetometer/IMU board, (3) the atmospheric board, (4) the lightning sensor board, (5) the spectrometer/thermal camera board, and (6) the radiation sensor board. Of these, only the spectrometer board and radiation sensor board have special instructions.

    Spectrometer Board

    The spectrometer/thermal camera board houses the most high value sensors on the entire device, and individually represents most of the BOM. Ensure that you take care when assembling this board, and verify the voltages (both 3.3V and the 5V boost for the Hamamatsu micro spectrometer) before soldering the thermal camera and spectrometer.

    I very strongly recommend placing squares of kapton tape (or another non-conductive tape) under both the spectrometer and thermal camera before soldering. Their cans are conductive, and this will help avoid any of the other pins accidentally bridging with the case.

    Optional light source header: The spectometer board includes an optional 3 pin header for connecting your own light source. This header exposes 3.3v, GND, and an I/O pin. It's recommended that you solder a connector to this header, that you can attach LED boards to. The I/O pin should be used to drive a MOSFET that powers the LED -- the pin itself shouldn't be used to source any current (especially for something like a small incandescent bulb!)

    Filters: The two light sensors at the top right of the board have mount holes on either side. These are designed to allow user-configurable narrow band filters (or polarization filters) to attach, for user configurted applications. You'll need to laser cut or 3D print a tiny holder for your filters that affixes to this footprint, with M2 machine screws.

    Radiation Sensor Board

    The radiation backpack board allows the Radiation Watch Type 5 connector to the Arducorder Mini. This sensor board also contains an external comparator that allows the radiation sensor to be much more sensitive. You can experiment with different values for the calibration resistor, but a 2.7k 1% seems to have a good balance of signal-to-noise for me.

    In order to make the Type 5 extra sensitive, you will have to solder a piece of wire wrap to one of the test points. I recommend making a tiny loop at the end (with some tweezers), bending it 90 degrees, then hitting it with some solder paste. This connection has a very low voltage signal running through it, so be sure to do a good job soldering.

    The short piece of wire wrap solders to the backpack at TP1, which should be directly above the appropriate location on the Type 5.

    Congratulations! Feel free to connect this board up to an Arduino/Chipkit to test it out separately with the example firmware before continuing, if you'd like. The folks at Radiation Watch also have some Arduino-compatible Type 5 firmware that should work with this board (and takes the noise pin into account, if you're planning on vibrating the sensor).

    Cat in Digikey box interlude

    Magnetometer/IMU Board

    This board includes an I2C address solder junction for the MPU9050. Ensure that it's shorted as above (otherwise it may conflict with the MPR121).

    Atmospheric Board

    This is the first revision of the Atmospheric board -- you'll want to put together the second revision, with the mosfets for the gas sensor.

    Lightning / UV board

    You'll need to use hot-air reflow or reflow the board twice to properly reflow the tiny microphone on the back.

    Capacitive Touch Sensor board

    The latest revision of this board moves all the components except for two pushbuttons to the bottom side of this board. The whole thing can be easily reflowed without issue. The two LEDs/resistors beside the button are "do not populate" -- they're included incase you want to have a fancy glowing OK button, but are untested.

  • 3

    Step 3: Constructing the Case

    This beautiful case is constructed from laser cut acrylic -- part of which is engraved to make the touch wheel, and buttons. The side is easily manufactured by bending a long strip of acrylic with a normal hot air rework station.

    Laser cut the acrylic

    The enclosure is constructed from 1/8 inch (~2.9mm nominal) acrylic. The pattern files can be found on the Github repository under "mechanical".

    While the back pieces are standard cutting and engraving, the side requires bending, and the top requires essentially using the laser cutter as a mill. The top process is as follows:

    • Cut the top plate outline and M2 holes
    • Cut an outline around the touch wheel
    • Manually remove the plastic shroud on the acrylic, so the next engraving step won't leave any of the protective cover in the touch wheel engraving area
    • Engrave the touch wheel (on the top of the acrylic) to ~2mm depth
    • Carefully flip the top plate in place, using the acrylic sheet that it was cut from as a placement jig
    • Engrave the bottom of the acrylic for the two button lips, and the buttons themselves -- these should also be engraved to ~2mm depth
    • Cut the buttons

    You will need to experiment to find settings on your laser cutter that engrave to the required depth -- this will take a few minutes of experimenting. The settings that I use for our Trotec 60W cutter at Xerocraft are:

    Initial Cutting Step

    Touch Wheel Engraving

    Flip piece -- engrave buttons and button holes

    Final step -- cut buttons out

    Side Piece

    Cut out the bending jig out of 3mm MDF. There will be one extra middle piece that isn't required. The holes should snugly fit some number 6 screws, and hold the jig together. Don't forget to include a nut in the captive slot, so that you can securely hold the large side piece in place while you bend it.

    This step takes a bit of practice, so I recommend cutting out a view side pieces to practice on. Using your hot air rework station set to around 250C, heat the bends one at a time until they very slowly bend into beautiful curves. For the two long pieces, I attached a counter weight on either end for leverage (Just taping a small screwdriver to the ends). This helps gravity along a bit. Try not to force the pieces -- let gravity do the work, and it'll look better.

    It takes about 5 minutes per bend, or about 20 minutes total. If you have an actual acrylic oven meant for this, then you're job is a little easier -- although be careful not to bend the straight pieces, or it may end up looking more like a Picasso.


    Countersink the four holes on the top plate. Using four M2x16mm countersunk machine screws, bolt the capacitive touch wheel board to the motherboard. Place four 3mm high M2 spacers between the boards. The two middle bolts should have M2 nylon washers, and M2 locknuts.

    Attach four M2-tapped 5mm diameter delrin standoffs. You'll likely need to quickly machine these yourself, or purchase some nylon standoffs and tap them yourself. These act as the main fastener for the bottom two holes.

    Ensure these are snug, but not too snug. It's critical that the acrylic faceplace makes very good contact with the capacitive touch wheel for normal operation.

    Attach the battery, with the cable snaked over the top of the spectrometer board connector to take care of any slack. Attach the spectrometer board next, then the three side-mounted sensor boards.

    Next up, attach the radiation sensor board. This should snugly fit between the standoffs, keeping everything in place.

    Next we'll attach the first bottom plate -- this one snugly fits onto the four 5mm standoffs, and provides a lip for the side piece to rest on.

    Next we'll place the side piece on -- this should snugly fit around the top bottom plate

    Last, we'll install the bottom plate with the engraving. The four M2 holes here should also be countersunk. This acts as a retainer plate, very snugly keeping the sides together without any adhesive, so that you can take it apart to tinker without issue.

    Fasten with four M2x12mm countersunk machine screws.

    Plug in the USB cable, and view the beautiful LEDs telling you how great a job you did. Red means the battery is charging, green and blue mean serial communication over USB for firmware programming. If you haven't already, download the Arducorder-modified ChipKit IDE, which updates some of the Arduino libraries towards 1.X compatibility. Grab the latest firmware from the Github Repository (currently test2k) and program the device. The firmware is very large, and will take a few minutes to upload and verify.

    The firmware will display this splash screen during boot up. It should be on the screen for a few seconds while all the sensors are initialized.

    After booting, your Arducorder Mini should begin to display the tile interface. Go explore the world, and share your discoveries with your friends!

See all instructions


vipersan wrote a month ago point

Hey Peter there is new uBlox EVA-M8M GNSS module (7x7x1.1 mm, 5.5-20mA supply current when tracking, UART/SPI/USB/I2C)

And it look's like they have this module on request:

Are you sure? [yes] / [no]

justinStitches wrote 3 months ago point
Peter - wow. This is incredible. If you want add Thermal Imaging via a FLIR Lepton contact me and I'll send you one gratis immediately along with a breakout board for prototyping that we did with Pure Engineering: Also, to anyone else, we are now carrying the spectrometer in this project and Pure will soon have a simple breakout for it too:

Are you sure? [yes] / [no]

PointyOintment wrote 3 months ago point
You'll need to add a space before the period so the website doesn't think it's part of the link.

Are you sure? [yes] / [no]

peter jansen wrote 3 months ago point

This is absolutely fantastic, and exactly what I was hoping would happen! The Arducorder is a huge build, but I was hoping folks would get excited about specific aspects of it (like the spectrometer) and help adapt those into new open source projects. That spectrometer is a beautiful instrument, and $180 is a really great price for it! Let me know if you have any issues with the board, or need a hand -- the external 14-bit ADC adds a little to the BOM, but it really bumps up the resolution, and allows oversampling to 16-bit very easily. Also, thanks for the kind offer of sending one of the Lepton modules -- I actually just received the boards for a version of the spectrometer board with the Panasonic GridEye, but those parts are tricky to get ahold of, and still low resolution. I'll send you an e-mail shortly!

Are you sure? [yes] / [no]

Dean Gouramanis wrote 4 months ago -1 point
This is awesome. Peter, check out my website.

The hardware we sell may be able to improve this design by making it more rugged. Now that my CNC Mill project is finished i will be able to add alot more products (such as custom metal enclosures).

Are you sure? [yes] / [no]

willow.gray wrote 4 months ago point
Please, take my money!
If I had the time and expertise to build one of these, I would. Sadly, I'm way more high-level software than the hardware side of things. So please, please, take my money!

Are you sure? [yes] / [no]

peter jansen wrote 4 months ago point
I'm hoping to put together a long post in the next week or two (it's /very/ busy in the lab right now!) with a project postmortem, and part of it will talk about the folks having "i keep throwing money at the monitor but nothing's happening!" problems (which is somewhat overwhelming, and very kind -- thank you). i'm an academic researcher and scientist who just happens to be an okay electrical engineer, and so i'm good at solving scientific and engineering problems. for the first time, the problems that this project now faces are now much more business, regulatory, and legal issues rather than engineering issues, and i'm much less adept at finding answers to these. but i hope to have some answers shortly.

Are you sure? [yes] / [no]

peter jansen wrote 4 months ago point
Hi Norman, sorry it's still very busy in the lab -- it may be a little while yet before I have the opportunity to do the postmortem.

Are you sure? [yes] / [no]

Jasmine wrote 4 months ago point
Hello Noman, as you are following this project is should show up in your feed when there is an update.

Are you sure? [yes] / [no]

Gasump wrote 4 months ago point
Just adding my vote for a pre-assembled PCB or a Kickstarter. If the latter, I'm sure you'll get funded in no time!

Are you sure? [yes] / [no]

andy wrote 4 months ago point
Hi! Amazing project. Two things. First, you may want to consider a physical knob in future versions vs. the wheel to make it usable with gloves on.

Second, I'm throwing money at my screen but nothing is happening. Will I ever be able to buy at least pre-assembled PCBs? Thanks!

Are you sure? [yes] / [no]

jaromir.sukuba wrote 5 months ago point
Hello Peter,
this is awesome project. I built already a small tricorder, but it is toy compared to your device. It is great not just as whole unit, but even the parts are interesting on itself.

I'm interested in the C12666MA sensor, but I'm unsure where to get it and what is important - how much it does cost. My favorite distributor channels (Mouser, Farnell, RS) doesn't seen to know about the sensor and dealing with manufacturer directly is usually pain in the S, especially when manufacturer is huge and one doesn't want to buy full truck of sensors.

Regarding the radiation sensor - I'm a bit unsure about what sensor you actaully used (FSX100-7 2.0?) and how it is connected - schematics shows comparator and "clicker", but I can't find the detection diode itself and charge amplifier.
You also uploaded pulse width histograms of Ba133 and Cd109, exhibiting interesting differences. Did you investigate more about this, like corelation between energetic and width spectrum?

Sorry for asking questions that may be already answered - your project logs are really huge and informative, but I'm a bit overwhelmed by the amount of information.

Are you sure? [yes] / [no]

peter jansen wrote 5 months ago point
Hi Jaromir,
No worries -- they're answered in the project logs and bill of materials, but I suspect that a lot of folks will focus onto these two parts, and I'm very happy to make finding the information about them easier.

The Hamamatsu microspectrometer is available off-the-shelf from Hamamatsu, but you'll need to contact them directly to order one. Last I checked they are about $250 in single quantity, which makes that single part worth nearly half the bill-of-materials cost, so folks have the option of making the "inexpensive-corder" by leaving it out. To the best of my knowledge Hamamatsu only sells directly to folks, and I think at least part of the reason is that they manufacture world-leading sensors for scientific and medical use, and don't want them to be misused for military purposes.

The radiation sensor is described in this project log, about half way down ( ). The radiation sensor is called the "Type 5" by Radiation Watch. Building noise-tight circuits that amplify the signal from a single subatomic photon to a 3.3V pulse absolutely blows my mind, and while they publish the schematics, you'll definitely want to purchase one directly from them -- the process of manufacturing these and making them noise resistant is non-trivial. They're about $70 each, last I ordered. The radiation backpack board (that you linked to above) connects to this Radiation Watch Type 5 at CN1 ("Radiation Watch Type 5 Header", center left) and at TP1 ("Type 5 Pre-comparator test point", top left). The stock Type 5 is good, but it can be made much more sensitive, and the board I designed basically gets its detection efficiency to just above the noise floor. You're right, the Type 5 does use the FSX100, which the datasheet shows has an incredible detection efficiency for low energy (on the order of ~10keV) x-rays, and quickly collapses to ~1% efficiency on the order of ~100keV. I think the folks at Radiation Watch calibrated the Type 5 for Cesium-137, which does have a lower energy emission around ~30keV, but also has lots of higher emissions >100keV to detect. I think the stock threshold is around 60-80keV, but with the modifications (and a R7=2.7k calibration resistor, this is in the build instructions), I think you can get it down to around 30keV, where the Barium-133 has lots of emissivity. The Cd-109 has lots of emissions around ~22keV, and while you see more of these, I think 22keV is buried under the noise threshold... so if you lower R7 you'll see more of these, but your baseline counts will be much much higher (ie. you'll have a much lower SNR that you'll have to characterize).

The energy sensitive histograms are definitely really interesting and exciting. The proper way to sense energy would be to integrate the area under the detection curve and report this out (instead of just having a comparator), but this would be a much more complicated and very fast circuit. The easier way is what I'm doing here, counting the pulse width, with the knowledge that higher energies will take longer to decay, so the pulse width will be longer (but of course this is just approximate, the two are only correlated, and right now we don't know what the coefficient is). I'd love it if there were a clear way to back out energy level (keV) from pulse width. It's clear that it's non-linear, and that there's some variability and overlap (e.g. 50keV might be 50uSec +/- 10uSec). Aside from that, I'd love a few hours with a few monochromatic sources to back out the relationship. It does look like the acrylic case acts as a beta particle blocker, and so a few peaks disappear when the histogram is taken in the case versus out -- so by selecting a few radioisotope check sources with different beta emissions, it might be possible to take a first look at backing this out without too much trouble. Also, for the radioisotope sources the detections are typically under 200uSec, but if you leave it out on a table for an hour pointed up just picking up background/cosmic, you'll very occasionally get a few REALLY big pulses, which are likely some high energy cosmic rays (I've seen one or two on a scope -- they were very big detections). So it seems clear that in the worst case there might be at least half a dozen or a dozen good spectral channels, and in the best case, the Cd109 and Ba133 histograms I posted at least hint that there might be much finer discriminations possible. There are lots of radiation enthusiasts out there with large collections of check sources, so I'm very interested to see what those folks with much more experience come up with.

Are you sure? [yes] / [no]

David wrote 5 months ago point
I have a quote from Hamamatsu for Europe; the module alone costs 170 euro.

Are you sure? [yes] / [no]

jaromir.sukuba wrote 5 months ago point
I take my hat off to you. Thanks for long and informative response.

Now it's getting clear about the spectrometer - the price is not bad (compared to near IR spectrometers I'm working on daily basis), but something sub 100USD would be sweet. Nevermind, now I've got new item on my TODO list :-)

Regarding the radiation sensor, I understood it now. Honestly, I could track the information back in your project logs, but your summary makes it much easier.
As I looked into X100 datasheet (by the way, sensor is available at Mouser -, great - they have a good selection of sensors at Mouser, actually) the absorption of gamma photons varies quite wildly, peaking about 10keV and going down to approx. 2% at 100keV, decreasing further below 1% at 1MeV. Does it mean that some sort of spectrometry would be difficult anyway? My knowledge/experience is almost zero in here, but to me it looks like the analysator would have hard time telling whether impulse from detector is weak photon (good absorbed) or high energy photon (weakly absorbed). I'd like to be wrong here.

Are you sure? [yes] / [no]

peter jansen wrote 5 months ago point
You're very welcome -- like you, I'm definitely excited for when micro spectrometers become sub $100 (they're close now, especially compared to a few years ago). But it's a new and enabling technology. It feels like not a month has gone by in the last 5 years where there's an announcement of a new spectrometer-on-a-chip product by company X, but they never end up working out the bugs or coming to market -- Hamamatsu is the only one that's made it, and that you can purchase (to the best of my knowledge). And it's a beautiful little instrument. If you just want to play, there's my Open Mini Spectrometer design, but the Hamamatsu is a real instrument and has orders of magnitude better performance in almost every measure.

If I remember correctly the X100-7 is most efficient at lower energies where the photoelectric effect dominates, and compton scattering dominates at the higher energies. If particle physics wasn't at 8:30am a decade ago, I might be able to tell you if those effects would have different energy profiles on a scope... :) It's very normal to have different detection efficiencies at different energies in spectroscopy, though -- you just take that into account as part of the "instrument function" to back out the likely physical signal (ie. multiply the counts at those inefficient 1% higher energies by 100x). The issue is of course is if there's a substantial spot where the signals from the two effects overlap, then you have to get a little more clever -- counting the peak heights, sampling the pulse profiles to back out which effect they came from, etc. But it's definitely possible that for x-rays your pulses may look one way, and for gamma rays they may look another. For proper spectroscopy you'd want to back all this out. If you're just interested in doing a classification task (like figuring out what radioisotope you're looking at), in the simplest case you could just build a library of what different radioisotopes histograms look like, and do vector-distance matching. But of course doing the work to get the spectroscopy histogram -> energy level function is more general and exciting.

Are you sure? [yes] / [no]

Androiders wrote 5 months ago 1 point
This is so cool :) Great job!

Are you sure? [yes] / [no]

David Baldwin wrote 5 months ago point
This is absolutely amazing! Have you given any thought to, or do you plan on designing a premade kit for this device?

Are you sure? [yes] / [no]

Robert Hoffman wrote 5 months ago 1 point
Dr. Jansen,
I've been following you and the tricorder since April of 2012. I've never been so excited about a project like this, I thought the idea was both fascinating and awesome. I wish you the best of luck and I hope you are able to reach your dream of every kid owning one of these

Are you sure? [yes] / [no]

Jrsphoto wrote 5 months ago point
Dr. Jansen, I've been following along for some time now and just wanted to say congrats on making the final 5! My favorite project of the bunch and I can't wait to see if you win! You've put a tremendous amount of thought, work, heart, and soul into this project and it really shows. Here's to seeing you in space!

Are you sure? [yes] / [no]

Noman wrote 5 months ago 2 points
Dear Dr. Jansen, please accept my heartiest congratulations. I am following the development since I first saw your blog entry (The Shape of Things to Come: the Mark 5 Arducorder) earlier this year and wished somehow I can buy or build this. Only I know how excited I am see this project come to reality and finally completed. Although competition is strong, I am sure you will have made your mark and will catch the first place easily. You know this little gadget will save me from buying half a dozen devices on my wishlist including Apollo Board (Approx $200), Type 4s Radiation Watch (Approx $100), Flir 1 ($350+shipping), Sensordrone ($200+sipping), A spectrometer (Min $500 plus), a weather-station with Lightening sensor ($150+) and an imu ($75+), so otherwise I have to spend $1575 plus shipping plus separate battery and charging solutions, extra weight, carry options and bulge in my pockets in addition to a fight with my life partner. The worth of this device is obvious and I would like to keep 3 accessory switchable boards along with as per my field requirement, including laser rangefinder (like lidar lite) , IR detector & communicator as well as a GPS (like navspark I already have). Please no sooner did you win the prize, tell me when you are going to launch and at what price or if I could buy the first prototype in this final video, really!

Are you sure? [yes] / [no]

relias36 wrote 6 months ago point
Hello Peter, i just joined this site and found your project it looks very interesting. I'm a mechanical engineering student so i do not know much about making and designing computer hardware but I am still interested in trying to make one of these devices. Is there any way that i could use your board designs and have them built or could i possibly buy one from you?

Are you sure? [yes] / [no]

Robert Hoffman wrote 6 months ago point
do you plan on trying to mass produce it?

Are you sure? [yes] / [no]

David wrote 6 months ago 1 point
Congrats on making the Top 5!

BTW, I'm really liking that Arduino-compatible Hamamatsu Spectrophotometer sensor. After the competition, if there any chance of seeing its code separated into a new Arduino Library?

Are you sure? [yes] / [no]

peter jansen wrote 6 months ago point
Thanks David! It really is a beautiful little instrument. The driver is already standalone ( / h), and includes some example code at the top, with the exception that one of the methods does resample and export the data into a SensorBuffer() (a circular buffer storage class used by the Arducorder mini for efficiently storing data and graphing it). You could include this too, or just comment out that method and access the data directly.

I have standalone test beds that I use to write and validate the drivers before incorporating them into the main Arducorder Mini firmware (it takes a few minutes to compile and upload, and so the testbeds get that down to ~10 seconds), and either just before or shortly after the competition I'll try to package these as separate Arduino Libaries!

Are you sure? [yes] / [no]

peter jansen wrote 5 months ago point
Update: these standalone examples are available here:

Are you sure? [yes] / [no]

Ryan Shill wrote 6 months ago point
You should throw GPS on board for the Mark 6!

Are you sure? [yes] / [no]

peter jansen wrote 6 months ago point
I've been thinking about this too. I removed it because it's large and everyone
carries around phones that are very good at map applications right now, but I
think it's important enough to warrant coming back. There isn't a lot of sensor
real estate left, but I have been thinking of replacing the microphone with the
Venus638, or even sneaking it on the back of the capacitive touch sensor board.
I designed something with the 638 in it last year, but I used a very small
antenna (and don't fully appreciate RF design, I work with much shorter
wavelengths), so maybe someone from the community with GPS experience can lend a
hand after things are less busy in a few weeks! The sensor boards are meant to
be part of an ecosystem that's easily modified or added to by the open source
community, with a minimum of effort. :)

Are you sure? [yes] / [no]

vipersan wrote 6 months ago point
I think EVA-7M from u-blox is bit smaller, has higher sensitivity and consume less power.

Are you sure? [yes] / [no]

peter jansen wrote 6 months ago point
Thanks! That looks like a wonderful chip -- 3.3V @ < 20ma draw while running, and only 7x7mm! Unfortunately it doesn't look like it's regular stock at any of the major distributors, and having to go through the manufacturer usually means a minimum order quantity and long lead times. I'm trying to keep it as easy for folks to source parts and build as I can -- hopefully a major distributor starts carrying these or a similar part!

Are you sure? [yes] / [no]

Noman wrote 5 months ago point
Please also have a look at Venus868F. it seems economical at $3 per module.

Are you sure? [yes] / [no]

n49o7 wrote 6 months ago point
This is truly from the future.

Are you sure? [yes] / [no]

peter jansen wrote 6 months ago 2 points
One of the folks at Ars Technica once claimed in an article that I might be a time traveller from the future borrowing Berlinghoff Rasmussen's business model... I had no idea who it was, so we looked it up, and it made the lab mates and I laugh *so hard*.

Are you sure? [yes] / [no]

vipersan wrote 6 months ago point
Few suggestions:
- upgrade MLX90620 thermal camera to Flir Lepton,
- add 2-3 Mpix camera,
- HTU21D and BMP180 replace with BME280 (it's not yet in production, but maybe you can get engineering sample),
- add ALS (ambient light sensor) - IR / IR+visible sensor eg. MAX44009,
- add distance measurement feature.

Are you sure? [yes] / [no]

peter jansen wrote 6 months ago point
Thanks. The challenge with most of these is a combination of size, cost, data, and tractability, and this is largely a device that's about balance. The standard configuration tries to strike a very good balance of sensor coverage with cost, while allowing folks who want extra functionality to design their own boards and modify the software very quickly. I would love to see someone design a small camera with a footprint on the order of 1-2cm sq with an integrated framebuffer that could be accessed over SPI. Similarly I'd love to see a small distance sensor with a good range, but right now many distance sensors have a large volume. Even the small maxbotics ultrasonic rangefinders would take up nearly the entire volume of the spectrometer/thermal camera board. That being said, it would take an hour of work to put together a sensor board that contained only the maxsonar, if one wasn't interested in the spectrometer/thermal camera. Eventually someone will make a very small distance sensor, and I would love to place it on the Arducorder Mini, or a future device.

Are you sure? [yes] / [no]

Jordatech wrote 6 months ago point
Wow What An Awesome Open Source Instrumentation Project! Thank you for making this project so nicely documented! What type of design modifications and distribution costs would this project be looking at for a "3rd world" implementation?

Are you sure? [yes] / [no]

Similar projects