WTS: Standalone PDI/ISP Auto Programmers

Go To Last Post
137 posts / 0 new

Pages

Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


Hi Everyone,

 

I still need to put up a webpage for this, but until then, the latest documentation and pc application can be found in this post.

 

The price for ISP/PDI V4 Autoprogrammers are:

 

$50 - 64K EEPROM

$60 - 256K EEPROM

$70 - 512K EEPROM

 

Plus $7 for USPS Priority Shipping.  I can often airmail to other countries for $10 or so too, contact me and I can check.

 

It automatically supports compression, so you can fit flash/EEPROM images larger than the EEPROM is has.

 

 

Finally, an all new setup utility containing the programming application and manual is here.  It will run on windows x86 or x64, you can download and try the programmer application with a programmer to see if you like it.

http://sadevelopment.com/misc/au...

 

Manual:

http://sadevelopment.com/misc/au...

 

Minimal application (intended on something you would ask someone to load firmware with):

http://sadevelopment.com/misc/au...

 

Contact me via PM if you want to buy one.

 

Thanks

 

Alan

 

Last Edited: Tue. Apr 2, 2019 - 05:14 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nobody wants a super flexible standalone programmer?  I would think anyone who is card carrying "freak", you know ,someone really committed to their AVR's would want to mess around with one of these things!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey Alan!

 

I like your idea and your project - especially how you're using this (sending out to a costumer). For me, as a hobbyist, I'm good with carrying around my PC + my JTAG ICE 3 :-)

 

Max

Regards Max

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the comment Max.  I gotta tell you if someone told me before I had this that it would benefit me, I would have said the same thing.  I'll just haul my notebook and atmel ice into the other room.  After using them, they are just so handy to program and take to the board to be programmed.  I never haul my notebook anymore!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Alright Alan, I'll keep your project in mind. If anyone is looking for this in the future - I'll point him towards your programmer :-)

 

Max

Regards Max

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here is a video of the V3 programmer which has a 5 segment LED graph to show status and can do PDI/ISP.

 

Video shows 64K being flashed to an XMEGA-A3BU Xplained at 2MHz PDI.

 

https://www.youtube.com/watch?v=...

 

AVR Autoprogrammer Flashing 64K over PDI to XMEGA @ 2MHz

 

Last Edited: Thu. Oct 27, 2016 - 01:50 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nice looking board. I assume you are doing the assembly. How many per week does it need to ramp up to to get it done at a contract assembler? (just curious, round numbers)

 

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Bob,

 

Yep, I make them.  I've never used a contract assembler though I'd love to have a product that sells so many that I need to!  I probably make 10-20 pcb's a month for various projects and I gave reflow a while, but I find that with SMD and being without a pick-n-place I can solder them just as fast by hand for the quantity that I do.

 

Have a great day,

 

Alan

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

BUMP - link to a new pc application updated in the first post.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here is a screenshot of the pc application:

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Looks good. I may even buy one one day.

Can I ask what you used to write the PC app?

 

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I wrote it with C++Builder which I've been using for many years!

 

Let me know if you have any questions.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:

I wrote it with C++Builder which I've been using for many years!

 

Let me know if you have any questions.

Thanks.

 

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Some questions, how is the board serial number stored?  flash or eeprom?  and where?

My board just arrived, and first impressions are WOW!  It programmed my t25 so fast I didn't believe it was done.

Thanks

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ki0bk wrote:
My board just arrived, and first impressions are WOW!  It programmed my t25 so fast I didn't believe it was done.

 

Excellent; that is the type of feedback I like to hear!

 

ki0bk wrote:
Some questions, how is the board serial number stored?  flash or eeprom?  and where?

 

It is embedded into the flash during programming - so it can't be easily altered or written over in EEPROM.  It also has a crc16 for validating the flash contents.

 

See the attached zip file - it has the tool that can modify hex/elf files to set a serial number and also set the crc properly.  There is a text file that covers how to use it and has some code examples.

 

Thanks,

 

Alan

 

Attachment(s): 

Last Edited: Sat. Nov 5, 2016 - 03:32 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This is a great looking project. May I suggest a few things to help you sell it?

  1. Make some You tube tutorial videos - the video you posted does not do it justice.
  2. The videos should provide an introduction to what it is and what it does.
  3. Take your time making the videos.
  4. Talk on the videos
  5. You need a web site to sell the product.
  6. Try kick starter to help sell it
  7. Lower the price point - also for $50 it should have a TFT to read and control the device. Reading LEDs is soooo 2000. Step it up and add a 2.4 TFT with touch control.

"When all else fails, read the directions"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

One of the primary features of this unique* device is that it can be used by non-technical personnel to perform complex field upgrades on equipment containing *multiple* MCUs of *different* types running *different* firmware and using *both* PDI and ISP interfaces.  Also perfectly suited to production line programming, and a solid bargain at $60

 

 

* nothing like this available anywhere else.  Most existing standalone/keyfob programmers are at least $100 and only do ISP, however Kanda finally did come out with a PDI capable unit for 'only' $200 and you must use a crazy 'squid' cable to connect to a PDI header.  Good luck with that standing in 3 feet of snow on a Connecticut roof top in 15 degree 30 mph wind!

 

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi PhillyNJ - I appreciate your thoughts and ideas:

 

#1 / #2 / #3 - you are right, a good video showing basic use of configuring it, programming it, and then it programming some boards quickly is on my to do list!

#4 - I sell them on eBay and here, a website wouldn't hurt, but I wonder how beneficial it is since most people who would use it would be here anyway.  It is a balance of the work to put the site together vs. benefit.

#5 - I think it might be too specialized for kick starter - but perhaps I am wrong.

#6 - I agree that a TFT could make it nicer, but the thought (design goal) was to keep it simple and effective.  Something I won't mind sending to a customer to have them upgrade something and hopefully they'll return it in a return envelope.  I'd rather provide good service and help to my customers than to make it cheaper.

 

Thanks for the positive comments tpappano!!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You're welcome, Alan!

 

Something that might be useful would be a simple smartphone application to load the programmer with a config file that a tech could be sent via email.  With that he would not need a laptop to receive and install an update.  Hmmmmm...

 

 

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

tpappano wrote:
... a simple smartphone application to load the programmer with a config file that a tech could be sent via email.

ImageCraft Embedded Systems Tools

ImageCraft InfoBytes Blog

Smart.IO.. coming soon

by

26 October 2016

https://imagecraft.com/company/blog/smart-io-coming-soon

...

In 2016, the obvious state-of-the-art solution is to write an app to more easily use Widget X. The only problem is ...

...

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Pretty cute, but cheapskate that I am I was thinking of just using the phone's usb port with a "USB OTG" cable (or whatever they're called). I have no idea if this is doable, but I have plugged flash drives into my phone and used them 8)

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I like the idea of a smartphone programmer application, but it would be quite a bit of work.  I use an older C++Builder IDE, but I think the company that sells this makes a much newer one that supports a multi targeted type project that allows you to compile for PC, mac, smartphone, etc.  I know even if that would work there would be things to work around.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

tpappano wrote:
I have no idea if this is doable, ...
Doable.

AVR programming -

Adafruit Learning System

Programming Arduino with Android and Windows Tablets

https://learn.adafruit.com/programming-arduino-with-android-and-windows-tablets?view=all

Operator interface -

Android has a USB interface API.

Windows 10 - its USB interface was improved; one use case is for communication with MCU.

Microsoft logo

Microsoft Windows USB Core Team Blog

What is new with Serial in Windows 10

by George Roussos

July 29, 2015

https://blogs.msdn.microsoft.com/usbcoreblog/2015/07/29/what-is-new-with-serial-in-windows-10/

...

2.   A Windows Runtime API for communication with Serial devices

Windows 10 includes the Windows.Devices.SerialCommunication universal API designed for these three scenarios:

  1. USB Peripherals like Arduinos – including as a USB Accessory on new Phones and Tablets

...

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:
... a multi targeted type project that allows you to compile for PC, mac, smartphone, etc.
IIRC, Microsoft acquired Xamarin to obtain that capability.

Xamarin is a part of the zero price Microsoft Visual Studio Community.

https://www.visualstudio.com/vs/compare/

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Interesting - I'll have to take a look at that.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Another cross platform for operator interface development is Qt.

http://doc.qt.io/qt-5/supported-platforms-and-configurations.html (Mobile Platforms: Android, iOS, WinRT)

 

Though the following is not zero price, it shows how to develop Qt for an Android target on a Windows host (Visual Studio) :

Sysprogs

VisualGDB Tutorials

Developing Qt Projects for Android with VisualGDB

February 4, 2014

http://visualgdb.com/tutorials/android/qt/

This tutorial shows how to debug and build Qt 5.1 projects for Android.

...

 


Windows 10 IoT Enterprise for x86 tablets; less expensive than Windows 10 Enterprise.

http://embedded-computing.com/30020-microsoft-returns-to-embedded-with-windows-10/

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I added a give away thread for two of these:

 

https://www.avrfreaks.net/forum/c...

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've used an early one, a fair amount.

 

Had an instrument that needed updating at several sites. Users are biologists, not electronikers. I sent them one (which they sent back) and it did the upgrade very simply. Fantastic!

 

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the feedback Jim! :)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ImageCraft Embedded Systems Tools

ImageCraft InfoBytes Blog

Smart.IO KickStarter is LIVE!!

by

23 November 2016

https://imagecraft.com/company/blog/smart-io-kickstarter-is-live

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I ike the idea of the Stand alone programmer, we made our own where I used to work. One thing that would worry me is that the programming actions on the spi pins can be monitored and recorded. The targets code would then be available nullifying any other attempt to secure it. The only way round that that I have partially used is to cripple the program until a challenge response enabling feature has been successfully done by the user.

Last Edited: Sat. Jan 7, 2017 - 08:48 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I once thought about this and thought about the idea that you can erase a flash, program some bits, then program some other bits, and so on, and as long as your multiple program requests end up programming all the bits necessary, it will flash properly even though you didn't actually flash the program as is.  Now, someone could still monitor the SPI and put combine the bits back into a single program stream, but that would take some level of skill.  In the end I didn't implement it because it would take X times longer to program.  If someone wants the code bad enough, they could always sent it for someone to defeat the lock bits anyway.  Even monitoring the SPI would take some skill to dig through all the commands and extract the program, but it could be done.

 

If you really want secure, you've got to put a bootloader in that is sent an encrypted stream of program data that it decrypts and flashes.

 

The PC application / manual links above have been updated to 1.10d - this version ignores the 03 and 05 records in the Intel HEX format that it was choking on before!

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Finally, an all new setup utility containing the programming application and manual is here.  It will run on windows x86 or x64, you can download and try the programmer application with a programmer to see if you like it.

 

http://home.earthlink.net/~alank...

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well that was fun.

 

 

Even then, it complains after I say "yeah I trust this dude and his software". I am the administrator.

 

 

... and then a few minutes later back comes the verdict: not guilty!

 

 

Ross McKenzie ValuSoft Melbourne Australia

Last Edited: Wed. Mar 1, 2017 - 01:06 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Windows and its "protections"!  Don't even get me started on VirtualStore!!!  Now that avast is _ok_ with it, does it finally give you access to install it?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Alan,

 

With my proof reader's hat pulled firmly down over my ears I respectfully submit the following...

 

 

Cheers,

 

Ross

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes installed!

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Glad you got it installed!

 

 

Yep, you got me there in the manual!!!! :)   I've fixed it and re-uploaded a new setup!

 

Last Edited: Wed. Mar 1, 2017 - 01:26 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Alan, I am reading further and will email any comments rather than posting via here.

 

Cheers,

 

Ross

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sounds great Ross; I appreciate you looking through it for typos or errors!

 

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Alank2, your ISP/PDI Autoprogrammer looks great, how can I buy one? Do you have a representative in Germany?

__________________________________________________________________________________<p>
Everyone said that it won’t work, and then came someone who didn’t know this... ... and simply did it.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

djwright wrote:

Hi Alank2, your ISP/PDI Autoprogrammer looks great, how can I buy one? Do you have a representative in Germany?

Contact him via PM, I just bought one yesterday and he ships it to finland for me, well from somewhere, so I don't think it's a proplem to get one in Germany either :)

Last Edited: Thu. Mar 2, 2017 - 02:33 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Germany is no problem - contact me via PM and we'll get it handled!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Everyone,

 

I have this new version of the Autoprogrammer PC Application I am evaluating.  It has been compiled with the latest version of the compiler that I use which has added some newer visual styling to it, but has also made it roughly 3-4 times larger in terms of program size and memory usage.  Being a programming purist, I like things fast and as small a footprint as possible, but there is something to be said for the latest compiler vs. one that is 12-15 years old.  Well, and it looks cooler.

 

For those of you who use this programming tool and want to try this version out, please give it a shot and let me know what you think.  It will operate the exact same way, but has some snazzy hovering over a control changes its background and a new look for edit boxes, etc.  It will install right over the setup version above.  If you don't like it, just rerun the setup version from above and it will put you back to the older one.

 

If you try it, let me know which one you prefer, this new one, or the old one!

 

You can't see the mouse arrow, but I'm hovering over Load in this picture.  You can compare this to the image in post #10 of this thread.

 

 

Thanks,

 

Alan

Attachment(s): 

Last Edited: Thu. Mar 2, 2017 - 03:49 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This looks really good!  I do have one question.  Let's say I have one device and three different firmware versions.  So that means there are three possible matches IIRC.  When I go to program the devices in standalone mode, how do I know which firmware version is being programmed into my boards?  Is there any indication from the LED (number of flashes) which firmware is currently selected?

 

GTO_04

Last Edited: Wed. May 24, 2017 - 04:03 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi GTO_04,

 

If you create a configuration where there is the possibility of more than one match, it enables the multiple match selection feature.  In your example, it will blink 3 times.  You can tap the button to change it to 1, tap again for 2, tap again for 3, and so on.  Holding the button will program the currently selected match.  The firmware will be assigned in the order of matches.  The first match is 1, second match is 2, and so on.  Does that make sense?

 

Thanks,

 

Alan

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:

Hi GTO_04,

 

If you create a configuration where there is the possibility of more than one match, it enables the multiple match selection feature.  In your example, it will blink 3 times.  You can tap the button to change it to 1, tap again for 2, tap again for 3, and so on.  Holding the button will program the currently selected match.  The firmware will be assigned in the order of matches.  The first match is 1, second match is 2, and so on.  Does that make sense?

 

Thanks,

 

Alan

 

 

Yes it does.  So when you first power up the target board, the LED will blink 3 times and if you don't tap the button at all is it on match 1, or do you tap it once to get to match 1.  I understand that after that you will cycle through each match.  What if the person who is programming the boards is not sure which match they are on.  Would they just power down the programmer (and target) to start over with the 3 blinks, etc?  It seems simple enough to me, but depending on who is doing the programming they may not be very tech savvy.

 

GTO_04

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It starts with 3 to let you know how many there are, and if you hold the button right then, it will program #3.  A single tap will rollover to #1.

 

Generally you don't want to use the MMS feature with someone who isn't savvy.  Alternatively you could provide instructions.  Yes, disconnect/reconnect will return to the 3 blinks again.

 

There are ways to prevent a MMS - for example, you can differentiate the two versions by setting a different fuse (preferrably one that doesn't affect feature you are using).  Then you can match each version on the signature of the AVR and that particular fuse and have the autoprogrammer "decide" which firmware to upload based on that.  Take a look at the manual as it has a ton of examples on how to do this!

 

Thanks,

 

Alan

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:

It starts with 3 to let you know how many there are, and if you hold the button right then, it will program #3.  A single tap will rollover to #1.

 

Generally you don't want to use the MMS feature with someone who isn't savvy.  Alternatively you could provide instructions.  Yes, disconnect/reconnect will return to the 3 blinks again.

 

There are ways to prevent a MMS - for example, you can differentiate the two versions by setting a different fuse (preferrably one that doesn't affect feature you are using).  Then you can match each version on the signature of the AVR and that particular fuse and have the autoprogrammer "decide" which firmware to upload based on that.  Take a look at the manual as it has a ton of examples on how to do this!

 

Thanks,

 

Alan

 

 

OK, thanks for the clarification!  For production purposes this is far superior to the Atmel ICE, which is really more intended for development purposes.

 

GTO_04

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes exactly, I use an Atmel ICE for development/debugging too.  For when I build products, I have a single AVR autoprogrammer that does it all quickly and without fuss.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:

It starts with 3 to let you know how many there are, and if you hold the button right then, it will program #3.  A single tap will rollover to #1.

 

Generally you don't want to use the MMS feature with someone who isn't savvy.  Alternatively you could provide instructions.  Yes, disconnect/reconnect will return to the 3 blinks again.

 

There are ways to prevent a MMS - for example, you can differentiate the two versions by setting a different fuse (preferrably one that doesn't affect feature you are using).  Then you can match each version on the signature of the AVR and that particular fuse and have the autoprogrammer "decide" which firmware to upload based on that.  Take a look at the manual as it has a ton of examples on how to do this!

 

Thanks,

 

Alan

 

 

That is a clever idea with the fuses I will look into that.

 

GTO_04 

Pages