congratulations… im still working on that goal… for others interested here is the link to Adair21 instructions
> seems like they have skipped the glue on the green versions
I also had no glue on two green SP10… a red one required heat to open.
congratulations… im still working on that goal… for others interested here is the link to Adair21 instructions
> seems like they have skipped the glue on the green versions
I also had no glue on two green SP10… a red one required heat to open.
It's nice to see you, Yngvej!
How do you pronounce your username?
I’m guessing similar to Mr Malmsteen, ie “Eeng-vay”. :laughing:
Sweet!
My Norwegian is a bit rusty.
Yngvej:I flashed my light with anduril.2021-12-13.sofirn-sp36-t1616 according to Adair21s instructions.
congratulations… im still working on that goal… for others interested here is the link to Adair21 instructions
> seems like they have skipped the glue on the green versions
I also had no glue on two green SP10… a red one required heat to open.
Thanks. The automatic lockout was definitely worth the effort.
raccoon city:
Like Yngwie Malmsteen is the closest pronunciation for english speakers. I belive I read once that he changed from Yngve to Yngwie because no one could pronounce Yngve.
I know the D4v2 has different flashing pads. I have been able to flash the D4v2 with Hank’s adapter by simply using a steady hand and holding the pins down on the flashing pads.
Can I build a similar adapter and hold it down on the flashing pads? If so, any guide on how to build an adapter for this light? I wonder what Sofirn uses to flash firmware
raccoon city:
Like Yngwie Malmsteen is the closest pronunciation for english speakers. I belive I read once that he changed from Yngve to Yngwie because no one could pronounce Yngve.
Alright, thanks for that!
My little SC21 Pro, modded to 660nm red has become my favorite nightstand light. Im finding the lighted switch really useful.
For the past few days I have been leaving the Red LED On at the lowest mode 24/7. It has not changed the battery voltage readout (love that feature too). Im starting to wonder how long the lowest mode will last… LOL
.
btw, they are on sale, code S7ECOBGO, the SP10 Pro also.
[…]. Im starting to wonder how long the lowest mode will last… LOL
[…]
And that may be a…neverending stooooryyyyyy
Can I build a similar adapter and hold it down on the flashing pads? If so, any guide on how to build an adapter for this light? I wonder what Sofirn uses to flash firmware
That is the intended way to use the pads. You have to make yourself an adapter with pogo pins. You’ll also need a different programming device and software compared to the D4v2.
I have zero clue where to start. I followed the guide on BLF for the D4v2. I have no idea what to purchase, what programming device, software, etc. Would this be similar software to the SP10 Pro? I have gchart’s adapter but haven’t had time to look for a guide for the SP10 Pro
Yes, basically the same as for the SP10 Pro. Just with a different pogo pin adapter.
I have zero clue where to start.
for a flashing guide for the SC21 Pro see posts 206 and 209 by Adair21
for a flashing guide to Sofirn SP10 Pro see this post by zumlin
tldnr
can someone sell me a pogo harness for SC21 Pro that plugs into my TTL?
Im just in over my head trying to understand this:
- wire up the programmer to the light:
pin2 => GND
pin6 => VCC
pin1 => TX/RX (depending on the programmer, you might need a 1kOhm resistor between TX and pin1)
Im trying to understand what connections to make to the TTL…
questions:
1. you want me to connect pin 6 on the SC21 to VCC? my TTL does not have a VCC label… which label is equivalent to what you call VCC?
2. you want me to connect pin 1 on the light to Both TX and RX on the TTL? And does this programmer need a resistor between pin 1 on the SC21 and the TX and RX parts of the TTL?
sorry to be dense… if this is just too many questions… I understand. Totally lost here…
Adair21, could you share a photo of the TTL and wiring harness you use to flash SC21 Pro? And how you conect to the light? I think Im a visual learner…
1: Use the 5V pin as VCC.
2: this is how I connected it:
Green goes to tx, blue goes to rx. The orange wire goes to pin 1 on the SC21
# SerialUPDI
SerialUPDI is a UPDI upload tool which uses a normal USB serial adapter with the most trivial of modifications directly as a UPDI programmer
It was written in 2020-2021 By Spence Konde and Quentin Bolsee based on the pymcuprog tool from Microchip, which is much, much, slower.
## jtag2updi? Never heard of him
This page was formerly dedicated to discussing jtag2updi. jtag2updi was a program written in some of the most inscrutable C++ it has been my misfortune to work with, and it could be loaded onto a wide variety of AVR microcontrollers, and they could then be used as a UPDI programmer. The code was buggy, and very few people could make sense out of it. It's performance was passable, though, for example, Optiboot performed better at uploads, and both Optiboot and jtag2updi were stuck with baud rates 1/4th to 1/3rd of what the chip could be written at.. In late 2020, the first versions of SerialUPDI were created from pymcuprog, but the performance was very disappointing. In mid 2021, a push was undertaken to make it perform better than jtag2updi. The progress and the short time it took to make it exceeded all expectations. Since the 2021 performance sprint, SerialUPDI - which had write speeds as poor as 600b/s at the time this effort was started, advanced very rapidly. Within just a few days, speeds over 10k were achieved and within weeks it was faster than everything else.
Since then some further performance enhancements, as well as ways to throttle it's performance to make sure it didn't overflow the part's receive buffer while it was writing
SerialUPDI is not perfect, but it's imperfections are small compared to those of jtag2updi, and less-initiated individuals are better able to improve it as compared jtag2updi - particularly as most of SerialUPDI's foibles are almost entirely due simply to it having not gotten enough attention from people who know how to write python - so things that should retry on failure or print error messages instead print stack traces, because something's throwing an exception and I don't know how to catch it. But the low level core that writes to the chip is largely fine. As of 11/21, we are no longer offering support for jtag2updi. The cores still support it, but it is not recommended. I will fix no bugs. If someone else wants to leap into this dumpster fire, by all means go ahead. I choose not to.. The only way that thing could be salvaged involves essentially rewriting it de novo so it wasn't a posterchild for how incomprehensible C++ can get.
## Brief orientation: What is UPDI
UPDI is the interface used for programming all AVR parts released since 2016 (the "modern AVRs") (and debugging, but that's locked behind a proprietary interface that nobody has bothered to reverse engineer, even though you can snoop on the protocol with just a serial adapter and even though the large scale structure of the protocol is known too - c'mon guys, this is gonna be a walk in the park compared to debugwire). Unlike the old ISP interface, which was very SPI like (in fact, It seemed to be SPI with the reset pin used like SS, and a somewhat odd pattern of communication). This time, we have a somewhat more sophistcated interface that we're connecting to (they call it the Asynchronous System Interface (ASI)), and the communication method is via what looks suspiciously like they put another copy of the UART in, hardwired to always be in LBME (half-duplex single wire), 2 stop bits, even parity, and autobaud enabled and WFB (wait for break) as soon as it initializes. This talks to the ASI, which initially only lets you reset the chip and read the device ID and SIB (system information block).
To enable the programming or debug modes, a "key" is sent - there are three in the datasheet (programing mode, chip erase which as usual is how you unlock and erase a locked chip, and program USERROW which can be written even while the chip is locked). There is also a debug key, I don't know what it is, but if I had a working debug setup with microchip studio, it should be trivial to recover by snooping on the communications during debugging. I'd also wager that this is the way they configure what pincount a part is (since most of the AVR dies these days get put into 2-3 adjacent
Because it's basically a UART, and it looks like they simply copied the UART, only pointed it at the ASI. UARTs have 2 bytes of buffer on receive. Since halting for flash halts the CPU - but not the peripherals like the UPDI physical layer - it will buffer two bytes and lose dataon the third; this results in, at the end of the page being written, the programmer having written more bytes than the target received, causing the programming to fail at that point, because the the part is still treating the next command as data to write, and doesn't respond.
## Wiring the hardware
Briefly, you connect Rx and Tx with either a 4.7k resistor or a small (signal) Schottky diode (band towards Tx). The RX like becomes the UPDI
This file has been truncated. show original
Seems like the adapter in your picture have been modded with a diode between T and R. In that case, just use the RX pin, 5V and GND
Green goes to tx, blue goes to rx.
very helpful… thanks for the photo
so, this is my SP10 programmer from gchart, showing how I would need to connect it to an SC21:
…
Im unclear about tx/rx… the RX is shown, but where does TX go?
does this mean the SC21 Pro uses 4 wires, while the SP10 Pro uses only 3?
Yngvej:Green goes to tx, blue goes to rx.
very helpful… thanks for the photo
so, this is my SP10 programmer from gchart, showing how I would need to connect it to an SC21:
…Im unclear about tx/rx… the RX is shown, but where does TX go?
does this mean the SC21 Pro uses 4 wires, while the SP10 Pro uses only 3?
The stuff I did on my breadboard have already been done on your adapter. Notice the small black diode crossing between R and T on the board. This one connects them together.
Just use 3 wires. 5V (VCC), GND and RX (UPDI).
Just use 3 wires. 5V (VCC), GND and RX (UPDI).
Thank You!
will work up the courage to solder some wires for an SC21 Pro reflash… as soon as I grab a proper hex file
Here’s the file I used.
https://toykeeper.net/torches/fsm/anduril2/anduril.2021-12-13.sofirn-sp36-t1616.hex
Solder on!
Remember to do a factory reset after flashing, because it will have slow ramping until you do.
Here’s the file I used.
https://toykeeper.net/torches/fsm/anduril2/anduril.2021-12-13.sofirn-sp36-t1616.hexSolder on!
got the Hex file, thanks!
and thanks for all the coaching, including explaining the T and R little black diode on the TTL that gchart built for SP10 Pro… I think Im almost ready to flash SC21 Pro…
instead of soldering wires to the TTL and the flashing pads on the light, I would like to build a pogo adapter for the SC21 Pro
can anyone here suggest a shopping list and links of what to buy to build a pogo pin harness adapter to fit SC21 Pro…
I have no experience shopping for the connectors and wires needed.