The awesome embedded adventures logo goes here!


Reprogramming the PLT-1003

If you have a PLT-1003, then you have a fantastic USB to TTL serial converter. But what are those buttons for? And those break out pins? Can you do anything else with them?

Well, the reason we called it a PLT-1003 (platform) rather than a MOD-1003, is that this little guy is actually a fantastic development platform.  With a PIC18F14K50 on board powered at a zippy 12Mhz (12MIPS), you can accomplish quite a few things with it despite the fact there aren't too many spare pins available.

In fact, we test most of our LED displays and modules using PLT-1003s.

So how to you reprogram it?  Well, since it has a bootloader installed, all you need is a TTL serial connection and a PC and (you guessed it) a USB 2 TTL serial converter. Like, for example, a PLT-1003.

Yes, so you use a PLT-1003 to reprogram your (other) PLT-1003.  Here's how to do it.  For this example, we'll assume you have a .hex file and you just want to get it onto your PLT-1003.

PLT-1003 talks to PLT-1003

Click to enlarge

Connect two PLT-1003s together like so.  Note that it doesn't matter which one is the "target" - but for the purposes of this tutorial, we're going to assume that the left hand side one in the picture is the "programmer" and the right hand side one is the "target".  So, it's going to be the programmer PLT-1003 that you plug into a USB port. 

In the cabling shown, you can see that the GND is connected to GND and the VCC is connected to VCC.  TxO is connected to RxI and RxI is connected to TxO.  This swapping of Rx/Tx pins is typical of asyncronous communications.  One board's transmit is the other board's receive.

Now, the bootloader only works on first power on or reset - and these boards don't have a reset button.  So leave the VCC connection unplugged for now.

Plug your programmer PLT-1003 into your USB port.  If you're wondering which COM port it's connected to, simply go to Start | Control Panel and Device Manager.

Control Panel | Device Manager

Click to enlarge


In this case, my PLT-1003 pops up as COM11.  Note if you don't like the COM port it is allocated, you can change it by right clicking on the entry here in device manager, choose Properties, click on the Port Settings tab, and click on the advanced button.


PLT-1003 talks to PLT-1003

Click to enlarge

In the COM Port Number pull down list, you can choose another COM port number. Don't worry too much if it already says "in use" - it will say that if you have ever allocated any USB to Serial device ever, and so long as you don't use them at the same time, you'll be fine. Sometimes Windows gets confused about which board is mean to be which COM port, so it's often handy to be able to allocate your own COM port number here rather than whatever Windows had in mind.

Okay, so we have two PLT-1003 boards connected together (minus the VCC connection) and we know which COM port the programmer PLT-1003 is using. What next?

Download the PicPack library.  Once you unzip it, you'll find an application called screamer_v203.exe in the screamer  subdirectory.  Screamer is the program that talks to the bootloader and delivers an application.  It's based on the Sparkfun original, which in turn was based on someone else's it's a pretty venerable VB6 app, but still does the job.  Under windows, for the app to find the ActiveX controls, you'll need to right click on the application and choose "Run as administrator".


Click to enlarge



Now, se tthe COM port to the COM port your programmer PLT-1003 is plugged into.  Make sure the Speed is set to 115200.  The oscillator should be set to 48MHz. The PLT-1003 uses a PLL multiplier to increase the actual clock speed from 12MHz to 48MHz internally.  


Click on the Open button, choose your .hex file and then press the Download button.  Nothing will happen of course, until the bootloader on your target PLT-1003 starts running.  To do that, simply connect the VCC connection (trying your best to do it cleanly) and you should see the progress bar indicating your download progress.  It should only take a few seconds.


If nothing happens, check all your connections, and reconnect your VCC connection.


A tip on the Screamer app - because of the way it accesses the COM ports, if you disconnect your PLT-1003 while it's open, Windows will get confused about the COM port if you reconnect the PLT-1003 again.  So it's best to close the Screamer app, reconnect your PLT-1003, then open Screamer again.  We must port it to C# one of these days...


Anyway, enjoy using your PLT-1003 for your own nefarious purposes!  We'll be adding some tutorials soon showing how to communicate to some of the Embedded Adventures modules using a PLT-1003, which for the price, is a fantastic fast development platform.