Since Emma is a public domain reference design, anyone can take the schematics, gerber files, or bill of materials (BOM) and use them to order everything needed to build more Emmas. This is the case no matter how many Emmas you might want to make. Want to build a whole production run and sell them? Totally fine. Want to make some changes to they layout or tweak the design to add your own feature or twist? By all means, please do.
The pdf of the Emma design is attached to this step in addition to the screen shots shown. The full project source for this design is available from the Electric Imp Dev Center
. Note that many other reference designs are also available at on the Reference Designs Page.
Emma's design consists of four functional blocks: the power supply, the imp slot and ID chip, the LED driver and digit circuit (which is repeated 9 times in the design), and a digital ambient light sensor which was added just for some extra flair. The light sensor can be excluded without any ill effect (except, of course, that you won't be able to view the light level from anywhere in the world).
Emma's power supply uses the Texas Instruments AP1117E33G LDO to obtain a 3.3V supply from the board's 5V supply voltage - the imp, as well as the driver ICs for each digit, require a 3.3V supply. This LDO is inexpensive and easy to solder, and is a new addition in revision two of this design.
Note the Atmel ATSHA204-TSU-T part at U2, in the "Imp Slot and ID Chip" section. This part is an ID chip which provides the impee with a unique ID number. This number is used when the imp comes online and registers with the Electric Imp cloud; this is how the Imp Cloud knows what firmware to provide to the imp when it comes online. This part can be purchased and installed right off-the-shelf; no special initialization or configuration is needed. Just solder it down and you're good to go.
The Taos 856-TSL2561FN is a simple I2C sensor which can be used to detect the ambient light level around the impee. As shown on the schematic, this part has I2C slave address 0x29. Source code to read the sensor is included in this tutorial.
Next we'll take a quick look at the circuit which controls each display digit.