m (Text replacement - "ProjectNiche=" to "Niche=") |
|||
(28 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Project | {{Project | ||
| | |Name=Nurduino | ||
| | |Skills=Electronics, | ||
| | |Status=Active | ||
| | |Niche=Electronics | ||
|Purpose=Use in other project | |||
|Picture=Nurduino.jpg | |||
}} | }} | ||
Nurduino is our very own [http://en.wikipedia.org/wiki/Arduino arduino] clone. It is the evolution of the [[Arduino Radio Spectrum Analyzer prototype on a breadboard]] project. In that project I built a prototype of the Nurduino, and tried to share the how's and why's. | Nurduino is our very own [http://en.wikipedia.org/wiki/Arduino arduino] clone. It is the evolution of the [[Arduino Radio Spectrum Analyzer prototype on a breadboard]] project. In that project I built a prototype of the Nurduino, and tried to share the how's and why's. | ||
In this page I will make a shorted description of how to build the Nurduino kit, and use it as a 2.4GHz Radio Analyzer. | In this page I will make a shorted description of how to build the Nurduino kit, and use it as a 2.4GHz Radio Analyzer. | ||
== Attention (errata) == | |||
* At the LED1 location on the PCB the wrong hole is marked with a + sign. This is actually the GND hole. The other hole should contain the + leg of the LED. | |||
* In the PCB design, a mistake has been made by forgetting a resistor for the LED. We therefore soldered a 1k resistor to the + leg of the LED. For those who buy the kit complete, you receive a pre-assembled LED, so you don't need to worry. Others: please attach the resistor to the LED or you could burn out not only your LED but also your Atmega328 IC! | |||
== What do I need == | == What do I need == | ||
* A soldering iron (including sponge and stand). Use one that is accurate with a good tip. Although the pcb is setup with a lot of space there are a few spots where accuracy is required. Under €50 there are good options available. | * A soldering iron (including sponge and stand). Use one that is accurate with a good tip. Although the pcb is setup with a lot of space there are a few spots where accuracy is required. Under €50 there are good options available. | ||
* Solder. I use 0.7mm (more accurate then 1mm) with a resin core, containing lead ( | * Solder. I use 0.7mm (more accurate then 1mm) with a resin core, containing lead (wash your hands and try not to breathe the fumes). | ||
* [https://www.sparkfun.com/products/9718 FTDI cable] or [http://www.adafruit.com/products/284 FTDI friend] (and micro usb cable) to connect the board to the usb port. | * [https://www.sparkfun.com/products/9718 FTDI cable] or [http://www.adafruit.com/products/284 FTDI friend] (and micro usb cable) to connect the board to the usb port. | ||
== Software == | |||
* To program the atmega chip, you need [http://space.nurdspace.nl/~smokeyd/nurduino_spectrum_analyzer.ino this sketch]. | |||
* The arsa software which reads the data from the nurduino from usb and displays it on a computer. See below for installation details. | |||
* java jre | |||
* librxtx-java | |||
* The full schematic and pcb design of the Nurduino can be found [http://nurdspace.tk/~smokeyd/2.4GHz_radio_analyzer.zip in this zipfile]. | |||
== Kit components == | == Kit components == | ||
{| class=wikitable | {| class=wikitable | ||
|- | |- | ||
! amount !! Name !! Location !! Picture | |||
|- | |- | ||
| 1x || | | 1x || Atmega328PU IC || push it in the socket IC3. No soldering needed. Align the notch at the top of the IC with the notch of the socket. || [[File:atmega328.jpg|x150px]] | ||
|- | |- | ||
| 1x || | | 1x || CYWM6935 breakout board || in JP1, orientation inside board (see picture above) || [[File:cywm6935.jpg|x150px]] | ||
|- | |- | ||
| 1x || | | 1x || LD1117V33 Voltage regulater from 5 (and more) to 3.3V || LD1117V || [[File:LD1117v33.jpg|x150px]] | ||
|- | |- | ||
| | | 1x || push button (always off) || S2 || [[File:pushbutton.jpg|x150px]] | ||
|- | |- | ||
| | | 2x || 5 pin female header || SV4 || [[File:5pin_header.jpg|x150px]] | ||
|- | |- | ||
| 1x || | | 1x || 6 pin female header || SV3 || [[File:6pin_header.jpg|x150px]] | ||
|- | |- | ||
| 1x || | | 1x || 12 pin female header || JP1 || [[File:12pin_header.jpg|x150px]] | ||
|- | |- | ||
| | | 1x || A six pin header (or actually, two 3pin jumpers) || J1 || | ||
|- | |- | ||
| | | 1x || A four pin header || JP2 || | ||
|- | |- | ||
| | | 1x || 28pin socket for ATmega328 || IC3 Align the notch of the socket, with the notch drawn on the board. || [[File:Ic_socket.jpg|x150px]] | ||
|- | |- | ||
| 2x || | | 2x || 18pF ceramic disc capacitor || C1&C2 || [[File:18pF.jpg|x150px]] | ||
|- | |- | ||
| | | 2x || 100nF ceramic capacitor || C3&C5 || [[File:100nF.jpg|x150px]] | ||
|- | |- | ||
| | | 2x || 10uF electrolytic capacitor (elco) || The elco places (circles). The oriëntation is important. The short leg of the elco is the minus, and the elco on the pcb has a minus sign at one hole || [[File:10uF.jpg|x150px]] | ||
|- | |- | ||
| | | 2x || 10KOhm resistor || R15&R16 || [[File:10k.jpg|x150px]] | ||
|- | |- | ||
| 1x || 16MHz crystal oscillator || | | 3x || 1KOhm resistor || R12&R13&R14 || [[File:1k.jpg|x150px]] | ||
|- | |||
| 3x || 2.2KOhm resistor || R9&R10&R11 || [[File:2k2.jpg|x150px]] | |||
|- | |||
| 1x || 5mm red LED with integrated 1KOhm resistor || LED1. The oriëntation is important. The long leg on the LED is the + leg. ATTENTION!!! On the PCB the wrong hole is marked with a +. The other hole should contain the + leg of the LED. || [[File:led.jpg|x150px]] | |||
|- | |||
| 1x || 16MHz crystal oscillator || Y1 || [[File:crystal.jpg|x150px]] | |||
|- | |- | ||
|} | |} | ||
== Putting it together == | == Putting it together == | ||
If this is your first time soldering: don't worry, it is actually not hard. I learnt it from [https://www.noisebridge.net/wiki/User:Maltman23 Mitch Altman], who is a great teacher and the co-author of [http://mightyohm.com/files/soldercomic/FullSolderComic_EN.pdf Soldering is easy]. | If this is your first time soldering: don't worry, it is actually not hard. I learnt it from [https://www.noisebridge.net/wiki/User:Maltman23 Mitch Altman], who is a great teacher and the co-author of [http://mightyohm.com/files/soldercomic/FullSolderComic_EN.pdf Soldering is easy]. | ||
The PCB has markings for each specific component. The component table above contains these locations. The order in which you solder is not really important, apart from making it as easy as possible to reach each component while soldering. I suggest you start with the smaller resistors, capacitors and crystal. Then the headers and socket, larger capacitors and voltage regulator. The LED and pushbutton you can do whenever you feel like it. Use the picture above as a guide. | |||
== Programming the IC == | |||
If you soldered everything correctly, it is time to program the ic. Hook up the FTDI cable or FTDI friend and usb cable. It is important you have the oriëntation of the FTDI cable/friend correct. The pins on the board are marked. The GND pin should connect to the black wire on the FTDI cable. The VCC pin should connect to the red wire. This is really important, else you might fry the whole pcb. | |||
A [http://www.ladyada.net/learn/arduino/lesson1.html good tutorial on arduino programming] can be found with [http://www.adafruit.com/index.php?main_page=tutorials Lady Ada]. Use the following settings instead of what is listed there. | |||
For the board choose "Arduino Duemilanove w/ATmega328". | |||
For the port on linux you might probably use /dev/ttyUSB0 on Ubuntu/Debian, or equivalent on other distributions. | |||
For Windows, see [http://learn.adafruit.com/ftdi-friend/installing-ftdi-drivers Lady Ada's tutorial] for installing the drivers. | |||
When you installed the arduino programming environment, and configured (maybe even loaded a standard blink sketch to test if uploading works) you can load the correct program to the board. The sketch (program) is listed at the top under [#Software]. Download the file to your sketchbook folder in your documents folder. After that you can find it back in the Arduino programming environment under file->Sketchbook. | |||
Push and hold the reset button on the Nurduino, klik the upload button on the arduino IDE (arrow to the right) and release the reset button after a fraction of a second (before the arduino IDE says uploading). After that, the software should be loaded on the chip. The LED should now start flashing regularly. | |||
You can now connect the nurduino to your computer using the FTDI friend or FTDI cable (make sure you connect it correctly, black wire at the GND pin) to the board and your computer, and start the Arsa software (see below). The Arsa software should now show the signal strength like in the picture. | |||
[[File:Nurduino_working_with_software.jpg|x400px|center]] | |||
== The Arsa software == | |||
The Arsa (arduino radio spectrum analyser) is a java application that reads the usb port data from the Nurduino and displays a bar graph with the signal strenght. It displays both the maximum since you started it, and the current signal. | |||
You can download the most recent version on [http://github.com/dolfandringa/arsa/tree/master/target]. Download the arsa-<version>-jar-with-dependencies.jar file. You can start it with java. Currently it only works on Linux and assumes the Nurduino is available as /dev/ttyUSB0 (default on Debian and it's derivatives like Ubuntu). It also requires the librxtxSerial.so. | |||
You can start the file (assuming you have java and librxtx-java installed) with: | |||
LD_LIBRARY_PATH=/usr/lib/jni/ java -jar arsa-<version>-jar-with-dependencies.jar |
Latest revision as of 10:04, 25 August 2014
Nurduino | |
---|---|
Participants | |
Skills | Electronics |
Status | Active |
Niche | Electronics |
Purpose | Use in other project |
Tool | |
Location | |
Cost | |
Tool category |
Nurduino.jpg {{#if:{{{Tool}}} | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:{{{Tool}}} | [[Tool Cost::{{{Cost}}} | }}
Nurduino is our very own arduino clone. It is the evolution of the Arduino Radio Spectrum Analyzer prototype on a breadboard project. In that project I built a prototype of the Nurduino, and tried to share the how's and why's.
In this page I will make a shorted description of how to build the Nurduino kit, and use it as a 2.4GHz Radio Analyzer.
Attention (errata)
- At the LED1 location on the PCB the wrong hole is marked with a + sign. This is actually the GND hole. The other hole should contain the + leg of the LED.
- In the PCB design, a mistake has been made by forgetting a resistor for the LED. We therefore soldered a 1k resistor to the + leg of the LED. For those who buy the kit complete, you receive a pre-assembled LED, so you don't need to worry. Others: please attach the resistor to the LED or you could burn out not only your LED but also your Atmega328 IC!
What do I need
- A soldering iron (including sponge and stand). Use one that is accurate with a good tip. Although the pcb is setup with a lot of space there are a few spots where accuracy is required. Under €50 there are good options available.
- Solder. I use 0.7mm (more accurate then 1mm) with a resin core, containing lead (wash your hands and try not to breathe the fumes).
- FTDI cable or FTDI friend (and micro usb cable) to connect the board to the usb port.
Software
- To program the atmega chip, you need this sketch.
- The arsa software which reads the data from the nurduino from usb and displays it on a computer. See below for installation details.
- java jre
- librxtx-java
- The full schematic and pcb design of the Nurduino can be found in this zipfile.
Kit components
Putting it together
If this is your first time soldering: don't worry, it is actually not hard. I learnt it from Mitch Altman, who is a great teacher and the co-author of Soldering is easy.
The PCB has markings for each specific component. The component table above contains these locations. The order in which you solder is not really important, apart from making it as easy as possible to reach each component while soldering. I suggest you start with the smaller resistors, capacitors and crystal. Then the headers and socket, larger capacitors and voltage regulator. The LED and pushbutton you can do whenever you feel like it. Use the picture above as a guide.
Programming the IC
If you soldered everything correctly, it is time to program the ic. Hook up the FTDI cable or FTDI friend and usb cable. It is important you have the oriëntation of the FTDI cable/friend correct. The pins on the board are marked. The GND pin should connect to the black wire on the FTDI cable. The VCC pin should connect to the red wire. This is really important, else you might fry the whole pcb.
A good tutorial on arduino programming can be found with Lady Ada. Use the following settings instead of what is listed there. For the board choose "Arduino Duemilanove w/ATmega328". For the port on linux you might probably use /dev/ttyUSB0 on Ubuntu/Debian, or equivalent on other distributions. For Windows, see Lady Ada's tutorial for installing the drivers.
When you installed the arduino programming environment, and configured (maybe even loaded a standard blink sketch to test if uploading works) you can load the correct program to the board. The sketch (program) is listed at the top under [#Software]. Download the file to your sketchbook folder in your documents folder. After that you can find it back in the Arduino programming environment under file->Sketchbook.
Push and hold the reset button on the Nurduino, klik the upload button on the arduino IDE (arrow to the right) and release the reset button after a fraction of a second (before the arduino IDE says uploading). After that, the software should be loaded on the chip. The LED should now start flashing regularly.
You can now connect the nurduino to your computer using the FTDI friend or FTDI cable (make sure you connect it correctly, black wire at the GND pin) to the board and your computer, and start the Arsa software (see below). The Arsa software should now show the signal strength like in the picture.
The Arsa software
The Arsa (arduino radio spectrum analyser) is a java application that reads the usb port data from the Nurduino and displays a bar graph with the signal strenght. It displays both the maximum since you started it, and the current signal.
You can download the most recent version on [1]. Download the arsa-<version>-jar-with-dependencies.jar file. You can start it with java. Currently it only works on Linux and assumes the Nurduino is available as /dev/ttyUSB0 (default on Debian and it's derivatives like Ubuntu). It also requires the librxtxSerial.so. You can start the file (assuming you have java and librxtx-java installed) with:
LD_LIBRARY_PATH=/usr/lib/jni/ java -jar arsa-<version>-jar-with-dependencies.jar