NEW PRODUCT – Thermocouple Amplifier MAX31855 breakout board (MAX6675 upgrade) [v2.0]. Thermocouples are very sensitive, requiring a good amplifier with a cold-compensation reference. The MAX31855K does everything for you, and can be easily interfaced with any microcontroller, even one without an analog input. This breakout board has the chip itself, a 3.3V regulator with 10uF bypass capacitors and level shifting circuitry, all assembled and tested. Comes with a 2 pin terminal block (for connecting to the thermocouple) and pin header (to plug into any breadboard or perfboard). Goes great with our 1m K-type thermocouple.
New! Now uses the MAX31855K instead of the MAX6675, so it can measure a wider temperature measurement range. Please note! the MAX31855 is not pin compatible or drop-in code compatible with the MAX6675. We do have an Arduino library for both chips but you’ll need to adjust any existing MAX6675 designs for the mew MAX31855. The MAX6675 has been discontinued by Maxim.
Version 2.0 now includes ferrite beads and filter capacitor onboard for better stability
Works with any K type thermocouple
Will not work with any other kind of thermocouple other than K type
-200°C to +1350°C output in 0.25 degree increments
UPDATED PRODUCT! Monochrome 0.96″ 128×64 OLED graphic display – These displays are small, only about 1″ diameter, but very readable due to the high contrast of an OLED display. This display is made of 128×64 individual white OLED pixels, each one is turned on or off by the controller chip. Because the display makes its own light, no backlight is required. This reduces the power required to run the OLED and is why the display has such high contrast; we really like this miniature display for its crispness!
This breakout can be used with either an SPI or I2C interface – selectable by soldering two jumpers on the back. The design is completely 5V-ready, with an onboard regulator and built in boost converter. It’s easier than ever to connect directly to your 3V or 5V microcontroller without needing any kind of level shifter!
You can download our SSD1306 OLED display Arduino library from github which comes with example code. The library can print text, bitmaps, pixels, rectangles, circles and lines. It uses 1K of RAM since it needs to buffer the entire display but its very fast! The code is simple to adapt to any other microcontroller.
Electret Microphone Amplifier – MAX4466 with Adjustable Gain. These awesome mic amp breakouts were so popular we sold out in only a few days, but we just whipped up some more! Get them while they’re hot. Add an ear to your project with this well-designed electret microphone amplifier. This fully assembled and tested board comes with a 20-20KHz electret microphone soldered on. For the amplification, we use the Maxim MAX4466, an op-amp specifically designed for this delicate task! The amplifier has excellent power supply noise rejection, so this amplifier sounds really good and isn’t nearly as noisy or scratchy as other mic amp breakouts we’ve tried!
This breakout is best used for projects such as voice changers, audio recording/sampling, and audio-reactive projects that use FFT. On the back, we include a small trimmer pot to adjust the gain. You can set the gain from 25x to 125x. That’s down to be about 200mVpp (for normal speaking volume about 6″ away) which is good for attaching to something that expects ‘line level’ input without clipping, or up to about 1Vpp, ideal for reading from a microcontroller ADC. The output is rail-to-rail so if the sounds gets loud, the output can go up to 5Vpp!
Using it is simple: connect GND to ground, VCC to 2.4-5VDC. For the best performance, use the “quietest” supply available (on an Arduino, this would be the 3.3V supply). The audio waveform will come out of the OUT pin. The output will have a DC bias of VCC/2 so when its perfectly quiet, the voltage will be a steady VCC/2 volts (it is DC coupled). If the audio equipment you’re using requires AC coupled audio, place a 100uF capacitor between the output pin and the input of your device. If you’re connecting to an audio amplifier that has differential inputs or includes decoupling capacitors, the 100uF cap is not required.
NEW PRODUCT! ADS1115 16-Bit ADC - For microcontrollers without an analog-to-digital converter or when you want a higher-precision ADC, the ADS1115 provides 16-bit precision at 860 samples/second over I2C. The chip can be configured as 4 single-ended input channels, or two differential channels. As a nice bonus, it even includes a programmable gain amplifier, up to x16, to help boost up smaller single/differential signals to the full range. We like this ADC because it can run from 2V to 5V power/logic, can measure a large range of signals and its super easy to use. It is a great general purpose 16 bit converter.
The chip’s fairly small so it comes on a breakout board with ferrites to keep the AVDD and AGND quiet. Interfacing is done via I2C. The address can be changed to one of four options (see the datasheet table 5) so you can have up to 4 ADS1115′s connected on a single 2-wire I2C bus for 16 single ended inputs.
To get you started, we have example code for both the Raspberry Pi (in our Adafruit Pi Python library) and Arduino (in our ADS1X15 Arduino library repository) Simply connect GND to ground, VDD to your logic power supply, and SCL/SDA to your microcontroller’s I2C port and run the example code to start reading data.
NEW PRODUCT – ADS1015 12-Bit ADC – 4 Channel with Progrmmable Gain Amplifier. For microcontrollers without an analog-to-digital converter or when you want a higher-precision ADC, the ADS1015 provides 12-bit precision at 3300 samples/second over I2C. The chip can be configured as 4 single-ended input channels, or two differential channels. As a nice bonus, it even includes a programmable gain amplifier, to help boost up smaller signals (+-256mV) to the full range. We like this ADC because it can run from 2V to 5V power/logic and can measure all kinds of signals and its super easy to use, its a great general purpose 12 bit converter.
The chip’s fairly small so it comes on a breakout board with ferrites to keep the AVDD and AGND quiet. Interfacing is done via I2C. The address can be changed to one of four options (see the datasheet table 5) so you can have up to 4 ADS1015′s connected on a single 2-wire I2C bus for 16 single ended inputs.
To get you started, we have example code for both the Raspberry Pi (in our Adafruit Pi Python library) and Arduino (in our ADS1X15 Arduino library repository) Simply connect GND to ground, VDD to your logic power supply, and SCL/SDA to your microcontroller’s I2C port and run the example code to start reading data.
WIDE SUPPLY RANGE: 2.0V to 5.5V
LOW CURRENT CONSUMPTION: Continuous Mode: Only 150µA Single-Shot Mode: Auto Shut-Down
The INA219B breakout board will solve all your power-monitoring problems. Instead of struggling with two multimeters, you can use this breakout to measure both the high side voltage and DC current draw over I2C with 1% precision.
This level converter was purchased with the intention to help interface various modules with my Raspberry Pi but here I’m using it with this GPS module (GoodLuckBuy “Skylab GPS Module MT3329 SKM53 with Embedded GPS Antenna Arduino Compatible” SKU: 86236). It uses LVTTL (0 – 3.3V) for its serial RXD and TXD pins. I thought I’d be able to use it without reading the datasheet or tutorials but I struggled with the Output Enable (OE) and with the need for both VCCA and VCCB. In short VCCA needed to go to 5V, VCCB to 3.3V (both on the Arduino) and OE can be left floating / connect to VCCB (I’ve just read there is a 10k pull-up resistor on this pin).
The GPS did work without the level converter so I might steal this part if I need it elsewhere.
Want to be featured on Flickr pool Friday? Add your Adafruits to the Adafruit Flickr pool.
Your microcontroller probably has an ADC (analog -> digital converter) but does it have a DAC (digital -> analog converter)??? Now it can! This breakout board features the easy-to-use MCP4725 12-bit DAC. Control it via I2C and send it the value you want it to output, and the VOUT pin will have it. Great for audio / analog projects, such as when you can’t use PWM but need a sine wave or adjustable bias point.
We break out the ADDR pin so you can connect two of these DACs on one I2C bus, just tie the ADDR pin of one high to keep it from conflicting. Also included is a 6-pin header, for use in a breadboard. Works with both 3.3V or 5V logic.
Some nice extras with this chip: for chips that have 3.4Mbps Fast Mode I2C (Arduino’s don’t) you can update the Vout at ~200 KHz. There’s an EEPROM so if you write the output voltage, you can ‘store it’ so if the device is power cycled it will restore that voltage. The output voltage is rail-to-rail and proportional to the power pin so if you run it from 3.3V, the output range is 0-3.3V. If you run it from 5V the output range is 0-5V.
How to Add Real Time Clock to Raspberry Pi. The Raspberry Pi is designed to be an ultra-low cost computer, so a lot of things we are used to on a computer have been left out. For example, your laptop and computer have a little coin-battery-powered ‘Real Time Clock’ (RTC) module, which keeps time even when the power is off, or the battery removed. To keep costs low and the size small, an RTC is not included with the Raspberry Pi. Instead, the Pi is intended to be connected to the Internet via Ethernet or WiFi, updating the time automatically from the global ntp (nework time protocol) servers
For stand-alone projects with no network connection, you will not be able to keep the time when the power goes out. So in this project we will show you how to add a low cost battery-backed RTC to your Pi to keep time!
NEW PRODUCT – Stereo 3.7W Class D Audio Amplifier – MAX98306. This incredibly small stereo amplifier is surprisingly powerful – able to deliver 2 x 3.7W channels into 3 ohm impedance speakers. Inside the miniature chip is a class D controller, able to run from 2.7V-5.5VDC. Since the amp is a class D, its incredibly efficient (over 90% efficient when driving an 8Ω speaker at over a Watt) – making it perfect for portable and battery-powered projects. It has built in thermal and over-current protection but we could barely tell it got hot. This board is a welcome upgrade to basic “LM386″ amps!
The inputs of the amplifier go through 1.0uF capacitors, so they are fully ‘differential’ – if you don’t have differential outputs, simply tie the R- and L- to ground. The outputs are “Bridge Tied” – that means they connect directly to the outputs, no connection to ground. The output is a 360KHz square wave PWM that is then ‘averaged out’ by the speaker coil – the high frequencies are not heard. All the above means that you can’t connect the output into another amplifier, it should drive the speakers directly.
Comes with a fully assembled and tested breakout board with 1.0uF input capacitors. We also include header to plug it into a breadboard, 3.5mm screw-terminal blocks so you can easily attach/detach your speakers, and a 2×4 header + jumper to change the amplifier gain on the fly. You will be ready to rock in 15 minutes!
Output Power: 3.7W at 3Ω, 10% THD, 1.7W at 8Ω, 10% THD, with 5V Supply
Passes EMI limit unfiltered with up to 12 inches (30 cm) of speaker cable
High 83dB PSRR at 217Hz
Spread-Spectrum Modulation and Active Emissions Limiting
After playing around with the Emic 2 text to speech module, I decided to try having it read tweets. The gutenbird sketch from the Internet of Things Printer served as a good starting point as it already had the ability to parse the JSON feed from Twitter and output the content via a serial port.
Connecting the Emic 2 to the Arduino is very straightforward, requiring only four wires:
While working with the Emic 2, I wrote a small wrapper class to handle the various commands. This is used at the beginning of the sketch to configure the voice parameters and later on to speak the text:
emic2TtsModule.init();
emic2TtsModule.setVolume(5);
emic2TtsModule.setWordsPerMinute(120);
emic2TtsModule.setVoice(BeautifulBetty);
…
emic2TtsModule.say(fromUser);
emic2TtsModule.say(F(" tweeted "));
emic2TtsModule.say(msgText);
The Social Chatter sketch diverges a bit from the original gutenbird sketch by explicitly expanding certain characters to words to control how the Emic vocalizes them. For example, the following code causes the # sign to be spoken as “hash” instead of “number sign”:
if (c == '#') {
len = writeStringIfPossible(len, maxLen, dest, " hash ");
}
During development, I noticed that having the Emic 2 read URLs was not particularly helpful. There is a simple state machine to detect links and replace them with the work “link” in the spoken output:
if (state == STATE_NORMAL) {
if (c == 'h') {
state = STATE_LINK_H;
…
}
} else if (state == STATE_LINK_H) {
if (c == 't') {
state = STATE_LINK_HT;
} else {
state = STATE_LINK_FALSE_POSITIVE;
}
…
}
The full source is available on GitHub. How will you use the Emic 2 to give a voice to the Internet of Things?
NEW PRODUCT – MCP4725 Breakout Board – 12-Bit DAC w/I2C Interface. Your microcontroller probably has an ADC (analog -> digital converter) but does it have a DAC (digital -> analog converter)??? Now it can! This breakout board features the easy-to-use MCP4725 12-bit DAC. Control it via I2C and send it the value you want it to output, and the VOUT pin will have it. Great for audio / analog projects, such as when you can’t use PWM but need a sine wave or adjustable bias point.
We break out the ADDR pin so you can connect two of these DACs on one I2C bus, just tie the ADDR pin of one high to keep it from conflicting. Also included is a 6-pin header, for use in a breadboard. Works with both 3.3V or 5V logic.
Some nice extras with this chip: for chips that have 3.4Mbps Fast Mode I2C (Arduino’s don’t) you can update the Vout at ~200 KHz. There’s an EEPROM so if you write the output voltage, you can ‘store it’ so if the device is power cycled it will restore that voltage. The output voltage is rail-to-rail and proportional to the power pin so if you run it from 3.3V, the output range is 0-3.3V. If you run it from 5V the output range is 0-5V.
NEW PRODUCT – Emic 2 Text-to-Speech module. Give your project a voice! Designed by Parallax in conjunction with Grand Idea Studio, the Emic 2 Text-to-Speech Module is a multi-language voice synthesizer that converts a stream of digital text into natural sounding speech. Its simple command-based interface makes it easy to integrate into any embedded system. It is by far the best sounding, easiest-to-use TTS module we’ve ever seen!
Key Features:
High-quality speech synthesis for English and Spanish languages
Nine pre-defined voice styles comprising male, female, and child
Dynamic control of speech and voice characteristics, including pitch, speaking rate, and word emphasis
After seeing Ladyada’s Workshop, I started thinking about various ways Adafruit electronics and LEGO bricks could be combined. I’ve always thought it would be cool to have a minifig scale video display instead of a sticker or printed brick. So, I decided to give my minifigs a dynamic train schedule.
The first step in building the train schedule is assembling the electronics. Start by following the tutorial for the OLED and running the sample sketch to test your wiring. Next up is adding an extension cable between the OLED breakout board and the breadboard.
Break off a nine pin length of extra long 0.1” header.
Remove the OLED from the breadboard.
Insert the header in the breadboard in place of the OLED (this should start from where the GND pin was on the OLED and run to where the SDOUT pin was, stopping just short of the SDDETECT pin’s location).
Break off a nine wire wide cable from the ribbon of female/female jumper wires.
Plug the OLED into one end of the nine wire cable and plug the other end into the header pins on the breadboard (make sure to keep the order of the wires the same on each side).
The next step is adding a small bezel to the OLED so that the breakout board isn’t visible through the LEGO window brick.
Open the bezel.svg file from the project folder in a vector based graphics program (I use Inkscape which is available for Linux/Mac/Windows and is open source).
Print the bezel template out on plain white paper.
Place a piece of black construction paper underneath the printed out template.
Use a craft knife to carefully cut along the black rectangles, making sure to cut through both pieces of paper.
Place the black construction paper bezel around the OLED with the thinnest border at the bottom (I used a tiny dab of white craft glue to hold the bezel to the breakout board).
Finally, it’s time to get out the LEGO bricks and start building! Open OledTrainScheduleLegoInstructions.pdf from the project folder and build steps one through eight. At this point, you should have a rectangular enclosure with a window on the front and a two stud wide opening on the back. Place a small piece of double sided tape on the back of the OLED and carefully place it on the inside back of the enclosure so that the OLED is centered in the window brick and the cables are routed through the opening on the back.
Continue with the instructions, closing up the top of the enclosure. You can now upload the sketch from the Arduino IDE and let your minifigs know when trains will be departing, which trains will be late, and which trains they just missed. The source code, bezel template, and LEGO instructions (in both PDF and LDR format) are available in github. I’d love to hear about or see other uses you come up with for a minifig scaled display in your LEGO creations.