[We Need Your Help] Sakura Strategy Dev Community Support

Hi Devs!

I am reaching out because we have 150 limited first batch in-house production copies of the Blinks Sakura Strategy Pack arriving at households around the world (likely many of yours). It has been brought to our attention, that a number of the flashed devices did not receive the Gold Master firmware and have trouble being a good Blinks citizen (i.e. learn and teach others games).

While we are testing in-house, we could use your help to make sure we identify any issues with the game’s behavior before deploying a “patch” of sorts :slight_smile:

The first thing y’all can do to help us out is to install the binaries for Trifoil and Bandits.

Download Bandits binary + source code
Download Trifoil binary + source code

Install Bandits using the command line*:
avrdude -p m168pb -P usb -c usbtiny -U flash:w:bandits.hex

Install Trifoil using the command line:
avrdude -p m168pb -P usb -c usbtiny -U flash:w:trifoil.hex

*if you need a hand with this, there are a couple of posts in the forum for installing binaries

The issue reported is that Trifoil and Bandits fail to share their own game successfully (with high probability) and when present in a cluster, fail to share other games successfully, resulting in failed game loading. It looks like this. Note: the Bandits Blink in this video is the fail point, even though the video shows Hexenwood being loaded.

If these binaries uploaded to Blinks create any problems with game loading or otherwise, please let us know here in the comments. :pray: :pray::pray::pray::pray:

all my best,
Jonathan

1 Like

Thanks Jonathan. Just gave it a test on one of my blanks (Bandits) - Everything seems to work fine.

I had to use the following command line to make mine work.

avrdude -CD:\OneDrive\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -B 5 -v -patmega168pb -cusbtiny -Uflash:w:bandits.hex:i -Uflash:w:D:\OneDrive\Documents\ArduinoData\packages\move38\hardware\avr\1.2.0/bootloaders/BlinkBIOS.hex:i -u

The command line you provided gave the following error

D:\OneDrive\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino17\bin>avrdude -p m168pb -P usb -c usbtiny -U flash:r:bandits.hex
avrdude: can’t open config file “”: Invalid argument
avrdude: error reading system wide configuration file “”

EDIT: This could be me just not realizing where valid moves were based on the diagram in the instructions -

EDIT2: Thanks everyone! Yea my color blindless makes it hard to see the valid connection pip.


So, while the issue is fixed - The game has some issues - I played 3 games with my wife and (2 player game) and often she would win when I put a 3 down and she put a 2 down - Reproduced for a video.

Unless I don’t understand the rules that is! Hope the video helps.

1 Like

Thanks @L.C for the video! Super helpful.

In this case, I believe the game is behaving as expected, since the steal needs to happen in straight lines out from the center diamond… that said, it should signal that you are attached to an incorrect place so that you can place your steal in the correct location. The diagrams here show this straight out from the center formation… although once again, can more clearly call out correct vs. incorrect placement.

Super helpful!

1 Like

Hello L.C I can confirm what John Said, that behavior is expected the Second yellow was not in a valid placement, it should of had the connection point with a White blinking light to show it was valid. I can reproduce the behavior on a non updated blink game.

Thanks Jonathan & Trevor! Yea - My color blindness impacts seeing the connection point as its currently setup.

Hi, I think I’m having this exact problem with my Sakura set, though at first I chalked it up to dead batteries in some blinks. After changing a lot of batteries (probably unnecessarily so) the problem persists. I don’t have immediate access to my Dev kit, but when I get a chance to do so, should flashing the above binaries to their respective blinks do the trick to fix the problem? If I’m able to do it soon, I’ll report back.

Yes it should fix the issue. :slight_smile:

1 Like

I have re-flashed Both Trifoil and Bandits and corrected the issues, however I did kill the original Trifoil Blink in the process. so loaded it on to a blank that I had. Pro tip Use the sticker to block the battery contacts so you don’t fry your Blink with the programmer by mistake.

It looks like my Sakura set is behaving strangely as well.

When doing a sleeper hold they don’t turn off correctly and also learning games seams to have issues.

Will try re flashing later

So this is a very interesting topic to me as I develop, fail, develop, get better, etc. etc. What would a patch in this ecosystem look like?

I can confirm that my Bandits and Trifoil blinks are exhibiting this behavior. Am I to understand that flashing these two hex files will correct them for those of us with a dev kit?

(I have not yet flashed them to a blank, I will do that as well)

Re-flashed Trifoil and Bandits using the files and commands @jbobrow posted in the OP:

avrdude -p m168pb -P usb -c usbtiny -U flash:w:<filename>.hex

I didn’t have to get fancy like @L.C. Both blinks can learn now. Using macOS Catalina, newer devkit, and avrdude from homebrew.

1 Like

Flashed those .hex files on two blanks and they teach and learn fine across 5 learn and 5 teach attempts each.

I re-flashed the retail blinks and again tested 5 teach and 5 learn with each with no failures.

Certainly not a comprehensive test, but teaching and learning was failing 100% of the time prior to the re-flash.

(Also, had to change the :r: to :w: in your instructions Jonathan, hope that’s right)

2 Likes

Same here. I actually didn’t notice that minute difference in what i pasted and his post. Maybe Jonathan should edit his original post.

1 Like

I can confirm that I am seeing exactly this issue with the retail Trifoil and Bandit blinks. They interfere with the game sharing process.

I will try reflashing later today.

Thanks @Freddicus, updated in the original post :+1:

2 Likes

The patch appears to be working. I reflashed the retail Blinks and they seem to be able to teach other Blinks, and do not interfere with the game sharing process.

On Mac OS I installed avrdude with brew (brew install avrdude) though I suspect specifying the path to the Arduino copy of avrdude would probably work too. (/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude)

1 Like

Seems to work here.

I tried putting my retail Trifoil and Bandits blinks into a regular program share group and they both came out with red flashes afterwards.
Just flashed them both with the .hex files shared on this post and they both now share their game without issues and receive games from a group without any problems

1 Like

When trying to flash the .hex files from the command line I keep getting the error: AVR Part “m168pb” not found. Does anyone have any thoughts on how to resolve it? Thanks in advance!

1 Like

I used m168 and the -F flag to override signature checking. Not the best idea, but we have well known hardware here so gave it a shot and my blanks and retail blinks came out fine.

Your other option is to edit the configs for avrdude to add the part. There are several tutorials to do that.

1 Like