Great minds must think alike That was also my first attempt at a VPP āPlankā for Bus Pirate 5, but I think @electronic_eel has a point that margining a cheap SMPS chip is going to be easier/more reliable than trying to roll our own.
Some old PIC I worked with had CCP modules that I believe I could use to implement simple pulse-skip without any interrupt overhead. The RP2040 interrupts have a lot more overhead than the simple PIC, not fighting those battles seems like winning the war.
Well I have a question regarding order @ian or @Jin . Cuz I ordered SMPS plank. And I wonder if there is going to be improved version. Which one will I get. Which one is going to be supported by software. I mean is there a point to even send it. The order is hanging because of the RS232 (HQ) in production as @ian mentioned on the chat.
So I might wait for the best solution dreaming about KFC bucket
The current ādevelopers boardā is the only one that exists. Anything else is vaporware. The idea being if anyone is eager to port some open source PIC/AVR/etc programmer to the Bus Pirate there would be some method to generate a programming voltage.
Also, I had fun designing it
Someone linked an open source PIC programmer that Iāll port as a 3rd party firmware. It seems pretty low priority though, unless you tell me otherwise.
JTAG is brought up a lot, but rarely PIC. I assume PIC/AVR/MSP430 are not particularly popular these days, with all the cheap and open source friendly ARM stuff like ESP32. Also the dedicated dev tools are cheap and common, not the offensively expensive ghouls they were in the past.
I would love to hear other thoughts on this though, and of course the end goal is to add everything and the kitchen sink.
I understand that most likely (100% sure) its not me who is going to write the code for it. But I can surely test that in real life scenario. As BusPirate is really swiss army knife withe the plank possibities.
Edit:
I also now realize how good is RP2040 in general. Great choice for BP. Kitchen sink and toastie maker included
You also need to set the mode on 4 pins 2.6,2.7,3.6,3.7. I guess you need ~28 pins to program it?
The low-voltage program-
ming mode provides a convenient way to program the
AT89C51 inside the userās system, while the high-voltage
programming mode is compatible with conventional third-
party Flash or EPROM programmers.
Is this chip removable? It sounds like the high voltage programming versions donāt like to be reprogrammed in circuit (or rather the circuit might not like it).
If it is a removable DIP chip, then there are cheap-ish (?) writers if it really is āindustry standardā.
Dropped an MT3608 on the schematic without much more thought. Using a PWM for margining is probably preferable, because we currently only have 4 pins remaining for actual programming duties.
I figured Iād copy the Bus Pirate 5 margining. Low pass and then an op-amp.
That is a very fun little technique!
I donāt think itās particularly important. We have enough for an SPI interface, but Iāve never seen a uC with an SPI interface (not counting JTAG here). PICs have 2 wires plus VPP/RESET, AVR too? MSP430 doesnāt need a VPP in my past experience.
AVR is a mess in this regard. They have like a dozen different programming protocols, and each controller just supports one of the regular and one of the HV protocols.
High Voltage Serial Programming, High Voltage TPI programming and High Voltage UPDI look like they are possible with 12V + 4 regular lines.
High Voltage Parallel Programming wonāt work, youād need 8 data lines in addition to the 12V and some control pins.
There is another kind of controller that needs high voltage programming: the Padauk PMS150, PFS154 and derivatives, aka ā10 cent microcontrollersā. These were the cheapest option before the CH32V003 and PY32F002 came out.
IIRC you need two precisely variable voltages to program the Padauks. It has been a long time since I played with these, so I donāt remember all the details. But the programmer schematics usually used a boost converter to create a stable high voltage and then two opamps you could control with DACs or PWM to set the actual voltage derived from the boosted one.
There is a long thread on the eevblog forum that explains all the details:
Iām not sure if it makes sense to try to integrate this capability into this plank, at the expense of digital IOs. But I just wanted to make this a informed decision.
Well I do get now that this plank wont help me program what I want. I am no EE so kinda looking for ready solution. Hoped for BP
Edit: actually recently I joined that forum and there is one person with exact same brick. Diffent model a bit but well the same hardware and firmware inside.
Donāt get stuff thatās not useful. Open a support ticket and someone can remove it from your order.
The on-chip
Flash allows the program memory to be reprogrammed in-system or by a conven-
tional nonvolatile memory programme
But also look at the datasheet a bit to see if thereās another programming mode. I only spent 3 minutes reading the datasheet so itās possible I missed something. Would they really advertise that itās in system programmable if you need to connect 30pins?
Thatās a wild ride! Hayes modems at 1200 baud. Programming languages that no longer exists in living memory.
But I think this is just the 5v version again.
There was a āgrey boxā that could deal with the old 40 pin dip stuff, but I canāt seem to find it on taobao or Ali express. It may also be ancient history.
Dumping the chip is doable, but will need some custom hardware and firmware. I probably wouldnāt go the io expander approach because Iām lazy, but I also donāt know what uC still exists that has 30 ios at 5volts. I guess an equally old PIC or something.
Forgot to add this to my previous message: This will be a custom board as itās quite application specific. Probably a one off, or very limited sales, so financially it doesnāt make sense for somebody to design something from scratch.
I was thinking about having two 16-bit I/O expanders with different addresses like SX1509 that Sparkfun is selling but thatās for 3.3V output only with 5V tolerant pins. That wonāt work.
A shift register can work for address bits and there are 5V ones out there. But reading firmware will be challenging, you need another circuit to do that.
It is doable, just kinda hard because we lost all the tools. One may need to search auction sites for a programmer and a PC with a serial port.
There is some article related. I am loosing hope and looking for 12V dedicated programmer. Owww I there a chance to use RS232 plank with some additional stuff and use it? Or maybe physical RS232 port in my old PC?
By custom hardware I meant more something on a bread board, but otherwise spot on. High voltage and parallel programming are really old school so hope for used equipment on eBay or roll your own.
Have you searched for the MC51 (whatever itās called in the data sheet) standard programmer?
An easy 12v supply is 8 AA batteries or 2 ālantern batteriesā.