Hi,
There are several things which could be stripped down to make e.g. a "LITE" version:
- remove LEDs
(-3 leds, -3 resistors)
- remove push button (users could bridge two pads to enter DFU mode)
(-1 push button)
- remove ADC input, this is not needed for normal operation, it's for a future feature, to be able to read out protected ICs by writing 0 bits and monitor power consumption, but not needed in LITE version
(-4 resistors)
- remove of transistors for step up enable (as long as STM32 is not running, negative voltage is not generated for opamp. since the step up outputs the input voltage in case enable pin is low this will let some small voltage go directly to the socket)
(-2 transistors, -1 resistor)
- remove negative opamp feed (diodes) - this might cause trouble during programing, but with all observations of already supported ICs an offset voltage on VDD to GND might be compensated with a higher programing voltage
(-2 diodes, -2 capacitors)
- remove crystal (the crystal is there for high accurate tuning of IC after writing ... in case the LITE version is always attached to USB and will not have stand alone mode - planned future feature - then clock can be synced to USB to achieve good tuning result)
(-1 crystal, -2 capacitors)
- use resistor array for connections to IC
(-5 resistors, +1 array)
The main idea when creating the programmer over a year ago was to have a versatile platform which leaves room for improvements and testing new tricks which not been implemented / tested in this moment.
Personally I think it is to early to reduce the programmer. Maybe the ADC will be very handy in future? Maybe the 0 voltage output of the opamp is required for some ICs? Maybe the conservative way of completely disabling the output of the step up saved a lot of ICs since during STM32 startup/ USB connects / DFU updates / ... a lot of wired states been observed?
And since the target ICs will never be close to any "Arduino" experience, writing software for them is a much bigger challenge than to save a handful of components.
It would be more helpful to support adoption of new ICs and to create better introductions / walk throughs for beginners.
You saw Dave struggling when he tried his own "Hello World" (even that there are fully working and pre compiled examples including make files coming with the EasyPDK programmer software... He just overlooked this).
JS
EDIT: Direct link to
EasyPDK code examples:
https://github.com/free-pdk/easy-pdk-programmer-software/tree/master/Examples <=============== CODE EXAMPLES