The I2C and SPI Education Shield is a circuit board designed to help you develop in-depth knowledge of I2C and SPI Serial Communication. It works hand in hand with the extensive Education Shield Tutorials to get you up and running fast with all the I2C and SPI chips that are out there. The tutorials were developed in conjunction with the board through the successful funding of the I2C and SPI Education System Kickstarter Project.
Manual Shift Register Control
The more electronics can be demystified, the more approachable the subject matter becomes, so you start with clocking zeros and ones by hand, mechanically, with three buttons and a Texas Instruments 74HC595 shift register, before moving on to sending those values with code. Eight green LEDs connected to the shift register allow you to easily visualize the techniques of “bit masking” and “bit banging”. Once you’ve done with that, you still have three hardware debounced buttons to use as digital inputs.
Temperature sensors are probably the most commonly used sensors in the world. When you look at the specs for any device out there, it always includes information on how that device will react to heat, and the only way to know if you need to adjust for that, is to actually measure it. For example, if you have a component in an enclosure that’s overheating, you’ll know how to use the alarm interrupt to turn a cooling fan on until it comes back within tolerances. The I2C and SPI Education Shield features an Atmel AT30TS750A that connects to your Arduino via I2C.
Real Time Clock
Knowing how many milliseconds have elapsed since your code started running is great for timing, but horrible for knowing when something happened in the real world. The Microchip MCP7940 Real Time Clock will give you an actual timestamp for your projects – the actual human readable date and time and also communicates using I2C. It has two alarms that trigger interrupts, so if you want to make your microcontroller do a specific task at 11:39AM on the 30th of April, this is the way to do it.
The Microchip MCP3008 ADC expands the general analog input capabilities of your Arduino Uno with 5V and 3V3 voltage references easily selected using a jumper. The eight input channels of the ADC are broken out using a female header at the edge of the board, including 5V, 3V3 and Analog Ground, making it easy to supply power to a device like an HIH-4030 humidity sensor and read its analog response just one pin over. You can also roll your own sensor, using the voltage with a simple light dependent resistor in a voltage divider to measure ambient light levels, as an example.
8-Mbit Flash RAM
If you’re going to read eight analog sensors, measure temperature and slap a timestamp on it, you’ll need somewhere to log it. Data logging can be a tricky business, though, for a disconnected project and it becomes expensive in terms of money and battery life to incorporate Wi-Fi all the time, or add an SD card shield. By learning how to work with flash memory chips, you can start tracking data over long periods of time for pennies. Of course, you don’t have to log data to it necessarily – you could just upload tone patterns into the memory instead and play different music when your real time clock hits an alarm trigger!
The Education Shield is designed to interface directly with an Arduino Uno R3, so you can start working right away with the worlds most commonly used development board, and standard pin headers on the Education Shield mean you can expand on it with other shields and tools as your experience grows.
Each of the subsystems has it’s own dedicated set of tutorials in the Education Shield Tutorial section of Rheingold Heavy, so an entire serial communications course is ready to get you up and experimenting fast!