MySensor board
After reading about the MySensors project, I decided to design a small circuit board to hold the Arduino and radio module.
Status:
- Nov 25th: I've assembled two working boards. Imgur photos
- Nov 24th: I received the boards, Yay!!
- Nov 7th, 2014: I'm waiting on the PCB's from Dirtypcbs.com, slow but cheap.
- Oct 2014: Designed the PCB, Schematic
- Oct 2014: I have some component libraries available here for the Arduino mini pro and the NRF24L01+ module.
<HTML><BR CLEAR=“ALL”></HTML>
Components and layout
I'm using prebuilt modules for the Arduino mini pro and the NRF24L01+ module. SOT-23 3.3V voltage regulator. 0805 resistors and capacitors (Soldered on a thru-hole capacitor until the 0805 tantalums arrive)
Connections
- 1 x I2C
- 2 x 1-wire
- 2 breakout connectors for most of the remaining IO pins
Qty | Device | Package | Parts | eBay search |
---|---|---|---|---|
1 | ARDUINO_MINI_PRO_5V | ARDUINO_MINI_PRO_5V | IC1 | New Pro Mini atmega328 5V 16M Replace ATmega128 Arduino Compatible Nano |
1 | NRF24L01 | NRF24L01 | IC2 | NRF24L01+ Module |
1 | MIC5219 3.3V | SOT23-5 | U3 | MIC5219-3.3 |
1 | MOLEX-1×2 | JP1 | 0.100' crimp connector 2 pos | |
2 | MOLEX-1×3 | JP2 ,JP3 | 0.100' crimp connector 3 pos | |
3 | MOLEX-1×4 | JP4, JP5, JP6 | 0.100' crimp connector 4 pos | |
4 | 4k7 | 0805 | R1, R2, R4, R5 | 0805 4.7k |
1 | 10k | 0805 | R6 | 0805 10k |
omit | 0805 | R3 | ||
1 | 470pf | 0805 | C1 | 0805 470pf |
1 | 2.2uF | 0805 | C2 | 2.2uf 0805 tantalum |
Board measures 1.2“ x 1.5”, mounting holes are at 0.925“ x 1.3”
Future Design notes
- Correct the silkscreen for the I2C connector
- Counterset the breakaway tabs slightly
- Verify pricing on components before ordering board - 0805 Tantalum caps are pricey
- Molex connectors slightly too close to arduino board
Arduino code
- Also, visit the MySensors project for the MySensors library, gateway, and other code.
- AM2320 - Sensor node for AM2320/AM2321 I2C temperature and humidity module Also reports transmission failure as VAR_2
- Counter - Testing node, increments a counter once a second as VAR_1, and reports transmission failures as VAR_2
- EEPROM reader - for debugging purposes, to find the node ID, parent, route, etc…