ElectricRock Blog

Author Archive

Sample Makefile for C30

by matt on Jul.09, 2010, under News

To simplify the process of starting a new C30 project I have created a sample Makefile that takes care of most of the hard work of library paths, linker scripts, etc. Check it out at http://www.electricrock.co.nz/blog/microchip-c30/#makefile and let me know if you run into any problems.

Leave a Comment :, , , more...

Updated C30 build script for C30 v3.23b

by matt on Jul.08, 2010, under News

I have made a minor update to the C30 install script so that it can build/install C30 v3.23b. The only real change (apart from updating filenames) is a new unattended install script for the non-free part.

Instructions and download here: http://www.electricrock.co.nz/blog/microchip-c30/.

5 Comments :, , , more...

Updated C30 build script for Ubuntu 10.04

by matt on May.03, 2010, under News

Ubuntu 10.04 is hot off the press, so I have uploaded an update to the C30 build script to run on it. Apparently the dos2unix command is no longer supported in 10.04 so the script now uses fromdos (thanks to Nicolas for the info).

Latest version of the script can be found here: http://www.electricrock.co.nz/blog/microchip-c30/

14 Comments :, , , more...

New C30 page, now with automated goodness

by matt on Mar.21, 2010, under Informational

I have just created a new page to put all my C30 related tutorials, etc. on. It can be found at http://www.electricrock.co.nz/blog/microchip-c30/.

The most notable update is that my previous C30 building tutorials are now deprecated in favor of a new bash script that does it automagically. Check out the page for more details.

29 Comments :, , more...

DLP-RFID1 library for Linux

by matt on Feb.08, 2010, under Informational

This page is deprecated. Please see the new page at: http://www.electricrock.co.nz/tools/dlp-rfid1-library-for-linux/.


I bought a DLP-RFID1 USB RFID tag reader/writer from Digikey (Cat # 813-1013-ND). However, I was unable to locate sufficient libraries to develop software that uses it under Linux. So I have written a C++ library to do this. Read on for more information and to download it.
(continue reading…)

4 Comments :, more...

Building Microchip’s C30 Compiler v3.20 on Ubuntu 9.10

by matt on Jan.03, 2010, under How To

NOTE: This page is now outdated, please go to http://www.electricrock.co.nz/blog/microchip-c30/

This an update to my previous tutorial for building Microchip’s C Compiler for PIC24 MCUs and dsPIC DSCs (herein referred to as C30). This update covers building v3.20 of the compiler (as opposed to v3.12) under Ubuntu 9.10.  Again, this is mostly gleaned from  http://embeddedfreak.wordpress.com/2008/10/10/compiling-mplab-c30-v311b-under-linux, but adapted for the latest version of C30.

These instructions also work for v3.22 and are reported to work with v3.23.

(continue reading…)

10 Comments :, , , , more...

Control 16 Firmware Replacement

by matt on Oct.21, 2009, under Hacks

As I have mentioned in my previous posts about the Ensoniq Control 16, it is a DAW control surface designed to interface to proprietary DAW software via a proprietary PCI card.  As I have the C16, but not the PCI card, I have been working on reverse engineering the interface so that I can build a USB adaptor for it and use it with my PC.

I have previously written about how I built an RS-232 adaptor for the Control 16, but this alone did not allow me to communicate with the Control 16 as I did not know its communication protocol. As I did not have the PCI card to act as a master and provide something for the C16 to communicate with, I was not able to sniff the communications and reverse engineer them. My solution instead was to replace the firmware running on the C16′s microcontroller with one that I custom wrote, and which used my own communication protocol.

(continue reading…)

Leave a Comment :, , more...

Ensoniq Control 16 RJ-45 Connector Pinout

by matt on Sep.16, 2009, under Informational

As I stated in my first Control 16 post, the C16 is meant to connect to a proprietary Ensoniq PCI card (which I don’t have.)  So instead I have been reverse engineering the C16 interface so that I can convert it for use with my PC.  The C16 has two connectors on the back a 1/4″ jack, which is used to connect an optional footswitch; and an RJ-45 connector, which is proprietary.  Both connectors are mounted on a board called PWR/SER_I/F.

(continue reading…)

Leave a Comment :, more...

Using a Xilinx DLC5 Parallel Cable to program an AT89S52

by matt on Sep.16, 2009, under How To

While working on my control 16 project I realised I would need to replace the firware of the onboard microcontroller, an AT89C52.  Unfortunately, the AT89C52 is a mission to program (as it is parallel programmable only) so I have replaced it with an AT89S52, which supports in-circuit serial programming.  What I still lacked was an ISP programmer; however, instead of building one I made use of an old Xilinx DLC5 parallel port JTAG cable (schematic).  This was fairly straight forward under Ubuntu 9.04, using UISP AVR and AT89S programming software.  The following instructions assume the target is self powered and has an oscillator/crystal connected if required. NB these instructions are written from memory, so if you find a mistake please post a comment.

(continue reading…)

Leave a Comment :, , , more...

Using C30 with Piklab

by matt on Aug.31, 2009, under How To

This post follows on from my previous post on building Microchip’s C compiler for PIC24 and dsPIC (C30) onUbuntuPiklab is a great IDE for PIC development, and IMHO much nicer to use than MPLAB.  Piklab has support for the dsPIC30 series of PICs using the C30 toolchain.  However, I found the default settings need a little bit of tweaking to make the the toolchain that I built work. The following post details how I setup Piklab to make use of this toolchain.

(continue reading…)

28 Comments :, , , , more...