AmiiboLink / AmiLoop

Posted on
Page
of 2
/ 2
Next
  • I have a device called the “Amiibo Link”, it’s a board that can be found for around $8 or less on AliExpress.

    Inside is an NRF52832 512/64KB, red / green LEDs, speaker, button, and an NFC antenna.

    I have a board definition, but I’m not sure of the process involved, or if you’d even want to add it.

    SWD pins are accessible through an unsoldered header, or even with oscilloscope clips if you’re careful to not scratch the solder mask on the ground plane.

    Although I’m not quite sure how to assign a device like the speaker in the definition. To use it, 50% PWM at various frequencies changes the tone, and high or low on the pin seems to disable it altogether. Different PWM values do also change the tone and volume slightly.


    1 Attachment

    • E88B9259-8111-40BF-BA07-4E7D5A27D140.jpeg
  • I just got myself one of these. Cute litlle things :P

    I've initially flashed the nrf52832DK image and have been trying to get the pin assignments.

    It's been only a few minutes and I've only so far found that D17 is the green LED, and D20 is the red LED. The button is at D13. and the buzzer is at D14

    For board definitions I think just pasting them in the forum is fine (at least that's what I do, and where I look for others' board defs as well).

  • Found some interesting links while looking for amiibo related stuff :P

    https://www.omniibo.com/
    https://dantheman827.github.io/ntag215-puck.js/

    Nice work!

  • Oh, just noticed this, ordered some from different shops, let's hope I'll get nrf52 too. Do you have a photo of pcb?

  • Here you go :)

    The antenna performance seems to be quite bad while inside the plastic case though :( I was only able to connect to it every few tries and will often get disconnected, while having it outside of the plastic caseis more reliable.


    1 Attachment

    • IMG_20230729_182103 - Copy.jpg
  • What I did find work well is this one: http://www.radioland-china.com/1730323-1730323_2575611.html

    Bought a few of these on AliExpress a couple of years ago (before the chip shortage): https://www.aliexpress.com/item/32965114958.html

    Someone wrote custom firmware for this beacon (not Espruino): https://github.com/an-erd/ble_beacon

  • Thanks, looks like optional 32kHz crystal is there too and enabling DC/DC regulator is supported too (reference schematics here). Don't see nfc pins going anywhere, maybe on the other side? Coul you perhaps make a photo of the other side too?

    The led may be RGB so maybe third pin could be connected too? two or three gpios next to swd pins (D22,23,24) look grounded, maybe it could be cut and connected to blue LED instead.

  • Bought a few of these on AliExpress a couple of years ago (before the chip shortage): https://www.aliexpress.com/item/32965114­958.html

    Oh, the price looks decent there and shipping does not increase when increased quantity. I never got those before since they were always relatively expensive (~$10 plus ~$4-5 shipping when other 52832 boards were $4 and 52840 dongle was for $6) but they look cheap now from this seller, no nfc or piezo though.

  • Sure, here you go.

    There's this grey thick sticker (maybe insulation rf shield?) behind the battery which could be where the nfc antenna are?).

    Not sure about the LEDs; I've looped through all the 32 pins and they are the only ones that light up. It's possible it's RGB but the LED module itself (near the top of the first picture) has four traces; two beside each other (which are likely the D17 and D20 pins) one going to a via and one going to what are probably resistors.


    1 Attachment

    • IMG_20230729_211215 - Copy.jpg
  • thanks, yes the third led does not look connected, just guessing that those combined leds are typically rgb so the b might be there, just not connected to any trace

  • Here's the board definition I've made. LED1, and LED2 are functional as red/green. Speaker is in the definition, but it doesn't show up in espruino for some reason... I just use D14 directly.

    There are multiple boards all being sold under the AmiiboLink name, but they include different firmwares and have different physical layouts. Pin assignments so far appear to be the same.

    https://imgur.com/a/K8Wp6Rp
    https://imgur.com/a/72CGuWt
    https://imgur.com/a/rcPw5Ci

    Someone else has also taken pictures of another variant with rechargeable battery.

    https://imgur.com/a/4G78Ivb


    1 Attachment

  • Thanks, sadly some of those seem to be cost optimized - no 32kHz crystal,no inductors for dc/dc. However they do have nfc antenna visible. I wonder where it is on the pcb that parasquid posted and why it is not around the button like on others. If it is under battery then it doesn't look very optimal.

    Oh, and BTW I posted wrong nrf52832 reference schematics link before, the correct for this QFN48 package is here so now I see NFC pins are in fact going somewhere.

  • The antenna is under the battery, the “sticker” is a shield, and yes, you have to place the device button side down for it to read on some scanners like the Nintendo Switch.

    The intended purpose of the AmiiboLink branded ones is to emulate amiibo dumps, so they definitely have NFC connected, and it works with espruino just fine… I’m not sure about NFC on the round BLE beacon PCB.

  • Just to let you know that I ordered few of them from different sellers and yesterday I got them. Two are exactly the same as the one @parasquid posted and third one is the variant from this photo https://i.imgur.com/ZUWZ4vp.jpeg - this one looks worse as the opposite side of BLE antenna is populated by components - probably not very good design.

    First two advertise as AmiLoop, the third one is AMIIBOLINK. My phone with NFC TagInfo sees all of them as NTAG215, the AMIIBOLINK even has some data prefiled out of box. All are nrf52832 so not bad for the price (~US$9 including VAT and shipping). Finally I have some nrf52 devices with NFC to play with :-)

  • Does anyone know how I could define a SPEAKER in the board config? As it is now I just use D14 directly, but it would be nice for compatibility if there was just a way to define it as SPEAKER. It seems like espruino should support it, but it doesn’t seem to for me

  • have a look at section devices eg. board MDBT42Q.py.

  • I think you can just define it and it will work but I'm not sure (will need to read the sources that expand the json into def configuration). I might be able to get some time to experiment with this later this week (but not with the amiibo since it's a bit difficult to flash that one, the xiao ble has a usb bootloader that makes flashing. abit easier since I can just drag the hex file into the pseudo-filesystem).

  • One possible alternative would be to define the SPEAKER const in some sort of bootup file (or even just at the top of the source file to be uploaded) and let it be equal to D14

  • Just tried and the SPEAKER definition only defines the SPEAKER_PIN for C source to use.
    If one wants to have global SPEAKER object there is extra work to do

    Check
    https://github.com/search?q=repo%3Aespruino%2FEspruino%20SPEAKER&type=code
    how this is done for different boards.

    Here is MICRORBIT2 way.

  • variant from this photo https://i.imgur.com/ZUWZ4vp.jpeg - this one looks worse as the opposite side of BLE antenna is populated by components - probably not very good design

    just noticed that on this PCB the D16 pin is brought to place with unpopulated something possibly third LED. So if one would sacrifice 2nd LED there would be 2 pins D17,D16 for I2C to possibly add something or use it as serial console.

    BTW I flashed Espruino over SWD to this and had my first NFC experience with Espruino, it works quite well :-) I even tried WebNFC in Chrome on Android and it worked too. However for some reason the Samsung Internet browser (based on Chrome too) does not work. I see no error but it does not get any NFC data when I tap it and also it does not ask for NFC permission like Chrome does.

  • BTW did you guys get some fake Amiibolink tags with something else inside? There are sellers with suspicious low prices like https://www.aliexpress.com/item/1005005726070115.html

  • Ah, this is something I'd like to try as well (NFC) :D Sadly I misplaced my puck.js and while I can prototype on the pixl.js it's a bit too bulky to try and place on my keychain.

    Nice to know that this one is good enough for NFC

  • Tried to play some simple tunes via piezo as per https://www.espruino.com/Making+Music and it is not very loud. So these are not like those you stick to lost baggage that make really loud sound. I wanted to pair it with Bangle as alarm clock beep or for some notification alerts but it is too quiet for that. It is louder than piezo in Bangle 1 but not by that much.

    Maybe if I make a hole in the body where the piezo is, it will be better.

  • I got those very cheap ones and they are OK.
    For that price I was expecting something fishy like normal NFC tag in this plastic body but they are fine. Attaching PCB photo as I haven't seen this one yet.
    Pins D19,D18,D12,D11 have traces to some unpopulated 8 pin area for SPI flash or something.


    1 Attachment

    • IMG_20230830_184707882~2.jpg
  • Was checking power consumption to use the CR2032 battery sensibly. Used meter with mA scale with two fractional digits (have better one but couldn't find right cables :-).

    • default advertising of 375 ms gives value between 0.02-0.04mA, when changing to 750 it drops to .01-0.00mA
    • default connection interval (7.5ms) when connected gives about 0.6mA, when changing to 50 it drops below 0.1mA and is still good enough for interactive console

    LED is over 1mA (1.7? forgot exactly), analogWrite drops it down and it is still visible

    Piezo (tested with board that parasquid posted in post #5)

    • when set to 0 (D14.reset()) it draws 32mA (!!) don't do that!
    • sound done via analogWrite(0.5,{freq:440}) eats half of that - 16mA(!!) don't do that!
    • analogWrite(0.97,{freq:440}) draws fraction of that (below 1mA?) and I don't hear any difference in loudness (analogWrite(0.03,{freq:440}) of course draws fraction below 32mA and sounds the same)

    Did the measurements because I noticed E.getAnalogVref() gives voltage below 2.5V for the tag where I tested the piezo while other gave me 3.0V. So looks like I have basically killed the battery when trying to play sounds :-)

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

AmiiboLink / AmiLoop

Posted by Avatar for DanTheMan827 @DanTheMan827

Actions