AutoScreamer + NetScreamer!

Support for Bloader and Screamer

Moderator: phalanx

Post Reply
User avatar
Posts: 1
Joined: Fri Apr 08, 2011 8:03 pm

AutoScreamer + NetScreamer!

Post by fastfourier » Fri Apr 08, 2011 8:51 pm

hi everyone,

I downloaded Screamer yesterday and it rules! I humbly present to you my modifications, which are twofold:

1. Added an option to pulse the DTR pin of the serial port when you press the "download" button. Using a transistor you can use this to pull the !MCLR pin low to reset the PIC in preparation for loading.

2. Added an option to automatically press the "download" button when the timestamp of the HEX file changes.

Born of laziness, using these two options in conjunction means that you can load your code onto the PIC just by compiling/assembling it. The software will detect the change in the .HEX file, reset the PIC and start downloading the code in one, smooth-ish motion.

Here's the circuit I used:
Oops. I forgot to label the transistor, which is a BC546 but you can probably use any old NPN. When the PC enables DTR the transistor yanks !MCLR to ground, holding the PIC in reset for 100ms. When DTR is released, the PIC starts running, and Screamer jumps into action as usual.

Compiled application and source files here:

I hope it's useful. I've already saved a lot of time using it today - if you add up the time you spend alt-tabbing to screamer, pressing the Download button, and resetting the PIC, then multiply it by 300 or so builds a day, you've gained quite a bit more time which you can spend smashing your head against a wall over the next problem. Or drinking. I choose the latter.

Best of luck


EDIT: April 10th 2011
added "always on top" option - if you're loading the source into VB you now need the "Window.bas" module.

EDIT2: May 1st 2011
If you've got a piece of software which needs to talk to your circuit via the serial port, it can become a bit annoying to have it close the port every time you want to load new code into the PIC. Now screamer can send different strings out of a UDP socket before and after loading.

Just have your application listen on the same IP and port that you have set up in screamer (you can use 99% of the time), and depending on the string it receives, it can open and close the port so screamer can use it. Find it in the "netscreamer" directory. DON'T FORGET to set DTR low in your application if you are using my PIC reset circuit described above! I found it defaulting high on a few occasions - that will hold the PIC in reset and nothing will happen! NOTHING!

There's an example "client" application here which will listen for the "open port" and "close port" messages. It is not written very well. Of course your other application can be anything which supports listening on a UDP socket, which is just about anything these days.

Post Reply