First Day with DesignSpark PCB

This is the first part of a series of tutorials on DesignSpark PCB. The second part is here.

For the last little while I’ve been looking at some of the “free” PCB design tools out there for some open source hardware projects I’m considering. I initially tried Eagle which seems to be the standard “free” package out there because it gives you a limited functionality package for free. I turned it on once and promptly uninstalled it. Sorry, but I just couldn’t get past the user interface. It was completely foreign to me and I’ve used a lot of different packages (PADS, Orcad, Protel, PCAD, Altium Designer, etc). Eagle just felt broken from the first second I tried it, I think mainly because it is so different in ideology from the commercial offerings I’ve tried.

Second on my list is DesignSpark PCB. I tried it and it failed my 5 minute click around the tutorial test. So I sent an email to the DesignSpark people complaining about it. Martin Keenan, the project manager for DesignSpark PCB, replied and gave me some valid reasons to look at it again. So I figured I would but that I would lower my expectations the second time around.

Continue reading

Chroma 62006P-100-2 Power Supply Review

Chroma ATE has been quietly making really good power supplies for a long time. Today I’m going to talk about 62006P-100-25 which is a 100V 25A power supply with a built in arbitrary function generator. I’ve been using one now for about a year and it’s definitely the best value for the dollar out there now if you need a high end power supply.

Continue reading

Altium Designer Backwards Annotation Hell

I’m tired of searching for reference designators on circuit boards, so I decided to start annotating schematics from the PCB locations. That way all of the designators in sequence are nearby (at least in theory). For example, R1 would be near R2 and R3. The process of reannotating the reference designators on the circuit board and importing the changes back into the schematic is called backwards annotation.

Continue reading

Scuba2 Telescope

Here are pictures of some the cards I worked on for the Scuba2 telescope. These cards were part of the electronics package used to measure the telescope sensor array. Both of them are based around the now ancient Altera Stratix FPGAs. The card below was the controller for the whole package. This card has 2 FPGA configuration memories to make sure it could still boot if a remote update failed.

Scuba2 clock card
Scuba2 clock card

Continue reading

Uninitialized Variables with LPCXpresso

Believe it or not but every static variable in C is initialized whether you explicitly set a value or not. If you don’t set a variable then the variable will be initialized to 0. Almost all of the time that behaviour is exactly what you need.

I was working on a watchdog timer module this week and I ran into a problem. When I design a watchdog module, I make sure that every major task and/or function is working properly before resetting the watchdog timer. If the module detects an error then I like to save the error into RAM so that it is available for debugging later after the CPU resets. This has saved a ton of time over the years.

Continue reading