AmiiboLink / AmiLoop

Posted on
Page
of 2
Prev
/ 2
  • Ah! No wonder I thought the battery went flat so fast. Thanks for the piezo hint (I tried playing a beep when the button was pressed but I reset the pin after the button is depressed).

  • Wow, it's surprising about the piezo - my understanding was that they didn't actually draw much power at a voltage... that they were more like capacitors where the change of voltage took power.

    Maybe something is shorted on your device? I guess there may also be a resonant frequency where the piezo actually makes a decent amount of noise.

    So just to be clear, you actually bought https://www.aliexpress.com/item/10050057­26070115.html and that's what is in the picture above? Looks like a total bargain.

  • So just to be clear, you actually bought https://www.aliexpress.com/item/10050057­26070115.html and that's what is in the picture above?

    Yes, exactly. Getting two with untracked shipping would be $9.75 total including VAT and shipping for me. I actually got three with tracked shipping so it was $5.6 a piece :-)

    Yes 32mA looks like short, maybe the battery cannot give much more than that, not sure what the wiring can be to work like that.

  • not sure what the wiring can be to work like that

    it is GND -> some transistor/FET marked Y2, switched by pin D14 -> one side of piezo -> 12ohm piezo/speaker -> 10ohm resistor -> VCC

    so 22 ohm in total between VCC and GND when D14 is low (more precisely 22 ohm between VCC and top of the FET)

    That is a bit strange because I=U/R = 3/22 ~= 136mA but I guess that battery cannot give more so the rest is internal resistance of battery

    EDIT: attached picture - red are both sides of the speaker, R is 10 ohm resistor, V is VCC, G is GND


    1 Attachment

    • speaker.PNG
  • So it is not piezo but something called magnetic buzzer, matches this picture and description https://www.aliexpress.com/item/16495709­62.html

    EDIT: or this https://www.quartz1.com/price/techdata/V­S5030B.pdf

  • I tried to replace this magnetic buzzer by piezo but it does not work, it makes no sound, found explanation here https://www.murata.com/en-eu/support/faq­s/sound/sounder/char/sch0007 - "You cannot produce a sound from a piezoelectric sounder by simply replacing an electromagnetic buzzer with a piezoelectric sounder in this circuit."

    I also found another buzzer from similar cheap tracker tag and that one is 15ohm and is much louder. sadly it is also quite a bit bigger so won't fit inside. It looks like this one https://www.aliexpress.com/i/10050050472­43506.html

    Anyway the one on the board posted by parasquid is still not that bad, the other boards have the 10 ohm resistor replaced by higher values and those are more quiet. Also I don't see diode there.

    As for the SPI flash pinout on the cheap NFCBoxLink ones I got last time - it really matches USON-8 package - VCC,GND,/WP,/HOLD pins are all in correct place and VCC, GND are connected. It is same SPI flash package as used on Raspberry Pico board - found 2MB chips here https://www.aliexpress.com/item/10050043­79141351.html - will try to kill at least one NFCBoxLink board by adding it via reflowing by hot air. It is not that much useful there, I know, but still :-)

  • found 2MB chips here https://www.aliexpress.com/item/10050043­79141351.html - will try to kill at least one NFCBoxLink board by adding it via reflowing by hot air. It is not that much useful there, I know, but still :-)

    So I got couple of those W25Q16JVUXIQ USON-8 2x3mm flash chips from that aliexpress shop and tried one with this Amiibo board and it works :-)

    >var sf=new SPI(); // SPI flash
    =SPI: {  }
    >var FCS=D19;FCS.write(1);
    =undefined
    >sf.setup({sck:D12,mosi:D11,miso:D18,mod­e:3});
    =undefined
    >sf.send([0xab],FCS);
    =new Uint8Array(1)
    >print(sf.send([0x9f,0,0,0],FCS))
    new Uint8Array([255, 239, 64, 21])
    =undefined
    

    Got flash ID from the chip - 239, 64, 21 = 2MB winbond flash :-)

    Photos here https://ibb.co/album/yhhkwZ, left = modified board with W25Q16JVUXIQ added (I also previously removed buzzer, was trying to add piezo or something else), right another original board with no modification

    Still, it is probably not that much useful, but I simply wanted to try :-)
    It was first test of hot air gun I got recently https://www.aliexpress.com/item/40005252­51154.html
    Never did this before. It worked 3rd time. First it looked OK but I got no response over SPI, on 2nd try it got worse and moved in wrong way, third time I added more flux realigned and it works now :-) I did not add pull up resistors to WP and HOLD but seems to work without it (did not try writing yet).

    EDIT: and BTW the shop lowered the price even more https://www.aliexpress.com/item/10050055­71264919.html I see it as US $2.70 including VAT. Ordered another two pieces with $2.77 aliexpress saver shipping so it was total US $8.17 including shipping for two = about $4 for one :-) let's see if I really get it with this untracked shipping.

  • Nice work! I bought some in April and got fake ones..... Will check for a dealer that ships to Germany.

  • and got fake ones.

    Oh, bad luck. All I got were good nrf52832, no issues at all.
    First I ordered
    https://www.aliexpress.com/item/10050058­45252482.html , https://www.aliexpress.com/item/10050058­29460356.html and
    https://www.aliexpress.com/item/10050058­20599424.html one was different board than the other two, these were relatively expensive - about $9 including shipping. Then I got few more of this third variant with empty SPI flash pads - current link in previous post, these were cheaper.

    Now I have 3 flashed with Espruino, each board different variant, and also got couple of spare unused ones of the third variant - could send you some to Germany if you don't find good seller. Only one variant has buzzer that is actually audible from a distance, the rest is very quiet so the buzzer is mostly worthless - maybe good as a feedback that you clicked the button but the microswitch click is good enough for that too. Or maybe as a feedback that NFC communication started but when using the phone it already vibrates for that.

  • @fanoush - just send you a privat message.

  • I did not add pull up resistors to WP and HOLD but seems to work without it (did not try writing yet).

    Just a followup - I found out that I bought W25Q16JVUXIQ where the last Q means it is permanently in Quad SPI mode after reset and this mode cannot be cleared. However normal SPI commands still work in this mode so it is OK, the only difference is that /WP and /HOLD pins are data pins and its classic functionality is disabled which is actually good for me as those pins are floating (in theory it is even possible to wire them from unpopulated pull up resistor pads to some nrf pins to have quad mode working but it is not worth it)

    So everything should work as floating WP or HOLD would not interfere with writes however I could not make writes work with software SPI! All other SPI commands worked - getting ids , putting in and out of sleep, reading unique 64bit id, reading all 3 status registers, write enable (0x6) (the WE bit in status register is set), even the writing or erase command (0x2, 0x20) would clear the WE bit in status register but the data did not change. Checked various flash protection bits and everything was disabled as it should be by default according to datasheet but still nothing.

    So I built 2MB SPI flash storage area into the firmware by adding

      'NFC': { 'pin_a':'D9', 'pin_b':'D10' },
      'SPIFLASH' : {
                'pin_cs' : 'D19',
                'pin_sck' : 'D12',
                'pin_mosi' : 'D11',
                'pin_miso' : 'D18',
                'size' : 2048*1024, # 2MB
                'memmap_base' : 0x60000000,
      }
    

    and the espruino code did not work too

    >var f=require("Flash")
    =function () { [native code] }
    >f.getFree()
    =[
      { addr: 364544, length: 4096 },
      { addr: 1610612736, length: 2097152 }
     ]
    >f.read(8,0x60000000)
    =new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255])
    >f.write([1,2,3,4,5,6,7,8],0x60000000)
    FW addr 0x00000000 fail
    Status 0
    =undefined
    >f.write([1,2,3,4,5,6,7,8],0x60010000)
    FW addr 0x00010000 fail
    Status 0
    =undefined
    >f.write([1,2,3,4,5,6,7,8],0x60100000)
    FW addr 0x00100000 fail
    Status 0
    =undefined
    >f.read(8,0x60000000)
    =new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255])
    

    So I enabled hardware SPI in the build and tried that

    var sf=SPI1;//new SPI();
    var FCS=D19;FCS.write(1);
    sf.setup({sck:D12,mosi:D11,miso:D18,baud­:80000000,mode:3}); 
    

    and suddenly everything worked. The very same lines now started to work, I even saw for the first time the busy bit set in status register when erasing

    >sf.send([0x6],FCS);sf.send([0x20,0,0,0]­,FCS);sf.send([0x5,0,0,0],FCS)
    =new Uint8Array([255, 3, 3, 3])
    >sf.send([0x5,0,0,0,0,0,0,0,0,0,0,0],FCS­)
    =new Uint8Array([255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
    >sf.send([0x6],FCS);sf.send([0x2,0,0,0,1­,2,3,4,5,6,7,8,9,10],FCS);sf.send([0x5,0­,0,0],FCS)
    =new Uint8Array([255, 0, 0, 0])
    >sf.send([0x3,0,0,0,0,0,0,0,0,0,0,0],FCS­)
    =new Uint8Array([0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8])
    

    And what is interesting is that since then also the software serial and the builtin espruino flash storage started to work - I could erase again and write different data and it all works now.

    So not sure what really happened. Did not try removing battery yet if it breaks again, will try.

  • Just FYI this Amiibo is probably quite popular so there are several additional models.

    There is still this basic keychain type for ~ $4USD see e.g. https://www.aliexpress.com/item/10050065­21163109.html however now some sellers are part of the "choice delivery" offer with free returns and free shipping over 10 USD so when getting more they are really cheap now.

    There is $8 model with li-pol battery inside and usb-c charging - I just received one (from same seller, see previous link) - see https://ibb.co/album/CKkBWt it has same quiet buzzer and has four leds, two blink when you push button, two light up when it is put on charger so not sure how many gpios are connected to them - 2 or 4.

    There are also some $15-$20 models with display see e.g. https://www.aliexpress.com/item/10050067­70284160.html some have li-po battery inside, some have only CR2032 so check the listing details. I did not get that one yet.

    They are all nrf52832 based. The one with display sometimes use name "pixl" or "pixl.js" since it was perhaps inspired by Espruino pixl.js and uses same or similar display - google "amiibo pixl.js" for details or check this https://github.com/solosky/pixl.js/ looks like there are several revisions of the hardware one having OLED screen.

  • Only one variant has buzzer that is actually audible from a distance

    Do you know if there's a reliable way to get that one with louder buzzer? What kind of sounds can it produce? Could I connect it to my Bangle to have it act as a small speaker?

  • Thanks! Interesting about the Pixl.js one! I can understand the name Pixl but adding '.js' on the end is really strange...

    I just hope I don't end up with people buying the Espruino Pixl.js and getting fed up it doesn't do the loot box things out of the box

  • Do you know if there's a reliable way to get that one with louder buzzer?

    No, I don't even know which seller it was and even then the stock could change. But I bought 10 pieces of bigger "7525 Passive" one from https://www.aliexpress.com/item/32864653­388.html and desoldered the small one and wanted to solder some thin wires to it put it to some space inside (it does not fit on the PCB and the case is too thin there anyway), I verified it fits in one place in the center where the thin hole is but did not actually finish it. With the slightly bigger one with rechargeable battery it could be done too there is even more space inside but maybe desoldering the buzzer on that one may be more complicated without hot air. However the rechargeable battery could last longer with the buzzer than CR2032.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

AmiiboLink / AmiLoop

Posted by Avatar for DanTheMan827 @DanTheMan827

Actions