The idea of the tiny230 project dates back to about mid-2008. The main reason for starting the project was to demonstrate that IEEE 802.15.4 transceivers like the AT86RF230 could be usefully applied even with small controllers. Till that time, most of the demonstration and application boards available for this kind of UHF transceiver was equipped with larger controllers (like the ATmega128 or ATmega1281), mainly due to them targetting for ZigBee stacks which were known to consume quite some resources in the controller.
However, it was envisioned that in order to create simple wireless applications like those that are frequently implemented using very cheap ISM- or SRD-band transceivers (small remote controls, temperature sensors etc.), controlling a sophisticated radio like an AT86RF230 actually doesn't require a bunch of resources, so the expensive controller with large amounts of flash ROM could be replaced by a cheap one. Axel's μracoli project seemed to be an ideal platform for such a small-footprint application, so the tiny230 board was created specifically with μracoli in mind.
A second goal of the project was to demonstrate that creating the hardware of an UHF ISM-band transmitter is technically and legally possible for an advanced electronics amateur. It's specifically not targetted as a beginner's project, mainly because these transceiver ICs are only available in a QFN case which requires some basic skills and suitable equipment to be soldered. However, soldering equipment like hot-air guns became available at hobbyist-friendly prices in recent years, so soldering a QFN-32 case is no longer out of the question. The legal part of the task involves to demonstrate that, when doing it correctly, all the applicable conditions for generally assigned frequency allocations ("license free bands") can be met.
Based on the experience of the first board version, a second version named "rev B" was created later on (in the first half of 2009). It fixed a number of things that have proven to be not quite optimal in the first design.
When selecting a controller, due to the μracoli constraints, the search has been restricted to Atmel's AVR (8-bit) line. The smallest pin count AVRs by that time were various 8-pin devices (ATtiny13, ATiny25/45/85). However, with only 5 usable IO pins (when keeping the /RESET pin), while it's probably basically possible to control such a transceiver IC, there's not much practical use then because there are no free pins to implement any kind of application. Consequently, the 14-pin AVRs (ATtiny24, ATtiny44, ATtin84) came into consideration. They offer 11 conveniently usable IO pins (excluding /RESET which is available for both, programming and debugging purposes). With the transceiver IC taking four pins for the SPI interface, and another three pins for various additional functions (sleep control, transceiver reset, interrupt), there are still four pins completely available for the application. These four pins can be used for both analog and digital inputs, allowing for a maximum of flexibility.
The three members of the family, ATtiny24, ATtiny44, and ATtiny84 are fully pin and source-code compatible. Thus the choice of an actual device doesn't need to be known when designing the project. Quite frequently, debugging the software can be easier on a slightly larger controller, as there's some room for additional debugging code and strings, or it might be easier to debug at a lower compiler optimization level. These controllers can be debugged within the application through Atmel's proprietary debugWIRE protocol, which is essentially a one-wire communication that is run across the /RESET pin of the controller. This allows for a convenient software development that can be run on the actual hardware setup.
These controllers offer a number of standard peripherals, in particular they do have an on-board analog-digital converter (ADC). The radio transceiver requires an SPI master as its controller, and the controllers have a unit called Universal Serial Interface (USI) that can act as an SPI master with only little software supplement.
The AT86RF230 operates at the top of the UHF band, at frequencies around 2450 MHz in the so-called ISM band. Circuit design for these frequencies heavily depends on the actual layout used, so the decision was to use the Atmel-provided reference designs as the base of the RF front-end. These reference designs are accompanied by PCB production data (in RS-274-X format, also called extended Gerber), so these production data have been imported into the EDA system used (Bartels AutoEngineer). This involves things like the layout of the crystal that clocks the AT86RF230. Also, Atmel's antenna reference design has been imported. This is a symmetrical dipole-style antenna so no balun or other matching circuit is needed. As the Atmel reference design contains a low-pass filter, this filter has been designed into the PCB, too. The antenna is quoted to have a gain of about 6.5 dBi in its main direction, which is located within the PCB plane, and perpendicular to the larger axis of the antenna.
The four pins that are available to the user application are located on port A of the ATtinyX4, so they can be used as both, general digital IO pins, as well as as ADC inputs. The board design includes two LEDs attached to pins PA0 and PA1, a button that connects to PA2, and finally a thermistor attached to PA3. The entire design has been carefully chosen so no static current is needed, allowing for an overall low-power design. The LEDs could also be used as light-sensitive sensors, as they are also attached to ADC pins.
Schematics; click on image to display in full size, or use the PDF link below.
|Photo of a tiny230 rev B board|
The circuit diagram uses a standard application circuit from the Atmel application note AVR2005 "Design Considerations for the AT86RF230", and the RF part of the layout has been imported from the Gerber layout files that have once been available along with that application note (but don't appear to be around there anymore). Note that the components R3 and C8 (CLKM filter) have been copied from that application note without really being used inside the tiny230 design, so they can be left out.
Likewise, the design of the PCB antenna has been imported from the Atmel application note AVR2006 "Design and characterization of the Radio Controller Boards 2.4GHz PCB Antenna".
The connections between the transceiver IC and the controller are partially dictated by the USI pinout of the ATtiny24/44/84. Likewise, routing the transceiver's IRQ output preferrably goes to an external IRQ input of the controller. Although using pin-change interrupt, any of the IO pins can be made an interrupt pin if needed, routing to a dedicated interrupt pin simplifies the software implementation. The remaining pins (/SEL, /RESET, SLP_TR) can be assigned to arbitrary controller IO pins.
R3 and C8 can be omitted, as CLKM is actually not used. It is recommended to turn off CLKM in software then.
C13 through C16 and L2/L3 form an output Π-filter to reduce spurious emissions; see below.
R12/R13 are KTY-style PTC resistors to be used as temperature sensors; both footprints are meant to be usable as alternatives, so at most one of them should be mounted; when omitting them, software must ensure a software pullup will be applied to PA2 for the pushbutton to work. Turn PA3 into a "low" output in order to activate the PTC voltage divider, and measure at ADC2 (PA2). That way, if the temperature sensor is not being probed (and the pushbutton not pressed), no static current flows.
Activate PA0 and PA1 as outputs in order to drive the LEDs. Alternatively, their photo voltage can be measured through ADC0 or ADC1, respectively.
J1 is a scratch jumper, normally shorted. In some situations, rev A boards ran into a situation where some ISP tools could no longer activate ISP on the controller as apparently the transceiver IC was driving the SPI pins. J1 has been inserted to provide a method of getting out of that situation should it ever arise again.
Power supply: the rectangular hole in the bottom right part of the PCB can take two LR44 cells to be used as a power supply; alternatively, P1 and P2 form a contact area where a battery case for two LR03 cells can be mounted at the bottom of the PCB. There is no separate power switch, software should ensure that both, the transceiver as well as the controller enter the appropriate sleep modi wheile being idle.
P3 through P6 are extra pads on the PCB attached to each of the application-usable controller IO pins. They can be used to connect alternative peripherals rather than those the PCB has been originally designed for.
In order to prove that a self-made radio board like the tiny230 could safely fulfill the requirements of regulatory conditions and can thus be operated legally, a few basic measurements have been conducted. For Europe, the applicable standard for devices operating in the 2.4 GHz ISM band is ETSI EN 300 440-1. It describes the measurement setups and conditions, as well as the applicable limits for devices.
Disclaimer: All these measurements have been made as careful as possible within the limits of the hobbyist equipment used. They are explicitly not meant to be taken as a declaration of conformity of any kind, even though the methods used have been chosen to match those by the ETSI regulatory requirements. If you are a commercial organization who wants to sell or otherwise distribute these boards (or anything derived from it), you are advised to have your own measurements conducted at an accredited test laboratory, and base your Declaration of conformity on those measurements, so you can apply a "CE" mark. Also, no attempt whatsoever has been made to prove the tiny230 board might also comply with regulatory requirements of other parts of the world, notably the area where FCC regulations apply.
The following measurements have been taken on a tiny230 rev B board, equipped with an AT86RF231 transceiver. The transceiver was set up to emit at +3 dBm transmit power level. The receiver was a Tektronix 492 spectrum analyzer, equipped with a logarithmic-periodical dipole antenna (LPDA) manufactured by Kent Britain, WA5VJB. The antenna is characterized for the frequency range of 2 through 11 GHz, so it covers the base emission as well as anything up to the 4th harmonics. The antenna has an average gain of 6 dBi.
Spurious emissions are the most critical factor to comply with the various radio regulations (apart from the signal power of the main RF emission, of course, which is determined by the AT86RF230 in this case).
As the main RF frequency of the transmitter is between 2404.5 and 2480.5 MHz, and the most notable spurious emissions are harmonics of the transmitter frequency, some measurements have been done to see how much harmonic emission is caused by these tiny230 boards.
ETSI EN 300 440-1 requires the spurious emission measurements to be taken at a distance between Tx and Rx antennae of 3 m. Within the setup used, only 2.5 m could be achieved, but it is assumed that the results would not differ much from those at a distance of 3 m.
|1||2.4495 GHz||-32 dBm||1 kHz||overall path loss: 35 dB|
|2||4.890 GHz||-74 dBm||1 kHz||at 45 deg angle from main direction; main direction: -78 dBm|
|3||7.3485 GHz||-80 dBm||1 kHz|
|4||9.798 GHz||<-95 dBm||100 Hz||noise floor|
As the noise floor of the spectrum analyzer used was simply too high for the higher-order harmonics to be detected at all within a distance of 2.5 m, a second measurement series has been taken within a distance of 25 cm. This distance is approximately 2 lambda, so it's already well within the area of far-field conditions.
|1||2.4495 GHz||-17 dBm||10 kHz||overall path loss: 20 dB|
|2||4.890 GHz||-60 dBm||10 kHz||at 45 deg angle from main direction; main direction: -68 dBm|
|3||7.3485 GHz||-65 dBm||1 kHz|
|4||9.798 GHz||-80 dBm||1 kHz|
|5||12.2475 GHz||-85 dBm||100 Hz|
By un-applying the respective path loss at the fundamental frequency, the spurious power at the Tx antenna can be derived. As can be seen, the measurement results at both distances match very well. Note that this method does not match the method described by the ETSI standard for conducting a radiated measurement; instead, the device under test would have to be replaced by a signal generator and a known antenna, and the signal generator be tuned to achieve the same radiated energy at the receiver. As no suitable signal generator was available, it could not be done that way.
|#||frequency||tx power (2.5 m)||tx power (25 cm)|
|1||2.4495 GHz||+3 dBm||+3 dBm|
|2||4.890 GHz||-39 dBm||-40 dBm|
|3||7.3485 GHz||-45 dBm||-45 dBm|
|4||9.798 GHz||—||-60 dBm|
|5||12.2475 GHz||—||-65 dBm|
The ETSI EN 300 440-1standard limits spurious emissions for frequencies above 1 GHz to at most 1 µW (or -30 dBm). For that purpose, the results from rows 2 through 5 have to be summed up as absolute power levels (spurious emissions other than harmonics could not be observed at all, within the noise limits of the spectrum analyzer used, even at very small distances between Tx and Rx antennae). The sum of the harmonic spurious emission values is 0.159 µW, or -38 dBm. Thus, the value is well below the limit. Anyway, the measurements taken have a number of uncertainties compared to the exact ETSI-mandated procedure, so anyone is well advised to further reduce the Tx power level. As the spurious emission limit is an absolute power value, reducing the Tx power provides for an additional safety margin.
All the measurements above have been made without the output Π-filter, just the antenna connected directly to the RFN and RFP pins of the AT86RF231 used (i.e., L2/L3 replaced by solder jumpers). The measurement series has been repeated then with the filter in place (2 · 1.5 pF + 3.3 nH in each path):
|1||2.4495 GHz||-34 dBm||1 kHz||overall path loss: 37 dB|
|2||4.890 GHz||-84 dBm||100 Hz||at 45 deg angle from main direction; main direction: -88 dBm|
|3||7.3485 GHz||-82 dBm||100 Hz|
The 2 dB difference in the fundamental value is probably not completely caused by the insertion loss of the filter, but might be partially accounted to measurement uncertainties of the equipment used. Anyway, it can be shown that there's an approximately 10 dB improvement for the 2nd harmonic when using the filter. The sum of rows 2 and 3 above is now only 51.5 nW, or -42.8 dBm. This is more than 10 dB better than required, and should thus be fairly on the safe side.
The second important parameter is to guarantee that the base emission covers only the part of the frequency spectrum that has been assigned, namely the range between 2400 and 2485 MHz. The measurement method described in the ETSI standard mandates to use the lowest and highest possible frequencies, respectively, and then monitor at which frequency the spectral density goes below the level of -74.8 dBm/Hz. The measurement has been conducted using a 100 kHz radio bandwidth, which corresponds to a power level of -25 dBm (on the Tx antenna). The frequencies where this level is reached have been determined to 2401 MHz, and 2482 MHz, respectively, so they are safely within the frequency assignment.
The files presented here are provided "as is", any express or implied warranty is disclaimed. Use at your own risk, and mind the RF regulatory requirements of the area you are operating in. Feel free to contact me if you've got questions about the design.
|Schematics||Schematics from EDA systems, PDF|
|Layout as PDF||Layout data, PDF, one page per layer|
|Components||Component placement, PDF, enlarged|
CAM data as Gerber (RS-274-X) and Excellon (drill) files, ZIP archive. The data has been processed to be compatible with Jakob Kleinen's PCB service.