Assembling the Evil Mad Scientist ISP Shield for Arduino.

Time lapse building the ISP Sheild

I ordered two of these ISP Programming shields for my Arduino collection from Evil Mad Scientist, and decided to record myself assembling one of them. Just for fun.

I purchased the boards from Evil Mad Scientist here:

I was actually disappointed when the boards arrived…

I was not disappointed by the product, but because I hadn’t properly read what I was buying! You see, I needed to be able to write boot-loaders onto Atmel328p chips, so that I can build flight computers for my balloon experiments (using the chip and a board cut on my cnc mill, rather than flying a complete Arduino development board). The ISP Programmers from Evil Mad Scientist allow you to do this, but, you can also simply follow the instructions to build a programmer on the breadboard from the Arduino website.

So why would I buy them?

Well I wanted something that looked a little nicer and was a permanent PCB rather than a breadboard. I could easily have copied the breadboard design to a piece of pre-drilled PCB and used nothing but components already available in my electronics lab, but, I was being lazy. I ordered these ISP programmers thinking they were pre-assembled. When they arrived as kits, I wished I’d just built my own boards. Having said this, I’m pleased I didn’t – these look much better than anything I’d have put together.

Tip 1: The assembly instructions leave you with one “spare” component, a 0.01uF capacitor which the instructions actually suggest you keep as a gift. Don’t be quick to stuff that tiny component in a draw, you’ll actually need to insert it between the RST and GND pins of J4 to use this board with the Arduino Uno. This instruction doesn’t appear until you get to the documentation on using the programmers.

Tip 2: Put a piece of insulating tape over your USB socket on your arduino board, to keep it from shorting against the programmer PCB. The PCB is not manufactured with any spacing to prevent this, something which the documentation mentions and “humorously” suggests you buy one of Evil Mad Scientists “Googly board”, a spacer board for your Arduino with stick on googly eyes *ugh!*

Delphi Tip – FMX Update a progress bar within work loop.

Your application must do some work which blocks the main thread, and your progress indicator does not update until the job is done. Under windows you might have introduced “Application.ProcessMessages()” but this is not cross platform and can cause serious performance problems under FMX. What can you do about it? This is precisely the question … Read more

The difference between an object and a class.

Though it may appear a minor distinction, the difference between an object and a class is something which developers seem to misunderstand all the time. The question often comes up in interview situations, so I figured I’d try to clear this one up. Before we get started, if you’re an experienced software engineer you may find the … Read more

Instantly expose a data table as JSON/REST with Delphi.

[NEW UPDATE] I’ve replaced this component with a re-write named “deREST” – find out more here: Since my skill sprint on JSON/REST services in Delphi and C++ builder back in February, one thing has been nagging on my mind. The code that I wrote for that skill sprint was written specifically to expose one particular … Read more

TRichEdit behaves differently under Unicode.

The problem. One of my customers contacted me recently to explain that code which functioned under Delphi 2005 was failing under Delphi XE8. Essentially, this code was intended to alter the contents of a TRichEdit in order to embolden currency amounts denoted by a ‘$’ character. The existing code uses the ‘SelStart’ and ‘SelLength’ properties … Read more