The aim of this pcb is to offer an easy way to build a reliable and compact MySensors node based on Arduino Nano and an NRF24L01 radio module.

The schematic, Gerber file and the entire Kicad project are available for download here and in the dedicated d-diot github repository, so you can easily get 10 of this PCB with about 5€ using an online PCB manufacturer like JLCPCB or PCB way.

This is how the board looks:

GP Pcb Nano - Front view
GP Pcb Nano - Rear view

Here the schematics.

Use the interactive BOM tool to see where to place each component

Visit the dedicated topic in the forum if you need to know more.

The main features of the pcb are:

  • Small dimensions: 55 x 55 mm
  • Socket for NRF24L01 radio module with dedicated capacitor
  • Radio traffic LED
  • Multiple and flexible power options (5-23V) with the Mini-360 buck converter and jumper J2
  • Support for a photoresistor to measure the light level
  • Buzzer (beeper)
  • Support for DHT22 temperature and humidity sensor
  • 4 channel RGBW LED controller
  • Dedicated 3.3V voltage regulator AMS1117 (optional) to power any type of radio module. The rail that powers the radio module is selectable with the jumper JP4
  • Additional PIN to power external devices
  • Support for ATSHA204 IC
  • Support for DC Barrel Jack
  • Mounting hole for a M2.5 screw
References Value Footprint Quantity
C7 4.7uF CP_Radial_D5.0mm_P2.00mm 1
C1 100uF CP_Radial_D6.3mm_P2.50mm 1
C3 22uF CP_Radial_Tantal_D5.5mm_P2.50mm 1
C2 C5 C6 C8 0.1uF C_Disc_D5.1mm_W3.2mm_P5.00mm 4
C4 10uF C_Disc_D5.1mm_W3.2mm_P5.00mm 1
R3 R4 R5 R6 20K R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal 4
R7 R9 R10 330 R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal 3
R2 R8 R R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal 2
R11 10K R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal 1
R1 R_PHOTO R_LDR_5.0x4.1mm_P3mm_Vertical 1
D1 D2 D3 LED LED_D5.0mm 3
U1 MH-MINI-360 MH-MINI-360 1
U2 AMS1117-3.3 SOT-223-3_TabPin2 1
U4 ATSHA204A SOT-23_Handsoldering 1
U3 NRF24L01_Breakout nRF24L01_Breakout 1
A1 Arduino_Nano_v3.x Arduino_Nano 1
BZ1 Buzzer Buzzer_12x9.5RM7.6 1
JP3 JP5 Jumper_2_Open PinHeader_1x02_P2.54mm_Vertical 2
JP1 JP2 JP4 Jumper_3_Open PinHeader_1x03_P2.54mm_Vertical 3
Q1 Q2 Q3 Q4 FDN337N SSOT-3 4
J1 Barrel_Jack_Switch BarrelJack_Wuerth_6941xx301002 1
J10 Conn_01x01_Male PinHeader_1x01_P2.54mm_Vertical 1
J3 J6 J7 J9 Conn_01x03_Male PinHeader_1x03_P2.54mm_Vertical 4
J4 Conn_01x04_Male PinHeader_1x04_P2.54mm_Vertical 1
J8 DHT22 PinHeader_1x04_P2.54mm_Vertical 1
J5 Conn_01x05_Male PinHeader_1x05_P2.54mm_Vertical 1
J2 Conn_02x03_Odd_Even PinHeader_2x03_P2.54mm_Vertical 1

The d-diot nano repeater firmware is available as a PlatformIO porject in the d-diot github repo.

Follow the firmware upload guide to know how to flash your Arduino Nano with PlatformIO directly from your Raspberry Pi.

The code supports the following devices:

  • Up to 3 PIR sensors
  • MQ2 Gas Detector with sound alarm and visual alarm, if you install a buzzer and a Neopixel LED strip
  • Buzzer
  • Photoresistor to measure the light level
  • Button with 3 different pattern recognition: short press, long press, double click
  • RGBW LED controller
  • Addressable WS2812 RGB LEDs (Neopixel)

To enable one specific device simply uncomment the corresponding line in the PinConfig.cpp file. Here you can configure also the PIN number.

The MySensors configuration parameters are in the MySconfig.cpp file, while the configuration settings of each devices are in MainConfig.cpp.

The remaining node parameters, like debug settings, update interval and EEPROM save status are in the config section of the main.cpp file.

Visit the dedicated topic forum if you need to know more.

  • hardware/pcb/mysensors/gp_pcb_nano.txt
  • Last modified: 2019/08/05 14:25
  • by franzunix