[Tutorial] Crea tu propio dongle portatil para cargar payloads (it is easy)

1, 2, 3, 4, 5
Hola, voy a explicar los materiales necesarios, programas, esquemas y programacion para poder crear tu propio dongle. Empecemos.

-fotos viejas y evolucion-
Imagen


Imagen


Imagen


Imagen


Imagen

Materiales:

Placa Adafruit Trinket M0
la puedes pillar entre 15 y 9€ en cualquier tienda online.
Imagen


pcb para cargar bateria por microusb TP4056
unos 1,5€
Imagen

edit. he visto que mi modelo viejo es mas pequeño, aquí dejo foto con los datos por si lo encontráis, es tan pequeño como el adafruit o mas:

Imagen

Interruptor wifi de psp 1000 o msk-12c02
unos 1,2€
Imagen

O también podéis usar un pulsador L/R de GBA (es lo que uso actualmente y es menos endeble que el interruptor)

Imagen

bateria de lition de 3.7v, cuanto más pequeña mejor (yo he usado el de un joycon)
los de los drones son muy pequeñas, de 150mah y valen 1,5€
Imagen

cable para circuitos 30 awg rojo y negro
unos 10€ dependiendo de la cantidad de metros.
Imagen

cable lacado de 0.1mm
unos 0.7€
Imagen

pcb usb c
unos 5€ 10u
Imagen

pistola de pegamento caliente, soldador, lupa iluminada con pinzas, pinzas, estaño, polimetro etc etc etc

Programas:

Usaremos Adruino IDE (la ultima versión) vale tanto en ubuntu como en windows. Con las librerías de la web de adafruit.

Un editor hexadecimal que permita copiar contenido en código c (creo que cualquiera puede hacer esto).

Los drivers de la placa para windows (en linux no hace falta).

Esquemas:

Imagen


O también

Imagen


los cables verde y amarillo serán los lacados finos.
El rojo positivo (+) y el negro negativo (-) o gnd.

Después de varias pruebas he comprobado que la consola manda una pequeñísima y breve corriente al entrar en el modo RCM, pero no he conseguido prescindir de la batería ni con condensadores ,tampoco he podido arrancar la consola desde el propio dongle, así que se seguirá usando v+ mas power (si alguien encuentra la forma que lo postee) XD

Programación:

tanto en windows como en ubuntu descargamos Adruino IDE y lo instalamos.

aqui los pasos para instalar los drivers y librerías para que reconozca la placa.

drivers para windows, vamos, básicamente lo descargas y lo instalas jajajaja.

código fuente del programa que instalaremos. https://github.com/atlas44/sam-fusee-launcher

bueno, al lio.

abrimos Adruino IDE, la primera vez tardará un rato ya que tiene que configurarlo todo.

ahora abrimos preferencias y en "Aditional boards managers" ponemos esta dirección:

https://adafruit.github.io/arduino-board-index/package_adafruit_index.json


Imagen

Ahora vamos a herramientas >> placa >> gestionar tarjetas.

Imagen


ponemos en el buscado Adafruit e instalamos Adafruit SAMD boards by Adafruit y Arduino SAMD boards (si no no te dejará subir el código, no se por qué)

Imagen


cuando termine (tarda un ratito) seleccionamos en placa Adafruit trinket M0.

luego vamos a las librerías usbhost, vamos a programs>>incluir librerías>>gestionar librerías.
y en todo seleccionamos USBHost de Arduino

Ahora descargamos el código fuente del programa, puedes hacerlo así:

git clone --recursive https://github.com/atlas44/sam-fusee-launcher


o descargarlo desde la web. Una vez tengas los archivos vas a la carpeta del código, veras una carpeta llamada src, la renombras por main.

main.cpp lo renombras a main.ino, el archivo payload.h por ahora no lo tocaremos.

volvemos a Arduino IDE. Abres main.ino

cambia #include <usb.h> por #include <Usb.h>

ahora abre el payload.bin que quieras que cargue el dongle con un editor hex y seleccionas todo el código y le das a copiar como código c:

Imagen


vamos otra vez a Arduino y seleccionamos la pestaña payload.h y pegamos el código después de const PROGMEM byte fuseeBin[FUSEE_BIN_SIZE] = {

tiene que quedar una cosa así

Imagen


el fusee_bin_size sera la longitud total de bits de vuestro payload por lo que deberéis cambiarlo al valor que corresponda.

Ahora le damos a verificar (icono de arriba a la izquierda) para ver que todo esta correcto y no da error de compilación.

si todo esta correcto te mandará este mensaje:

El Sketch usa 130268 bytes (49%) del espacio de almacenamiento de programa. El máximo es 262144 bytes.


ahora enchufamos el adafruit por usb al ordenador y pulsamos dos veces el botón reset (el único botón que tiene), se pondrá dos luces verde y una roja. si salen dos rojas y una verde es que algo va mal, desenchufalo y reinstala los drivers.

Si todo va bien te saldrá una unidad que pondrá TRINKETBOOT

y arduino IDE tiene que quedar así:


Imagen


ahora le das en Arduino IDE a Programa >> verificar y compilar y cuando termine a Programa >> Subir (no subir con subir con programador!!)

si todo va bien te saldrá un mensaje como este:

Atmel SMART device 0x1001000a found
Device       : ATSAMD21E18A
Chip ID      : 1001000a
Version      : v1.1 [Arduino:XYZ] Aug 23 2017 17:26:39
Address      : 8192
Pages        : 3968
Page Size    : 64 bytes
Total Size   : 248KB
Planes       : 1
Lock Regions : 16
Locked       : none
Security     : false
Boot Flash   : true
BOD          : true
BOR          : true
Arduino      : FAST_CHIP_ERASE
Arduino      : FAST_MULTI_PAGE_WRITE
Arduino      : CAN_CHECKSUM_MEMORY_BUFFER
Erase flash
done in 0.828 seconds

Write 130540 bytes to flash (2040 pages)

[                              ] 3% (64/2040 pages)
[=                             ] 6% (128/2040 pages)
[==                            ] 9% (192/2040 pages)
[===                           ] 12% (256/2040 pages)
[====                          ] 15% (320/2040 pages)
[=====                         ] 18% (384/2040 pages)
[======                        ] 21% (448/2040 pages)
[=======                       ] 25% (512/2040 pages)
[========                      ] 28% (576/2040 pages)
[=========                     ] 31% (640/2040 pages)
[==========                    ] 34% (704/2040 pages)
[===========                   ] 37% (768/2040 pages)
[============                  ] 40% (832/2040 pages)
[=============                 ] 43% (896/2040 pages)
[==============                ] 47% (960/2040 pages)
[===============               ] 50% (1024/2040 pages)
[================              ] 53% (1088/2040 pages)
[================              ] 56% (1152/2040 pages)
[=================             ] 59% (1216/2040 pages)
[==================            ] 62% (1280/2040 pages)
[===================           ] 65% (1344/2040 pages)
[====================          ] 69% (1408/2040 pages)
[=====================         ] 72% (1472/2040 pages)
[======================        ] 75% (1536/2040 pages)
[=======================       ] 78% (1600/2040 pages)
[========================      ] 81% (1664/2040 pages)
[=========================     ] 84% (1728/2040 pages)
[==========================    ] 87% (1792/2040 pages)
[===========================   ] 90% (1856/2040 pages)
[============================  ] 94% (1920/2040 pages)
[============================= ] 97% (1984/2040 pages)
[==============================] 100% (2040/2040 pages)
done in 0.840 seconds

Verify 130540 bytes of flash with checksum.
Verify successful
done in 0.203 seconds
CPU reset.


y el adafruit se quedará con una luz morada y una verde, ya solo queda poner los cables como he puesto, conectarlo a la nintendo switch y listo.

Para que funcione enchufas el dongle, lo enciendes y pulsas en la consola el botón + de volumen y power.

aquí un vídeo de demostración (es oculto eh!)

https://youtu.be/aSYXSiAnzsY

dejo video del nuevo mod

https://youtu.be/VX9FVALZGLk
Menudo curro que te has metido con el tutorial, muchas gracias
Saludos
Gracias! Gran trabajo, lo tendré en cuenta!
Muchísimas gracias por tu trabajo!! Crack
Increíble tutorial is Easy!!! Haber si la gente se anima y la gente cuelga como les quedo =)
Grandísimo tío!
Tengo ya algún cargador de baterías TP de esos por casa, lo mismo hasta me animo

Un duda, podríamos sustituir el puerto USB C por un cable OTG de micro USB (conectado al trinket) y un cable USB C normal (el de cargar el móvil por ejemplo)? O poner un adaptador de esos micro USB hembra a USB C macho y un cable microsd a micro USB
De este modo te ahorras comprarte el bracket y los cables lacados, además de simplificar las soldaduras

Cómo lo ves?
Joder qué currada. De mayor quiero ser como tú XD
gwallace escribió:Grandísimo tío!
Tengo ya algún cargador de baterías TP de esos por casa, lo mismo hasta me animo

Un duda, podríamos sustituir el puerto USB C por un cable OTG de micro USB (conectado al trinket) y un cable USB C normal (el de cargar el móvil por ejemplo)? O poner un adaptador de esos micro USB hembra a USB C macho y un cable microsd a micro USB
De este modo te ahorras comprarte el bracket y los cables lacados, además de simplificar las soldaduras

Cómo lo ves?


Lo puedes hacer perfectamente, ves el cable negro de la primera foto? Es un cable con un microusb macho y un usb c macho que hice, funciona perfectamente con la placa, pero no en un movil android. Lo hice asi, sin cable extra, para minimizar el tamaño todo lo que pudiera.
@Ninoh-FOX Excelente proyecto y tuto, mis felicitaciones
Gracias XD

Despues de ver el esquema... (Cuando monte todo lo hice de cabeza, asi que no me di cuenta...) Creo que puedo hacer que el dongle cargue payloads solo con enchufarlo encendido y pulsando solo el boton de volumen. Solo tendria que cambiar un cable, pero hasta que no llegue el fin de semana no lo sabre jajaja.
Ninoh-FOX escribió:Gracias XD

Despues de ver el esquema... (Cuando monte todo lo hice de cabeza, asi que no me di cuenta...) Creo que puedo hacer que el dongle cargue payloads solo con enchufarlo encendido y pulsando solo el boton de volumen. Solo tendria que cambiar un cable, pero hasta que no llegue el fin de semana no lo sabre jajaja.


Claro, enviando alimentación a la switch como si fuera un cargador usb... la switch se prendería y teniendo el volumen- entraría al RCM. Sólo te ahorras el pulsar el botón power.

Por otro lado, el pin 10 del puerto el joycon, no está disponible en el peine usb-c standard? Eso sí estaría bueno, nos evitaríamos el puente en el joycon.
Pues si te sigo la verdad, no tengo ni idea de si se podria integra el pin 10.
pues viendo el curro.. los materiales.. me parece hasta barato lo que cuesta el del team xecuter xD
@discovery3 @Ninoh-FOX Dudo que se pueda, si fuera así el team.exe no incluiría el jig junto al dongle.
Pues acabo de ver esto... Y es lo mismo que lo del team exeguttors!!! XD

Imagen


Basicamente solo tengo que cambiar el pinout usb al pinout bat, it easy, y entonces seria conectarlo encendido como siempre y simplemente pulsar vol+

Lo del "autorcm" solo te ahorras el jig, no le veo utilidad XD
Jo, menuda currada, pero viendo todo lo que hay que hacer, casi mejor un clonico de la solución del team xecuter, cuando empiecen a aparecer por chinolandia... :-|
Ninoh-FOX escribió:Pues acabo de ver esto... Y es lo mismo que lo del team exeguttors!!! XD

Imagen


Basicamente solo tengo que cambiar el pinout usb al pinout bat, it easy, y entonces seria conectarlo encendido como siempre y simplemente pulsar vol+

Lo del "autorcm" solo te ahorras el jig, no le veo utilidad XD


Enhorabuena por el curro y el tuto que has hecho.

Que curioso ese dongle con condensadores en vez de bateria, supongo que durara pocos encendidos la carga del condensador no ?? aunque tambien se cargaran en un instante....

que es una placa propia o la trisket como la que tu has usado ?
merol escribió:
Ninoh-FOX escribió:Pues acabo de ver esto... Y es lo mismo que lo del team exeguttors!!! XD

Imagen


Basicamente solo tengo que cambiar el pinout usb al pinout bat, it easy, y entonces seria conectarlo encendido como siempre y simplemente pulsar vol+

Lo del "autorcm" solo te ahorras el jig, no le veo utilidad XD


Enhorabuena por el curro y el tuto que has hecho.

Que curioso ese dongle con condensadores en vez de bateria, supongo que durara pocos encendidos la carga del condensador no ?? aunque tambien se cargaran en un instante....

que es una placa propia o la trisket como la que tu has usado ?

Ese es el dongle que te vende team exeguttors (Xecuter SX Pro)
Maravilla! Muchas gracias! Hacia mucho tiempo que no veia un tutorial tan currado en eol.
Ninoh-FOX escribió:
merol escribió:
Ninoh-FOX escribió:Pues acabo de ver esto... Y es lo mismo que lo del team exeguttors!!! XD

Imagen


Basicamente solo tengo que cambiar el pinout usb al pinout bat, it easy, y entonces seria conectarlo encendido como siempre y simplemente pulsar vol+

Lo del "autorcm" solo te ahorras el jig, no le veo utilidad XD


Enhorabuena por el curro y el tuto que has hecho.

Que curioso ese dongle con condensadores en vez de bateria, supongo que durara pocos encendidos la carga del condensador no ?? aunque tambien se cargaran en un instante....

que es una placa propia o la trisket como la que tu has usado ?

Ese es el dongle que te vende team exeguttors (Xecuter SX Pro)



ahnnnn vale, pensaba que era como una "imitación"

Curioso lo de los condensadores
Ninoh-FOX escribió:
gwallace escribió:Grandísimo tío!
Tengo ya algún cargador de baterías TP de esos por casa, lo mismo hasta me animo

Un duda, podríamos sustituir el puerto USB C por un cable OTG de micro USB (conectado al trinket) y un cable USB C normal (el de cargar el móvil por ejemplo)? O poner un adaptador de esos micro USB hembra a USB C macho y un cable microsd a micro USB
De este modo te ahorras comprarte el bracket y los cables lacados, además de simplificar las soldaduras

Cómo lo ves?


Lo puedes hacer perfectamente, ves el cable negro de la primera foto? Es un cable con un microusb macho y un usb c macho que hice, funciona perfectamente con la placa, pero no en un movil android. Lo hice asi, sin cable extra, para minimizar el tamaño todo lo que pudiera.

genial tio, pues cuando salga Atmosphere lo mismo me lio la manta a la cabeza y me pongo al tajo jejeje [beer]
Vamos, que la broma te sale por 34,9€ contando que nadie te cobra gastos de envio. Para trastear muy divertido, pero para practico poco.
Aun asi seguro que alguien se anima. Gracias por el currele!
34€? Si no llega ni a 15€... Yo es que tengo cables desde hace años con el mismo rollo XD
@Ninoh-FOX muy grande !! gracias por el tuto pero sí es verdad que si vas sumando con los gastos de envío sale carete:

Trinket M0 = $8.95 + GI
TP4056 = 2,68 €
msk = 2,78 €
Batería = 2,93 €
Pcb soldadura = 10'51€
Cable de cobre = 0,68 €
OTG usb-3.1 = 5'41€

Pero es lo que mola, trastear, por lo menos a mí. De nuevo, muchas gracias [beer]
Yo es que he pasado del pcb y del otg. Ya es cuestion de cada uno.
txeriff escribió:Aha, si, super facil.

Pillamos unos botes de pintura, mojamos el pincel, damos un par de brochazos, y en 15 minutos ya tenemos una recreaccion exacta de la Mona Lisa. Muy facil, sencillo y para toda la familia.
Molaria mil una carcasa impresa en 3d para esto. Seria lo mas. Asi nos dejabamos de tanta silicona caliente y queda mas compacto. Quiero aprender a dibujar en 3d
kunilinguator escribió:Molaria mil una carcasa impresa en 3d para esto. Seria lo mas. Asi nos dejabamos de tanta silicona caliente y queda mas compacto. Quiero aprender a dibujar en 3d

En realidad es un proyecto chulo, poniendo las piezas con anclajes a la carcasa y tal puede molar. No sé quedaría tan cuco como el de xecuter (ya que es una PCB propia y diseñada para esto en específico)
@Ninoh-FOX genial el tutorial,muchas gracias.
Lo de la carcasa lo estoy mirando, mas o menos quedaria del tamaño de un cartucho de gba
Ninoh-FOX escribió:Lo de la carcasa lo estoy mirando, mas o menos quedaria del tamaño de un cartucho de gba

tio, deberías postear (si no o has hecho) el tutorial en GBATemp o reddit, que le llegue a mas gente y fijo que alguien hasta le hace mejoras (de las pocas posibles) u optimizaciones

mola muchisimo lo que has hecho [angelito] [beer] [beer]
En gbatemp ya hay un hilo, no es muy, pero puse un microtutorial, mirare lo de Reddit.

Espero las mejoras, me molaria mucho verlas, ya que no entendi bien el esquema de pines que viene en la pagina de adafruit y seguro que algo se me escapa, ya que lo que se de programacion y electronica es bastante basico.
Ninoh-FOX escribió:Lo de la carcasa lo estoy mirando, mas o menos quedaria del tamaño de un cartucho de gba

Pues si necesitas pruebas de impresion y estas en madrid, a tu disposicion estoy.
Cordoba o Huelva (mejor huelva jajaja) es lo mejor que me pilla XD

Aunque estoy en contacto con uno del foro que se ofrecio (yo no tengo 3D printer, ojala) y en cuanto acabemos posteare su contribucion.
Joder, vaya currazo. Enhorabuena!
Casi que prefiero usar una pequeña pcb, soldando conectores dupont en los puntos necesarios de la adafruit, y para los del propio usb de adafruit, prefiero usar un microusb directamente.
Así, en un futuro podría reusar la placa si fuera necesario :D
Gran curro compañero!!

Eso si, me quedan un par de dudas, no sería quizá mas facil poner las placas una encima de otra a modo de sandwich para que quedara mas compacto?

Otra opcion que se me ocurre sería poner un pequeño conmutador para cambiar entre la opcion A y la opcion B.

Yo tengo impresora 3D, si me hago uno intentaré hacer una carcasa a ver que tal queda!

Otra duda, el Adafruit Trinket mini que lleva el ATtiny85 tambien se podria usar en vez de el M0?

Salu2!
Se podria, pero total, como cabia todo encima de la bateria... Si hubiera sido una bateria mas pequeña lo habria hecho de otra forma.

chupi2122 escribió:Otra duda, el Adafruit Trinket mini que lleva el ATtiny85 tambien se podria usar en vez de el M0?

Salu2!


No lo se, pero creo que no, a mi el trinket v5 que tambien es ATtiny85 si no recuerdo mal, no me dejo programarlo. Me daba fallo.
Una gran currada, pero... Sale mas caro que el cacharrito del xegutors.
@Ninoh-FOX Excelente, buen trabajo, me gusto, vi que lo aportaste en gbatemp, lastima que en mi país es muy complicado conseguir baterías de litio, siendo que nosotros somos productores de litio xD, por razones de transporte, no permiten traer muchas cosas que contengan litio, por su facilidad para explotar en determinadas ocaciones, es por eso que me llamo mucho la atención esto de los condensadores, habrá alguna forma de poner dos condensadores junto a una resistencia que nos ayude a tener una buena constante de tiempo,pues supongo que esos condensadores alimentan el tiempo suficiente el circuito, lo que nunca salí de dudas, es a que se referían el team xecuter y kate sobre un chip que se podría soldar directamente a la consola?
Sanji_san escribió:@Ninoh-FOX Excelente, buen trabajo, me gusto, vi que lo aportaste en gbatemp, lastima que en mi país es muy complicado conseguir baterías de litio, siendo que nosotros somos productores de litio xD, por razones de transporte, no permiten traer muchas cosas que contengan litio, por su facilidad para explotar en determinadas ocaciones, es por eso que me llamo mucho la atención esto de los condensadores, habrá alguna forma de poner dos condensadores junto a una resistencia que nos ayude a tener una buena constante de tiempo,pues supongo que esos condensadores alimentan el tiempo suficiente el circuito, lo que nunca salí de dudas, es a que se referían el team xecuter y kate sobre un chip que se podría soldar directamente a la consola?


Este componente se llama EDLC aunque en español creo que se les denomina supercondensadores(Siempre les llamo por su denominación inglesa xD) pero no son condensadores típicos que solemos usar si no mira que un condensador anda por el orden nF ,uF o mF y este en la foto pone 500F su magnitud de almacenamiento es muy grande para ser un condensador típico. Este componente viene a ser como una batería, aunque hay en circuitos que se usas para absorber picos de energía tambien es muy tipico verlos en en SAIs. También los he visto dentro de PLC para no perder la memoria en caso de cortes de luz. Bueno el caso es que es curioso ver que los han usado para su dongle y creo que es muy buena idea.
Asi evitan problemas con aduanas [fumando] [poraki]
Ninoh-FOX escribió:Asi evitan problemas con aduanas [fumando] [poraki]

Oye, respecto a lo que comentaban en gba sobre usar una pila en lugar de bateria? se que la bateria es mejor de cara a que se puede cargar y esas cosas, pero quizas la solución de la pila simplifique el circuito? (que tampoco es complicado, vaya [+risas] es solo curiosidad)
Una pila de boton seria lo ideal, tal vez con un compartimento para su facil cambio.

De todas formas estoy pensando hacer una remodificacion a ver si lo hago aun mas pequeño.

Estaba pensando pillar esto y ponerlo modo "sanwitch"

Imagen

Tsk, no me han dejado poner el tuto en reddit
@Ninoh-FOX leche, porque no te dejan? ¬_¬
tienen subreddits bastante mas chungos y esto no?
No me han dejado, me llego un mensaje de "tu hilo no ha sido publicado" XD
213 respuestas
1, 2, 3, 4, 5