Viewing entries tagged
QR

Comment

QR Code Clock Finished

After working out how to apply the mask patterns to the QR code scanner, I tested it for the first time.  It was a long 30 seconds of moving the reader back and forwards before finally I got presented with the time (not the most efficient way of getting the time but oh well).  Initially I was using the red pixels to display what would be black in a standard QR code; however after returning to the website were I initially saw this great project I realised that he had in fact reversed the colours.  This was very simple to do in code, a couple of lines did the job.  Now the QR code scans much faster with every scanner I have tried.  Pictured at the top is old colours on the left, inverted on the right.  I have also decided that it looks far better to have the clock changing every second; this also means if there is a small bug in my generating code which I have not yet found it doesn't ruin my demonstration as it quickly moves onto the next code.  

I have been very pleased with how this project has gone, from start to finish it took roughly 6 weeks and involved me making my first PCB and also using SMD technology.  The great thing about the design of the PCB means that in theory I could make a larger array with it having to change too much; maybe in the future I will attempt a QR code which can hold more data, and maybe even source some data from the internet to be displayed.

Comment

Comment

QR Code Clock

Here is the QR Code Clock in the final stages of development.  This was probably the hardest part of the whole build; I had to align all of the header and then solder then as flush with the PCB as I could.  This design enabled me to make the board significantly smaller, although did make it a little harder to construct.  After this I checked all of the connections and made amendments were necessary.  Then I started soldering on the SMD MAX7219 driver IC's.  Due to the header legs protruding slightly I had to bend the legs of the chips slightly; after doing this they fitted perfectly and it was not as hard as I had expected to solder them on.  I tested them one by one, and they all worked first time!

After having applied finished the hardware, I moved on to the software.  Initially it took me a while to work out how each display corresponded with each other.  I am using the adafruit GFX library as well as the MAX7219 driver library by adafruit.  This makes the control of the displays with each other very easy and I had the thing up and running in no time.  Keen to test it out I manually programmed in, pixel by pixel, a QR Code that I had generated online.  After some time, and many different QR Code scanning apps I managed to read it.  I believe that the multiple background colours to the QR code make it difficult to scan.  In the future I plan to experiment with tinted materials to see if I can improve the scanning of the Code. 

 The next step is to be able to generate QR Codes automatically, based on the data from the Real Time Clock module I have included on the board.  Below is the first step in the generation.  The data codewords and error correction codewords displayed in binary.  The next stage is to apply 8 different mask patterns, decide on the most effective and then implement that.  Finally 14 bits of data must be added to tell the scanner the error correction level and the data mask used.  At present I see no reason why this can't be achieved on the arduino, so the project is looking good.  I could not have got to this stage without the QR Tutorial at http://www.thonky.com

Comment

Comment

LED Matrix and Double Side PCB

So this was attempt to at making a double sided PCB, this time I had thought about it much more carefully and come up with this jig to ensure the acetates were correctly lined up on every side.  I secured one with selotape to one of the plates below.  Then I lined up the vias on the second acetate, added some double sided tape and pressed the other board firmly down on top of it.  By making sure the two board right angles were lined up I was able to reproduce the alignment every time I put the two pieces of acrylic together.  I tested the theory a few times and then proceeded to insert the board.  I taped down one edge so that it wouldn't move around and then taped my jig together.  After exposing in my UV exposure box I developed, etched, cleaned and drilled.  The result was VERY good.  Other than a few shorts because of my routing of wires to close the board was perfect.  The only problem I did find was when it came to removing the tape from the jig.  I think the UV light caused it to break down, leaving lots of sticky residue.  This isn't great as it effects the transparency of the jig.  I think I will have to make a new one and then use a different method of securing.

 Here is the finished board.  Next step was to make the vias from one side of the board to the other.  For this I got a piece of wire and painstakingly soldered and then cut each one.  This took about half an hour to do 100 vias.  I think I will definitely investigate through hole plating at home!

After this I started to populate the board.  First in was the headers which I had to solder from the wrong side.  This was very stressful as I knew one wrong move and I would make a tiny short circuit which would be very difficult to fix.  I managed to get through without making any obvious mistakes so I moved on to installing the matrixes.  I started by testing them all on a breadboard that I set up.  The one by one I added them on to the board and tested as I went along.  I was expecting huge problems with this part of the build however I only had one; a broken track I assume on the covered part of the board. This was easily fixed by a small jumper wire and then I continued with the rest of the displays.

 After my first successful board I started the second, also a double sided board this one was slightly larger and has SMD chips on it.  This obviously required greater accuracy so I took a lot of care when aligning my acetates.   My care paid off as the board came out perfectly!  I have yet to solder in any components but bellow is a little picture of what the finished product should look like.  The next challenge is soldering those SMD chips.

Comment

Comment

Eagle CAD

I have decided that it is finally time to start manufacturing my own PCB's; I have had enough of soldering millions of jumper wires between pins on a proto board and I want to try it.  This year I also want to try some SMD soldering as it is definitely the way forward.  And I feel the two 'new year resolutions tie in very well so here are a few board designs which I hope to try:

Firstly we have the QR code clock, which features 9 8x8 matrix's, 9 MAX7219 SMD, an arduino nano and a I2C real time clock.  This board will eventually display the time in the form of a QR code on display which will be scannable by a smartphone.  This project will allow me to have a go at manufacturing double sided PCBs and SMD soldering.

I have also opted to design a board for my RGB LED cube; this is more simple and features only a single sided PCB so I will be trying this first.

Comment