Aug 27, 2014

I bought a 3d printer

That's right. It's not a very fancy one. In fact it's a reasonably priced makerbot replicator dual clone, known as the fastforge creator.

Jul 21, 2014

New ledRing controller


Some of you may have seen a project I wrote about on instructables. http://www.instructables.com/id/Rainbow-Ring-Wall-Clock/

Well there were a few problems I faced with it:
  • Underpowered micro-controller
  • Incorrect mixing of resin
  • Broken led after resin had set 
 (I do intend to do a failure analysis on that LED at some point. When I get the time)

So it was definitely time to do a second revision.


Feb 25, 2012

New website!

To make it easier to find projects that I've done I've set up a new website: http://greg.so
This website has all my contact details along with projects that I have completed. This blog will now be used more for (hopefully) more frequent updates, experiments xor project sneak previews that I'm working on.

The site mas been developed in Firefox 10. Light test has been performed on other browsers, any issues drop me an email I'll look into it.

Jan 30, 2012

LED firefly jar prototype


So I came across this instructable awhile back: Jar of firefies Basically [Keso] has soldered enamel wires to each LED and then used some neat micro alligator clip, to twist the wires neatly. I didn't have access to such micro clips so my twisting was done by hand, as a result my LEDs and their wires are very messy and uneven. Possibly on a later revision I will be able to find such connectors.

My version only uses one colour of enamel wire that I salvaged from an old clock module. Because of this I had to use my multimeter to determine the polarity of the LEDs after twisting them.
The 8bi8 hardware was over kill for this project, it is designed to drive 128 LEDs in a matrix formation, currently I am driving 16 LEDs directly from the n-chaneel sinking mosfets. Overkill? Probably, but I had the hardware on hand so it was a quick project to construct.

Unfortuantly the LEDs cannot be faded using low power tequniques, when I designed the 8bi8 board I wired in the output enable pin from the 595's this would allow for fading of the output via PWM. Unfortunately the microcontroller pin I chose for this job was not one of the hardware enabled PWM pins. So fading the outputs would require a software PWM which would significantly decrease the battery life of the device.

The code is very simple, the LEDs are flashed in sequence. I would like to set up a proper random number generator to random select a LED and randomly select a sleep interval before the next flash. I suppose this new code will be created for a new board revision.

Additionally on a new board revision I would wire in a LED to be used as a light sensor so that the LEDs would only be activated at night, just like real fireflies.

Jan 23, 2012

Making a 6 pin MSP430 value line device.

So if you have a space restricted project and you don't need the extra i/o pins that a 14 pin value line device houses, no longer do you have to abandon your dreams of using the MSP430 in your project.
Introducing the 6pin MSP430 device.
What you see above is not a new device, simply a stock MSP430G2211 cut down a tad. Using a dremel cutting tool the top and bottom of the device can be safely and easily removed with no damage to the MCU die itself.

Here is how I modified my device:
As you can see the Power input rails have been cut off from the rest of the chip. However the device can still be powered by using a neat trick. Within most semiconductors latching diode are placed on the input/output pins to aid in preventing SCR latchup. Basically when the voltage on a pin exceeds VCC by ~0.7v the extra voltage will flow through the diode into the devices VCC rail. similarly the same occurs on the GND rail.

Since I've not damaged the die programming still works like a charm and the whole device operates as expected. The next step will be doing something with it.

Jan 20, 2012

8bi8 Overview

8bi8
The 8bi8 is a small self contained 8x8 bi-colour LED matrix toy. It has emerged after various prototypes. From here I want to create a new revision building on what I have learn from building this version.





 Overview video:


Soldering video:

The hardware: (BOM)

This is the bill of materials. (the prices listed here are from the sources that I used and I am not associated with them nor am I responsible if their prices change.) It's should also be noted that most of these parts could be easily substituted for similar parts based on availability.

QtyNamePrice Ea.Compound Price
1MSP430G2201IPW14R (2Kb FLASH)$1.56$1.56
16IRFML8244$0.23$3.68
1BAT-HLD-001$0.26$0.26
147k 0402 Resistor$0.04$0.04
20.1µF 0402 Capacitor$0.04$0.08
3MC74HC595ADTR2G$0.59$1.77
1TL3340AF160QG$0.64$0.64
1Dot Matrix LED 3mm 8x8 R/G CA 24 pin*$3.50$3.50
--$11.53
All parts here are based of digi key prices expect for the LED matrix which was sourced from ebay.

Note these prices are based on buying parts to create 1 LED matrix toy. Making a batch of 10 would reduce cost considerably per device. (for example buying 10 LED matrices reduced their indv. price to $1.49)

The PCB used for this is based on the design files below and I had mine manufactured at ITeadstudio using their 10pcs 5x5cm service. This adds $0.99 per device for the PCB cost.

CR2032 batteries can be bought cheaply online, offline or salvaged form old computer motherboards.

The Software:
The software is written in ASM and has been designed to be compiled with naken430asm the tiny open source MSP430 compiler. A simple perl script has been included to convert a simple PNG image sprite image into code the 8bi8 can prccess.

Download: 8bi8 Version 1

The Design:

The design is made in eagle and was designed to fit as much as I could onto the limited space. After soldering up 2 prototypes the only issue I have is the very small space that you have between the mosfet channel drivers.

Download: Eagle files (v6),  PDF schematic, Gerber files

Jan 16, 2012

Various prototypes leading to 8bi8

I've always been fascinated with LEDs and toys that use LEDs. In a previous post I revisted my first custom fabricated PCB project that used 3 5x7 5mm LED bi colour modules. After that I set out to make a 8x8 version. Here are some revisions I went through. This youtube video pretty much covers most of this post:

Rev1 populated base pcb and bare top pcb (Notice the wire re-enforcing the micro b connector.)
Revision 1:
I first built a small 8x8 LED backpack for a set of small 20mmx20mm red LED modules I bought from ebay. In that first design I used a micro controller and 6 0.1" headers to connect to base board that would contain a battery and wireless transceiver. the battery was going to be charged by a usb lipo charging circuit. and the wireless would enable the device to talk with other devices. lets just say the design was far to complicated and never really took off. I did however get the LED "daughter board" working from incoming SPI signals and independently, the only issue with that was the lack of user input (buttons) and the absence of a battery or power switch.

Rev2 populated base board and bare screen pcb
Revision 2:
After seeing this I decided to design my new revision with this capability, to use an AVRs internal ADC to sample voltage outputted by the LEDs allowing a 2D matrix input. This design still used the small 20x20mm red LED devices. it featured 6 0.1" headers on the back to again connect to a base board. this was mainly due to small size not being big enough to house a proper battery. The base board was redesigned to incorporate a USB enabled AVR IC. This also never really took off the ground. Probably because I'm more of a hardware guy than a software guy and high level libraries such as USB scare me, or at least give me nightmares. Just like the first I was able to get the display board functioning independently to the base board. However just like the first revision he display board had no extra room for user input or a battery pack only the 6 pin interface connector. The light input does work however since the display is very very small compared to a standard 3mm LED display or even a huge 5mm LED display it is very hard to aim a laser pointer at an individual pixel.

8bi8 and the larger 16bi8 version
Revision 3??: (8bi8 0.9)
This technically shouldn't be called a revision from the last two as it was practically a whole new project. In fact I haven't called it revision 3 I labeled it as the 8bi8 as it's a 8x8 bi-colour LED toy. The basic design was to use a MSP430 combines with a coin cell battery and a few buttons. basically it was a reproduction of the original design without the interface header and featuring on-board battery and inputs. For this design I was very very lazy and decided to give eagle auto router a try. This re-ignited my frustration with auto routers but did finally yield a result. After waiting ~30 days for my boards to arrive (a standard time from laen's PCB service to Australia). I discovered after soldering up a whole prototype that half of the display connection had been reversed. I managed to fix up the dodgy wiring with an even dodgier software job. The frame rate was serverly reduced due to this hack job and development on this platform stopped and development into a new revision began.

8bi8 1.0
After the experience with the first 8b8 revision I decided to spend more time designing this board. adding in current sinking mosfet from the shift register outputs in order to maintain a reasonable constant brightness across screen refreshes and maybe being able to push more current than the standard 74hct595 IC (current supply to LEDs is probably limited more by the coin cell) This revision will be covered fully in a later blog post.