Reply to topic  [ 50 posts ]  Go to page Previous  1, 2, 3, 4, 5
Multifunction shield for Arduino Uno (HCARDU0085) 
Author Message

Joined: Sun Sep 07, 2014 11:49 pm
Posts: 4
Location: Sarasota, FL, USA
Post Re: Multifunction shield for Arduino Uno (HCARDU0085)
I did the same thing shorting the pins. I really like the SMD version of the Arduino Uno or the SpsrkFun RedBoard. Being the use s micro and mini usb connector you don't have that problem.

_________________
"Just call me AND OR NOR. But never NAND."


Sun Sep 14, 2014 6:11 pm
Profile

Joined: Sun Sep 07, 2014 11:49 pm
Posts: 4
Location: Sarasota, FL, USA
Post Re: Multifunction shield for Arduino Uno (HCARDU0085)
I did the same thing shorting the pins. I really like the SMD version of the Arduino Uno or the SpsrkFun RedBoard. Being they use a micro and mini usb connector you don't have that problem.

_________________
"Just call me AND OR NOR. But never NAND."


Sun Sep 14, 2014 6:11 pm
Profile

Joined: Mon Sep 15, 2014 2:29 pm
Posts: 4
Location: Leicester, UK
Post Re: Multifunction shield for Arduino Uno (HCARDU0085)
I've ordered but not yet received my shield but looking at the circuit diagram there appears to be a mistake with the SFH506-38 IR receiver - U4. It shows connections of Data OUT to +5Volts, VDD to GND and GND to pin 2 on the Arduino. It think it should be +5Volts to VDD, OUT to pin2 and GND to GND.

Has anybody tried using this port?

Regards

Tony Goodhew


Tue Sep 16, 2014 10:56 am
Profile
Site Admin

Joined: Sun Aug 05, 2012 4:15 pm
Posts: 708
Post Re: Multifunction shield for Arduino Uno (HCARDU0085)
Yeah it looks like the manufacture made a mistake with this connector. The symbol looks correct on the schematic but the connections are in the wrong order. The pinout on the actual shield with the seven segment LED at the top of the board and going from left to right is as follows:

1....OUT
2....GND
3....+5V

This is not the correct order for a SFH506. One fortunate thing about this mistake though is that the pinout looks correct for our 1838B IR reciver (HCSENS0014). I'll add a note to the first post of this thread.

_________________
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.


Wed Sep 17, 2014 8:40 am
Profile

Joined: Mon Sep 15, 2014 2:29 pm
Posts: 4
Location: Leicester, UK
Post (HCARDU0085) Using IR Receiver & IR remote controller
I've been having fun over the weekend trying out the 1838B IR receiver (HCSENS0014) and the IR remote control (HCIRRC0001) and that they are very easy to get working. The receiver pins are quite wide and care is needed when pushing them into the milled interface socket. The cross face of the device faces the three buttons. You need to install the IRremote library from https://github.com/shirriff/Arduino-IRremote to get it to work. There are several example programs in this package to get you started.

I used all of the 21 buttons on the remote to send data to the 7-segment display or the single LEDs, in binary, and information to the Serial Monitor. The code shows how to decode button pressed.

Here is my code:
Code:
/* ====== IR_Remote_Basics_V3 =====  by Tony Goodhew - 22 September 2014
FunDuino/Arduino UNO R3 - All available from HobbyComponents.com
Arduino compatible Multi Function experimenter shield (HCARDU0085)
IR Remote control - NEC codes - Hobby Components (HCIRRC0001)
IR receiver on pin 2 - 1838B, (HCSENS0014) - X front faces the buttons in U4 - tight fit!

!!!!!!!!!!!! DO NOT USE SFH506-38 as socket does not match its pins !!!!!!!!!!!!!!!!!

This program illustrates input via an InfraRed Receiver from IR Remote control
and output via the 7-segment display and individual LEDs.

Some code based on HOBBY COMPONENTS documentation.

You may copy, alter and reuse this code in any way you like, but please leave
reference to HobbyComponents.com and the author, Tony Goodhew, in your comments if you redistribute this code.
This software may not be used for the purpose of promoting or selling products
that directly compete with Hobby Components Ltd's own range of products.
 
THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS AND THE AUTHOR, Tony Goodhew, MAKE NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
HOBBY COMPONENTS, OR Tony Goodhew, SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
REASON WHATSOEVER.
*/

#include <IRremote.h> // https://github.com/shirriff/Arduino-IRremote

int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;

// Define shift register pins used for seven segment display
#define LATCH 4
#define CLK 7
#define DATA 8

long wait = 1000;  // Display time in millis
int Number = 8888; // Initial 7 segment LED check value -
byte x = 0; // LED code

// LED block byte codes for symbols 0 to 9
//                       { 0    1    2    3    4    5    6    7    8    9 }
const byte DigitCode[] = {192, 249, 164, 176, 153, 146, 130, 248, 128, 152};
// Byte pointers to select blocks 0 to 3 - 0 is Most Significant Block
const byte Block[] = {241, 242, 244, 248};
//LED Pins
const byte LEDs[] = {13, 12, 11, 10};  // Pin # of the single LEDs

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  // Set pin modes for shift register control
  pinMode(LATCH,OUTPUT);
  pinMode(CLK,OUTPUT);
  pinMode(DATA,OUTPUT);
  show();   // 7-seg LED test "8888"
  blank();  // Clear 7-seg LEDs
  // Set up single LEDs
  for (int i = 0; i <= 3; i++) {pinMode(LEDs[i], OUTPUT);}
  x=0;
  LEDset(); // Clear LEDs on Pins 10-13
}

void loop() // ===================== Main Loop ==============================
{
  if (irrecv.decode(&results))
  {
    if((results.value) == 0xFF6897){Number = 0; show(); Serial.println(" - 0 -");}
    if((results.value) == 0xFF30CF){Number = 1; show(); Serial.println(" - 1 -");}
    if((results.value) == 0xFF18E7){Number = 2; show(); Serial.println(" - 2 -");}
    if((results.value) == 0xFF7A85){Number = 3; show(); Serial.println(" - 3 -");}
    if((results.value) == 0xFF10EF){Number = 4; show(); Serial.println(" - 4 -");}
    if((results.value) == 0xFF38C7){Number = 5; show(); Serial.println(" - 5 -");}
    if((results.value) == 0xFF5AA5){Number = 6; show(); Serial.println(" - 6 -");}
    if((results.value) == 0xFF42BD){Number = 7; show(); Serial.println(" - 7 -");}
    if((results.value) == 0xFF4AB5){Number = 8; show(); Serial.println(" - 8 -");}
    if((results.value) == 0xFF52AD){Number = 9; show(); Serial.println(" - 9 -");}
    if((results.value) == 0xFF9867){Number = 100; show(); Serial.println(" - 100+ - ");}   
    if((results.value) == 0xFFB04F){Number = 200; show(); Serial.println(" - 200+ - ");}
    if((results.value) == 0xFFA25D){x=1; LEDupdate(); Serial.println(" - Ch Down - ");}
    if((results.value) == 0xFF629D){x=2; LEDupdate(); Serial.println(" - CH -");}   
    if((results.value) == 0xFFE21D){x=3; LEDupdate(); Serial.println(" - Ch Up - ");}
    if((results.value) == 0xFF22DD){x=4; LEDupdate(); Serial.println(" - |<< - FBwards - ");}   
    if((results.value) == 0xFF02FD){x=5; LEDupdate(); Serial.println(" - >>| - FFwards - ");}
    if((results.value) == 0xFFC23D){x=6; LEDupdate(); Serial.println(" - >|| - Play/Pause - ");}
    if((results.value) == 0xFFE01F){x=7; LEDupdate(); Serial.println(" - VOL- - ");}   
    if((results.value) == 0xFFA857){x=8; LEDupdate(); Serial.println(" - VOL+ - ");}
    if((results.value) == 0xFF906F){x=9; LEDupdate(); Serial.println(" - EQ -");}
    irrecv.resume(); // Receive the next value
  }
}

// Write a decimal number between 0 and 9999 to the 7-Segment display without leading zeros
void WriteNumber()
{
  if (Number > 999) {Send(0, Number / 1000);}         // MSB - Blank leading zero
  if (Number > 99) {Send(1, (Number / 100) % 10);}
  if (Number > 9) {Send(2, (Number / 10) % 10);}   
  Send(3, Number % 10);                               // LSB - remains lit unless cleared with blank()
}


void Send(byte BlockIndex, byte Value)
// Send a symbol between 0 and 9 to one of the 4 LED blocks of the display
{
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLK, MSBFIRST, DigitCode[Value]);
  shiftOut(DATA, CLK, MSBFIRST, Block[BlockIndex] );
  digitalWrite(LATCH, HIGH);   
}

void blank()
// Clears LS block of 7-segment display
{
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLK, MSBFIRST, 255);  // 255 = all segments OFF
  shiftOut(DATA, CLK, MSBFIRST, 3 );
  digitalWrite(LATCH, HIGH);
}
void show()
// Number to 7-segment display
{
 long timenow = millis();
 while (millis() < timenow + wait){WriteNumber();} // Display Number - very fast loop
 blank();
}

void LEDset()
// Display to single LEDs
{
  digitalWrite(LEDs[0], !(x & 1)); // 0 = ON, 1 = OFF
  digitalWrite(LEDs[1], !(x & 2));
  digitalWrite(LEDs[2], !(x & 4));
  digitalWrite(LEDs[3], !(x & 8));
}

void LEDupdate()
// Display x in binary on single LEDs
{
  special();
  LEDset();
  delay(wait);
  x=0; // All 4 LEDs OFF
  LEDset();
  blank();
}

void special()
// Write "L" to 7-segment display LSB to indicate data is in single LEDs in binary
{
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLK, MSBFIRST, 199); // 199 = "L"
  shiftOut(DATA, CLK, MSBFIRST, Block[3]);
  digitalWrite(LATCH, HIGH);
}


I hope you can get it to work.

Regards

Tony Goodhew


Last edited by tonygo on Mon Sep 22, 2014 6:50 pm, edited 1 time in total.



Mon Sep 22, 2014 2:52 pm
Profile

Joined: Mon Sep 15, 2014 2:29 pm
Posts: 4
Location: Leicester, UK
Post Multifunction shield for Arduino Uno - Reading temperature #
I’ve been messing about with the Multifunction shield and exploring the 4x7 segment display and the temperature sensing via the expansion ports. To get a quicker, easy input I added a 10K trim pot to the A5 connectors of the headers – very simple with 5 volts and GND next door. I always like to work things out from first principles, so calculated my own codes for the numeric symbols and a few alphabetic ones. As this is common anode device all you need to do is add up the unlit segment values to get the code. The top segment = 1 and working clockwise round the edge 2 & 4 are on the right side, 8 at the bottom, with 16 and 32 on the left. This leaves 64 in the centre and 128 for the decimal point. It is really an 8 segment display! If you want a blank block you add all of these up and get 255.

I’ve since been exploring reading temperatures. Using a DS18B20 (HCSENS0001) and an LM35DZ (HCSENS0011). The former is very accurate (12 bit) but needs 750 milliseconds to get a reading using input A4 in digital mode. You can get the reading as N Kendrick (linker3000) does in his excellent example on page 3 of this forum or you can use libraries to help. The main problem is keeping the 7-segment display glowing. N Kendrick’s solution has a very steady display but has quite a gap between readings, greater than 8 seconds. I wanted readings to update faster than this. This program displays while the reading is being taken with steady illumination but blanks while the calculation takes place.

Code:
/* DS18B20to7Segment  -- HobbyComponents Multifunction Shield HCARD0085 --
Tony Goodhew 20 Sept 2014
Temperature Sensor DS18B20 in U5 - right hand 3 machined sockets - Flat face towards buttons
J1 in place to provide pull-up voltage and power the sensor.

It displays the temperature, <= 99.99 with a fixed decimal point and 2 dec.places

You may copy, alter and reuse this code in any way you like, but please leave
reference to HobbyComponents.com and the author, Tony Goodhew,  in your comments if you redistribute this code.
This software may not be used for the purpose of promoting or selling products
that directly compete with Hobby Components Ltd's own range of products.
 
THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS AND THE AUTHOR, Tony Goodhew, MAKE NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
HOBBY COMPONENTS, NOR Tony Goodhew, SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
REASON WHATSOEVER.
*/

// Import libraries
#include <OneWire.h>           // http://www.pjrc.com/teensy/td_libs_OneWire.html
#include <DallasTemperature.h> // https://github.com/milesburton/Arduino-Temperature-Control-Library

#define ONE_WIRE_BUS 18 // Connect to Pin A4
// Define shift register pins used for seven segment display

#define LATCH 4
#define CLK 7
#define DATA 8

// Global variables
float tempFP;
int Number = 8888;  // Initial LED check

// Delay between readings in millis - 750 is minimum delay for DS18B20 read cycle
long wait = 750;

// LED block byte codes for symbols - Just sum unlit segment values: Top = 1, centre = 64, DP = 128
const byte SegCode[] = {192, 249, 164, 176, 153, 146, 130, 248, 128, 152, 255}; //0 - 9 + Blank
const byte DPSegCode[] = {64, 121, 36, 48, 25, 18, 2, 120, 0, 24}; // With decimal point
// Byte pointers to select blocks 1 to 4 - 1 is Most Significant Block
const byte Block[] = {241, 242, 244, 248};

// Set up a oneWire instance to communicate with any OneWire device
OneWire ourWire(ONE_WIRE_BUS);

//Tell Dallas Temperature Library to use oneWire Library */
DallasTemperature sensors(&ourWire);

void setup()
{
  // Set pin modes
  pinMode(LATCH,OUTPUT);
  pinMode(CLK,OUTPUT);
  pinMode(DATA,OUTPUT);
  // Start up the DallasTemperature library
  sensors.begin();
}

void loop()
{
  sensors.requestTemperatures(); // Send the command to get temperatures
  long timenow = millis();
  while (millis() < timenow + wait){show();} // Display temperature loop
  Number = 0; // Blank ALL LEDs
  show();     // Display now blank
  tempFP = sensors.getTempCByIndex(0)*100.0; // Get temperature
  Number = int(tempFP);
}

// Routine to update 7-segment display - suppresses leading zeros
void show()
{
  if (Number > 999) {Send(0, Number / 1000);}           // MS Block - left
  if (Number > 99) {SendDP(1, (Number / 100) % 10);}    // with DP
  if (Number > 9 ) {Send(2, (Number / 10) % 10);}
  if (Number >0) {Send(3, Number % 10);}                // LS Block - right
  else Send(3,10);  // Blank in LS Block if Number = zero
}

// Send a symbol to one of the 4 LED blocks of the display
void Send(byte BlockIndex, byte Value)
{
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLK, MSBFIRST, SegCode[Value]);
  shiftOut(DATA, CLK, MSBFIRST, Block[BlockIndex] );
  digitalWrite(LATCH, HIGH);   
}

// Send a symbol to one of the 4 LED blocks of the display with Dec. Pt.
void SendDP(byte BlockIndex, byte Value)
{
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLK, MSBFIRST, DPSegCode[Value]);
  shiftOut(DATA, CLK, MSBFIRST, Block[BlockIndex] );
  digitalWrite(LATCH, HIGH);   
}


Tony Goodhew


Mon Sep 22, 2014 6:45 pm
Profile

Joined: Mon Sep 15, 2014 2:29 pm
Posts: 4
Location: Leicester, UK
Post Multifunction shield - Reading Temperatures # 2
A second solution is to use a different temperature sensor, LM35DZ (HCSENS0011). This plugs into the same socket but must face the opposite way and have jumper, J1, OPEN.
(If you get this wrong the chip will get very hot very quickly!) This a very quick acting sensor with analogue output connected to A4 in analogue mode.

• Calibrated directly in ˚Celsius (Centigrade)
• Linear + 10.0 mV/˚C scale factor
• 0.5˚C accuracy guaranteeable (at +25˚C)
• Range when powered by 5Volts and GND is +2˚C to 150˚C
The analogue pin A4 spreads 5Volts over 1024 equal divisions (10 bit); so each single step is 5/1024 Volts, ie 0.0048828 Volts or 0.0048828 * 100 ˚C = 0.48828 ˚C; just under half a degree.

This means that we should only rely on the reading to the nearest whole ˚C.

The previous DS18B20 is a 12 bit device; hence the extra accuracy.

Here is the code. The display is continuous, it updates quickly if you warm up the sensor with hot fingers but it is only accurate to the nearest 1˚C.

Code:
/* LM35to7Segment  -- HobbyComponents Multifunction Shield HCARD0085 --
Tony Goodhew 20 Sept 2014
Temperature Sensor LM35DZ in U5 - right hand 3 machined sockets

==========> Flat face towards 7 Segment Display <==========   VERY IMPORTANT !!! or it gets VERY HOT!!!

==========> J1 SHOULD NOT BE IN PLACE - TURN SIDEWAYS <==========

This is a faster but less accurate sensor than a DS18B20 and is displayed to the nearest 1ºC

You may copy, alter and reuse this code in any way you like, but please leave
reference to HobbyComponents.com and the author in your comments if you redistribute this code.
This software may not be used for the purpose of promoting or selling products
that directly compete with Hobby Components Ltd's own range of products.
 
THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS AND THE AUTHOR, Tony Goodhew, MAKE NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
HOBBY COMPONENTS, OR Tony Goodhew, SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
REASON WHATSOEVER.
*/

// Import libraries
#include <OneWire.h>           // http://www.pjrc.com/teensy/td_libs_OneWire.html
#include <DallasTemperature.h> // https://github.com/milesburton/Arduino-Temperature-Control-Library

#define ONE_WIRE_BUS 18 // Connect to Pin A4

// Define shift register pins used for seven segment display

#define LATCH 4
#define CLK 7
#define DATA 8

// Global variables
int Number = 8888;  // Initial LED check
int tempPin = 4;    // Pin A4 Analogue
int data;           // Data value from TMP35 (0 - 1023)
float convert;      // Conversion factor from analog data to temperature in ºC

// LED block byte codes for symbols - Just sum unlit segment values: Top = 1, centre = 64, DP = 128
const byte SegCode[] = {192, 249, 164, 176, 153, 146, 130, 248, 128, 152, 255}; //0 - 9 + Blank
// Byte pointers to select blocks 1 to 4 - 1 is Most Significant Block
const byte Block[] = {241, 242, 244, 248};

void setup()
{
  // Set pin modes
  pinMode(LATCH,OUTPUT);
  pinMode(CLK,OUTPUT);
  pinMode(DATA,OUTPUT);
  convert = 5.0 * 100.0 / 1024.0; // ºC per analog data step @ 10 milli volts / ºC
}

void loop()
{
  data = analogRead(tempPin);
  if (data == 0) {Number = 0;} // To prevent rounding errors in FP arithmetic
  else Number = int(float(data) * convert + 0.5); // Temperature rounded to nearest Integer
 
  for (int i = 0; i < 100; i++)
  // Display temperature 100 times
  {
    show();
  }
}

void show()
// Routine to update 7-segment display - suppresses leading zeros
{
  if (Number > 999) {Send(0, Number / 1000);}           // MS Block - left
  if (Number > 99)  {Send(1, (Number / 100) % 10);}     // without DP
  if (Number > 9 )  {Send(2, (Number / 10) % 10);}
  if (Number >= 0)  {Send(3, Number % 10);}             // LS Block - right
}

void Send(byte BlockIndex, byte Value)
// Send a symbol to one of the 4 LED blocks of the display
{
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLK, MSBFIRST, SegCode[Value]);
  shiftOut(DATA, CLK, MSBFIRST, Block[BlockIndex] );
  digitalWrite(LATCH, HIGH);   
}

If you leave this set up running you may find that as the temperature in the room slowly changes the “units” digit starts to flicker. This is not really a fault. It indicates that the voltage is right on a step up or down inside the Analogue to Digital converter.

I checked the temperature displayed against a certified mercury thermometer that I’ve had since back when colour photography needed a dark room, film, chemicals and accurate water temperatures. The readings were the same – reassuring!

This all goes to prove that programming these devices is all about compromise. You can go for simplicity, speed, accuracy or a steady display but you cannot have it all at once.

I see from the circuit diagram that digital pins 0 and 1, together with GRD and 5Volts are available on the connector to the left of the 7-segment display. I think I’ll be trying a radio link to another Arduino in the near future.

Tony Goodhew


Mon Sep 22, 2014 6:48 pm
Profile

Joined: Sat Jun 20, 2015 3:36 pm
Posts: 1
Post Other working examples for multi-function shield
Some of you might be interested in the working code examples I've only just developed for this shield, which I think would be great for those getting started with Arduino. They include:

    Digital alarm clock
    Heart monitor
    Countdown timer
    Sonar ranger
    Incline indicator
    Speedometer

This short video trailer shows these examples in action (each project also has its own separate video):

[youtube]http://www.youtube.com/watch?v=BIhI29Pi5zI[/youtube]

There are a few other projects in the pipeline which will go up on my website when complete.

Cheers
Kashif


Mon Aug 03, 2015 7:38 am
Profile

Joined: Tue Oct 13, 2015 11:46 am
Posts: 1
Post Re: Multifunction shield for Arduino Uno (HCARDU0085)
I am also facing the problem of malfunction shield and exploring the 7 segment display. Also i am facing problem while sensing temprature through expansion ports.
I also added the 10K Variable resistor to the A5 connectors of the headers. Make changes according to this he top segment = 1 and working clockwise round the edge 2 & 4 are on the right side, 8 at the bottom, with 16 and 32 on the left. This leaves 64 in the centre and 128 for the decimal point. It is really an 8 segment display! If you want a blank block you add all of these up and get 255.

[LINK REMOVED BY ADMIN] Please see section 5.2 of the forum terms and conditions.


Tue Oct 13, 2015 5:22 pm
Profile

Joined: Thu Oct 19, 2017 2:21 am
Posts: 1
Post Re: Multifunction shield for Arduino Uno (HCARDU0085)
I’ve since been exploring reading temperatures. Using a DS18B20 (HCSENS0001) and an LM35DZ (HCSENS0011). The former is very accurate (12 bit) but needs 750 milliseconds to get a reading using input A4 in digital mode.




[LINK REMOVED BY ADMIN] Please see section 5.2 of the forum terms and conditions.

_________________
PCB assembly china (PCBA, hdi pcb, 4 layers pcb)


Thu Oct 19, 2017 2:40 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 50 posts ]  Go to page Previous  1, 2, 3, 4, 5

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Thank you to phpBB.com & phpBB.ro.
Design created by Florea Cosmin Ionut.
© 2011 All contents of this site are © Hobby Components LTD