Posts with «samd» label

Electrochemistry at Home

A few years ago, I needed a teeny, tiny potentiostat for my biosensor research. I found a ton of cool example projects on Hackaday and on HardwareX, but they didn’t quite fulfill exactly what I needed. As any of you would do in this type of situation, I decided to build my own device.

Now, we’ve talked about potentiostats before. These are the same devices used in commercial glucometers, so they are widely applicable to a number of biosensing applications. In my internet perusing, I stumbled upon a cool chip from Texas Instruments called the LMP91000 that initially appeared to do all the hard work for me. Unfortunately, there were a few features of the LMP91000 that were a bit limiting and didn’t quite give me the range of flexibility I required for my research. You see, electrochemistry works by biasing a set of electrodes at a given potential and subsequently driving a chemical reaction. The electron transfer is measured by the sensing electrode and converted to a voltage using a transimpedance amplifier (TIA). Commercial potentiostats can have voltage bias generators with microVolt resolution, but I only needed about ~1 mV or so. The problem was, the LMP91000 has a resolution of ~66 mV on a 3.3 V supply, mandating that I augment the LMP991000 with an external digital-to-analog converter (DAC) as others had done.

However, changing the internal reference of the LMP91000 with the DAC confounded the voltage measurements from the TIA, since the TIA is also referenced to the same internal zero as the voltage bias generator. This seemed like a problem other DIY solutions I came across should have mentioned, but I didn’t quite find any other papers describing this problem. After punching myself a little, I thought that maybe it was a bit more obvious to everyone else except me. It can be like that sometimes. Oh well, it was a somewhat easy fix that ended up making my little potentiostat even more capable than I had originally imagined.

I could have made a complete custom potentiostat circuit like a few other examples I stumbled upon, but the integrated aspect of the LMP91000 was a bit too much to pass up. My design needed to be as small as possible since I would eventually like to integrate the device into a wearable. I was using a SAMD21 microcontroller with a built-in DAC, therefore remedying the problem was a bit more convenient than I originally thought since I didn’t need an additional chip in my design.

I am definitely pretty happy with the results. My potentiostat, called KickStat, is about the size of a US quarter dollar with a ton of empty space that could be easily trimmed on my next board revision. I imagine this could be used as a subsystem in any number of larger designs like a glucometer, cellphone, or maybe even a smartwatch.

Check out all the open-source files on my research lab’s GitHub page. I hope my experience will be of assistance to the hacker community. Definitely a fun build and I hope you all get as much kick out of it as I did.

Download the new Arduino IDE 1.6.10!

Great news, Makers! We’re excited to announce the immediate availability of the Arduino IDE 1.6.10, AVR core 1.6.12 and SAM core 1.6.9.

The most notable feature of this release is the introduction of an up-to-date bundled toolchain for AVR containing the latest goodies from Atmel, GCC and AVRDUDE devs.

Thanks to LTO (Link Time Optimization), making your sketches smaller and faster is now only a push of the “Compile” button away.

The AVRDUDE update brings out-of-the-box support for a wide range of microcontrollers and debuggers, making it is as simple as possible to deploy. (For example, problems with Gatekeeper on Mac and dependencies on Linux are a thing of the past.)

Likewise, the builder has received the love it deserves and some of its shortcomings are gone forever. You’ll never have to worry again about encountering weird errors if you need to use C++ advanced libraries like .

All these improvements have been shared with Arduino Create, our cloud-based IDE. Check it out if you’ve never tried it, or test out these enhancements if you’re already an active user!

Of course, we also fixed some corner cases for user experience, so now we have a better error reporting when the upload fails and a [nicer] way to include libraries containing lots of header files.

What’s more, we have gone ahead and developed a new firmware and certificate updater for MKR1000 / WiFi101 Shield users–it’s bundled with the IDE and available as a plugin for older installations.

Our community effort continue to grow well with tons of bugfixing, proposals, and libraries added to the Library Manager. As you can imagine, this makes us extremely happy–thank you all for the contributions!

As usual, be sure to check the entire changelog for a complete list of changes and credits. Don’t forget to report any issue you may find, either on GitHub or on the Arduino Forum–your help is very much appreciated.

Go ahead and download IDE 1.6.10! Happy hacking!

Arduino Blog 27 Jul 09:35