The choice of a microcontroller

Last modified: 13th February, 2003

I'll be filling this page out with additional details as I get further into the design and construction of the control system. Check back every now and then!


On the microcontroller

I have decided to use a microcontroller running uClinux to control the telescope. If you're interested in finding out about uClinux, surf to ucdot.org, the uClinux download page or the mailing lists web site. There are several published circuits that you can find on the web that are capable of running Linux and a search through the mail archives on the page above will point you at them.

The point to consider when thinking about regarding the telescope application is that microcontrollers are not high performance engines like the Pentium family most of us are familar with from our desk and lap top PCs. A microcontroller will not perform nearly so quickly. However it is surprising how simple it is to choose a compromise processor platform which is still fast enough to do most of the required tasks.

The platform I had originally chosen is called the uCsimm, a Motorola Dragonball (68EZ328) microcontroller built onto a small simm module (same dimensions as memory SIMMs) that provides a 10 Base T Ethernet port, 8 Meg DRAM and 2 Meg Flash. There is enough processing power and I/O to control a telescope using this device and it's low power enough as to be able to be operated by batteries. In rough terms, the Dragonball is about the equivalent speed of one of the very fisrt Apple Macintosh computers to hit the market in the mid 1980s. While this speed is still impressive for something so small, I found that it was not quite fast enough to provide good star catalogue search speed or real time planet / moon positional calculations. My joystick interface basically ground to a halt when trying to track the moon or a planet which became frustrating.

I'm now starting to adapt my hardware and code to run on a SnapGear / SecureEdge router which provides even more Ethernet and serial ports than the uCsimm but the additional ports are not what I'm interested in.

SnapGear sell a range of different home networking routers, normally used to provide a firewall between a cable or DSL high speed Internet service and your home network of PCs. Their routers are all based on the Motorola Coldfire family of microcontrollers which are substantially faster than the Dragonball I had initially used. All of the SnapGear boards also run the same uClinux as I'd used with the uCsimm and the the uClinux distribution natively supports all of the SnapGear cards. It is relatively straightforward to compile your kernel and application to run on any of the SnapGear boards so it makes an ideal platform for a hacker wanting to customise an application like a telescope controller.

At present, I'm in the process of reverse engineering enough of the card so that I can interface my telescope to it. It looks as though there are plenty of spare chip selects (4 or 5) which will make dropping my own devices onto the bus rather straight forward. I am mostly through designing a PCB and interface and hope to get this built in the next few weeks. Then, I'll be away again but with a substantially faster telescope control platform.

If you're in the market for a cheap high performance processing platform to use for your at-home control project, I highly recommend getting a SnapGear router and building yourself a uClinux development environment. I think you'll be impressed at how easy it is to get something running.

On the other hand, you could use a real PC or laptop running Linux also. If you look elsewhere in this tree of pages, you'll see how I've used a Linux PC to control my train set.


Contact me
Return to my design notes page.
Return to my telescope page.