Weekly Roundup #43 – New Maker Products

This week’s Weekly Roundup we’re seeing gesture sensors, ESP32, SBCs, Vehicle OBD boards and buck converters.   Kickstarter First up on Kickstarter there’s … PLD/HL2 Panorama a multi-protocol wireless box that can talk Sigfox, LoRaWAN and SCAP/LTP. It contains an ATmega328P, which is the ultra low power variant allowing it Continue reading Weekly Roundup #43 – New Maker Products

Posted by Mick on MickMake - Live. Learn. Make.

DIY ISA game control adapter with parallel IO

picture-isa-gca-io-board-600

Dr. Scott Baker has published a new build:

My Xi 8088 homebuilt PC is running a little short on slots, so I wanted to combine the functions of a game control adapter and an 8255 PIO board. Two functions in one slot. As to why one wants each of these things:

  • A game control adapter is used to interface to PC joysticks. These are the old-style analog joysticks with the 15-pin connectors.
  • An 8255 board is a general purpose interfacing board, providing 24 bits of digital IO that can be configured as inputs, outputs, or a mix of both. This is not in and of itself a “parallel port”, but could probably be used to implement one.

See the full post on his blog.

App note: 12Vac LED Driving without smoothing capacitors

an_diodes_an56

Application note from Diodes Incorporated on driving 12Vac LED without smoothing capacitors with their Zetex ZXLD1360 LED driver IC and SBR2A40P1 super barrier rectifier. Link here (PDF)

LED based architectural lighting is now coming of age, but there are still some problems to be considered when designing luminaires to be fitted into existing installations.

This Application Note discusses some of the challenges and shows that the omission of the traditional smoothing capacitors has advantages in saving cost, space and PFC problems.

App note: CAN Bus – Common high speed physical layer problems

an_vector_AN_ANI_1-115

App note from Vector on three commonly encountered high speed CAN physical layer problems – bus termination, signal levels, and ground. Link here (PDF)

Determining the exact cause of a CAN problem is not at all simple.

Is the problem in hardware or software? Is the problem on the circuit board or on the CAN network wiring?
Sometimes the problem may not be at the module level – perhaps the cause is up at the system level.

This application note discusses methods used to investigate serveral of the more common CAN Physical Layer problems typically encountered when debugging high-speed CAN.

The Boat PC – a marine based Raspberry Pi project

picture-complete_rear-600

Domipheus has published a new build:

In late 2015 I was doing my usual head-scratching about what gifts to get various family members for the holiday season. My wife mentioned making something electronic for my father-in-laws boat, and after a few hours of collecting thoughts came up with an idea:

  • A Raspberry Pi computer, which could be powered off the boats 12v batteries
  • This computer would have sensors which made sense on a boat. Certainly GPS
  • I’d have some software which collated the sensor data and displayed it nicely
  • This could plug into the onboard TV using HDMI
  • It would all be put into a suitable enclosure

Project info at Domipheus Labs homepage.

Teardown and experiments with a Doppler microwave transceiver

picture-xbandtransceiver-600

Kerry Wong did a teardown of Microsemi’s C900502 X-band planar transceiver:

I got a couple of Microsemi’s C900502 10.525 GHz X-band Doppler radar motion sensors a while ago. This batch was made in UK and had “UK patents 2243495 and/or 2253108 apply” printed on the case. I have seen a teardown of an HB100 Doppler radar module before and was wondering if I this one is any different inside.

See the full post on his blog.

Check out the video after the break.

MickMake Mail #17: Anet A6, Beelink AP34, ESP32 again, HTTM

This week’s MickMake Mail has a bunch of stuff for a couple of planned projects; 3D printer from BangGood, Beelink AP34 from GearBest, DFRobot have sent me a bunch of kit, and then there’s the HTTM capacitive touch sensors… A lot of them! Anet® A6 3D Printer DIY Kit UGEE Continue reading MickMake Mail #17: Anet A6, Beelink AP34, ESP32 again, HTTM

Posted by Mick on MickMake - Live. Learn. Make.

RFID and Arduino (1)

In this tutorial, divided in two posts, I’ll show you how to use RFID (Radio-frequency Identification) tags with Arduino.

In the first part you’ll learn how to connect the reader to your Arduino and how to write a simple sketch to display the tag’s ID, while in the second part you’ll learn how to build a complete access control system based on RFID tags.

PN532

I chose as RFID reader a board based on the PN532 chip by NXP. This is a very versatile chip: it can work as a tag reader/writer but it can also act as a RFID tag; moreover it supports both I2C and SPI communication buses.

Adafruit created a breakout board for the PN532 chip and the Arduino libraries we’re going to use. Alternatively you can find on several webstores the following board, that I’m also going to use for this tutorial:

rfid-03 rfid-04

Connections

As I wrote before, the PN532 chip supports both I2C and SPI. For simplicity, I’ll use the first one, connecting the SDA and SCL pins of the board to the corresponding pins of Arduino. You have also to connect the IRQ pin to a digital pin of your Arduino (I chose pin 2); thanks to this connection the PN532 pin “warns” Arduino if a new tag is being read:

rfid-06 rfid-07

To select the I2C bus, you have to set the board’s dip switches as explained on the silk screen:

rfid-05

Finally, power the board connecting the VCC and GND pins to pins 5V and GND of Arduino.

For this project, I used the beta version of a new LCD shield by Lemontech. The main feature of this shield is that the LCD is connected to Arduino via an I2C expander; moreover all the buttons are connected to only one pin, the analog pin A0. This means that almost all the Arduino pins are still available for connecing other devices. The display’s default address – but you can change it – is 0x27 while the PN532 chip has address 0x24 so there’s no conflict.

rfid-10 rfid-11jpg

Having two devices connected to the I2C bus, I had to add two 10Kohm pull-up resistors for SCL and SDA as explained in the following schematics:

rfid-13

To keep things simple, I place them on a small breadboard:

rfid-08

I also added a small speaker (connected to pin 8 and GND) to play a sound everytime Arduino reads a tag:

rfid-09

Libraries

To be able to compile the sketch of this tutorial you have to install the following libraries in your IDE:

  • Adafruit PN532 di Adafruit
  • hd44780 di Bill Perry

Both the libraries are available in the Library Manager:

rfid-01

Sketch

The complete sketch is available in my Github repository.

To use the LCD, first you have to define its size (rows and columns), the address on the I2C bus and the pins it’s connected to. You can then initialize the library in the setup():

#define LCD_COLS      16
#define LCD_ROWS      2
hd44780_I2Cexp lcd(0x27, I2Cexp_PCF8574, 0,1,2,4,5,6,7,3,HIGH);
[...]
if(lcd.begin(LCD_COLS, LCD_ROWS) != 0) {
  Serial.println("- Unable to initialize LCD!");
  while(1);
}

The same for the PN532 chip: you have to declare the pin connected to the IRQ signal (RESET is optional) and then initialize it. Using the getFirmwareVersion method you can get the chip version and therefore verify that it’s working correctly:

#define PN532_IRQ     2
#define PN532_RESET   3
Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);
[...]
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if(!versiondata) {
  Serial.println("- Unable to find a PN532 board");
  while(1);
}
Serial.print("- found chip PN5"); 
Serial.println((versiondata>>24) & 0xFF, HEX);

Lastly, call the SAMConfig() method to configure the chip in normal mode and to enable the IRQ pin:

rfid-02

It’s very easy to read a tag. The readPassiveTargetID method returns true if a tag is near the reader:

success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);
if (success) {

In this case, you can play a sound and display the tag’s ID on the display:

tone(SPEAKER_PIN, TONE_FREQ, TONE_TIME);
lcd.clear();
lcd.print("Found RFID tag!");
lcd.setCursor(1,2);
lcd.print("ID: 0x");
for(int i = 0; i < uidLength; i++) {
  if(uid[i] <= 0xF) lcd.print("0");
  lcd.print(uid[i] & 0xFF, HEX);    
}

Demo

App note: Through-Hole versus SMD components

App note from Vishay on the advantages of using Through-Hole mounting. Link here (PDF)

Most electronic gadgets are designed to interface with humans, and we humans are very abusive to most electronic devices. We drop them, poke them, open and close them, and in general feed stuff into and out of them.

It is well understood that a through-hole connection to the PCB is mechanically stronger than most surface-mount connections. By comparison, the strength of the bond that holds a surface-mount component to the PCB is limited to the strength of the solder joint that holds it to the surface of the laminate. As parts get smaller, so does the amount of solder and thus the strength of the bond.