Llevo meses trabajando en este proyecto y por fin está acabado.

He diseñado un teclado mecánico desde cero y lo he publicado en Codeberg con una licencia abierta (por si alguien se quiere montar uno).

Todo esto surge de que la mayoría de teclados de código abierto que he encontrado usan microcontroladores de 20 euros para arriba. Mientras, tenemos la Raspberry Pi Pico 2 por 6 pavos super barata y con un chip bastante más actual que los demás MCU. Y que narices, me hacen gracia las Raspberry y fue la excusa perfecta para comprarme una Pico.

Switches y keycaps, lo que se quiera gastar cada uno, pero lo que es la PCB con los componentes sale bastante barata, además que si algo se rompe es bastante fácil de reparar.

El repositorio se encuentra aquí:

https://codeberg.org/peps/renegade

#Renegade #RaspberryPi #Teclado #Keyboard

A lo tonto he hecho ya estos tres para aprender.

El primero fue el numérico y bastante guay la experiencia, es con el que más aprendí, luego el macropad para afinar unas cosillas y ya por último el grande con todas las decisiones tomadas en los anteriores.

Soldar el grande lleva un buen rato, pero los chiquitos te los haces en un momento tontorrón y sienta bastante bien tener algo hecho por ti.

Me han sobrado algunas placas de los tres, ya que el pedido mínimo al imprimirlas eran cinco, por lo que si alguien quiere alguna, puede escribirme sin problemas o imprimirla por su cuenta.

El código de todos ellos y los archivos necesarios los he publicado aquí:

https://codeberg.org/renegade-keebs

#Renegade #RaspberryPi #Teclado #Keyboard

@peps que chulada!!
@peps un proyecto super bonito seria ahora comprar los componentes y hacer un video mostrando como se monta, aixxxx tengo que apuntarme esto antes de que se me olvide

@Otimsis

Muchas gracias!! Sí que sería guay un video. Dejamos esta idea por aquí. Si te animas o alguien se anima me encantaría verlo. ^^

@peps ostia!! es un proyecto guapo....

@zicoxy3

muchas gracias, ha sido una locura aprender a hacer estas cosas ^^

@peps increíble proyecto 👏🏻
Te lanzo un par de preguntas si no te importa:
- ¿esos mismos componentes se pueden usar para un teclado español? ¿Y también para un Mac?
- ¿qué conectividad tiene?
- ¿sabes si es posible hacer un teclado casero que se conecte a dos ordenadores por Bluetooth a la vez y que con un switch envíe la pulsación a uno u otro?

@PabloAsekas @peps Como propietario de un Ergodox y persona que ha hecho PCBs, me entrometo en la conversación para contestar:

- La distribución del teclado no importa. De hecho, va con firmware KMK, así que puedes configurar muy mucho lo que hace cada tecla (y cada combinación de teclas): https://github.com/KMKfw/kmk_firmware?tab=readme-ov-file#features

- La conectividad es la que tenga el microcontrolador. En el caso de la RPi2040 esto significa USB.

- Para Bluetooth hay que irse a firmware QMK: https://docs.qmk.fm/features/wireless

GitHub - KMKfw/kmk_firmware: Clackety Keyboards Powered by Python

Clackety Keyboards Powered by Python. Contribute to KMKfw/kmk_firmware development by creating an account on GitHub.

GitHub

@IvanSanchez @PabloAsekas

Eso es, tema bluethoot hay que irse a QMK y microcontroladores tipo Nice!Nano para que además consuman menos en batería. La verdad es que no me he metido en esos temas porque un microcontrolador de esos cuesta unos 25 euros sin contar envios.

En ese punto sale bastante más a cuento comprar un teclado ya montado o alguno de esos custom

@peps @PabloAsekas Luego en temas de Bluetooth no sé siquiera si existe la posibilidad de que un mismo periférico (teclado) se conecte a dos controladores distintos (ordenadores). Y comprar un kit de desarrollo de nRF hoy en día no baja de los 50€, así que dan pocas ganas de meterse a ello.
A mí me toca encontrar tiempo libre para seguir con mis cosas de fotovoltaica (https://gitlab.com/IvanSanchez/solanera)
Iván Sánchez Ortega / solanera · GitLab

GitLab.com

GitLab
@IvanSanchez @peps muchas gracias chicos.
Tengo un teclado Logitech que memoriza hasta 3 dispositivos. Alterno mucho entre dispositivos. Pero tarda en hacer el cambio, a veces se vuelve hasta loco.
Y pensé ¿se podrá hacer un teclado que esté conectado a dos ordenadores, con dos Bluetooths distintos y que la pulsación se envíe por uno u otro en función del switch, de modo que cuando alternamos el envío es inmediato porque ya está conectado?
Menudos proyectazos tenéis 🙌🏻🙌🏻🙌🏻
@PabloAsekas @peps A ver, se puede hacer, pero la manera más práctica EMHO es diseñar una placa para dos microcontroladores AVR con sus dos nRF52, más un interruptor que dé voltaje a uno u otro µC (o a E/S de uno u otro µC). Se va bastante dinero en materiales.
@IvanSanchez @PabloAsekas @peps ¿Por qué no tener los 2 con corriente todo el rato y que tenga un interruptor por SW para decidir su la pulsación va a uno, al otro o a los dos a la vez?
@bufalo1973 @IvanSanchez @peps esa era mi idea. Que ambos controladores estén conectados a la vez, pero mediante algún mecanismo mandar la pulsación con uno u otro.
De esta forma, el envío de la pulsación debería ser inmediato, sin esperar a que los Bluetooths se emparejen.
Pero bueno, entiendo que no hay nada de esto creado y habría que combinar varios componentes que no están pensados para ser combinados, coordinarlos, etc. no es tan sencillo si no lo ha hecho alguien ya.
@PabloAsekas @bufalo1973 @IvanSanchez Si que parece una movida. Si tu teclado es Logitech, ¿que tal seria usar dos usb recivers y usar eso en vez de bluethoot? Seguro que cuando cambias entre dispositivos en el teclado cambia mas rapido. Si ademas tienen un raton, seguro queblo pueden configurar igual. No lo he probado, habria que buscar un poco.
@peps una auténtica pasada. Te lo he subido a Lemmy citandote, por si ves visitas en el Codeberg completamente random.
@Argyle13
Muchas gracias ^^
Nunca he usado Lemmy, pasa el link, porfis, y bicheo un poco 👀
@peps tío, si haces un tutorial del proceso te pongo un altar! 
@pacogens Un tutorial de diseñar o de montarlo?
@peps montarlo, montarlo

@pacogens Con el numpad fui haciendo fotos del proceso, tenía pensado ponerlo en un INSTRUCTION.md en el repo y dejarlo explicado (los tres que he hecho se montan igual).

De todos modos, si te da curiosidad es pillar la placa, soldar todos los sockets hot swap, luego los diodos y por ultimo la raspberry (solo hay que soldar esos tres componentes), no lleva mas.

Como base del teclado me compré un metacrilato y lo corté a medida, es atornillarlo a la pcb con los separadores y listo.

Luego poner los switches y las teclas, como en cualquier otro teclado.

Tema firmware, estoy usando KMK, pero basicamente es enchufar el teclado al ordena y arrastar los archivos de la carpeta de firmware a la raspberry.

Tengo pendiente escribir instrucciones pero es muy similar a como se hace cualquier teclado de codigo abierto de internet que te compras o te imprimes por tu cuenta.

Dejo por aqui un link de una pagina guay con las instrucciones de otro teclado, la unica diferencia es que estoy usando sockets hot swap y en este ejemplo los switches van soldados, pero es todo igual.

https://docs.keebd.com/build-guides/contra/build-steps

Build Steps | KEEBD Documentation

Step by step guide to build this keyboard

@peps ostras!!! Que guapo que genialidad

Enhorabuena por el proyecto, es una maravilla

@peps Muchas gracias! Enhorabuena por el proyecto. El teclado tiene una pintaza estupenda.
@peps Me parece muy bonito, y un trabajazo. Gracias por compartirlo, enhorabuena y que lo disfrutes :)
@titi muchas gracias a ti ^^

@peps, ¡qué pasada! ¡Me encanta! Un proyecto precioso y me flipa que además donde esté disponible sea en Codeberg, se ha llevado estrellita al canto.

Pero no sé si seguirte eh... Porque ver esto me dan ganas de ponerme a montar uno... Y ya son tantas cosillas en las que uno se mete. Obviamente, es inevitablemente seguirte jaja.

¡Gracias por compartirlo!

@ivanhercaz Si uso una Raspberry para el servidor, ¿cómo no la iba a usar tambien en el teclado?

No digo nada, pero el firmware que he escogido corre usando circuitpython. 👀

Ha sido un proyecto chulo y he aprendido un poco de hardware y tambien firmware y eso siemore es divertido, me alegra que te guste. ^^

@peps el teclado puede tener una disposición latina/española?
Me encanta el proyecto! Una lastima que no tenga las Fs que las uso un montón pero quizás intente armarmela igual

@Nexy

En principio está pensado como un 65% ANSI, quizás un 75% o TKL ISO se adapta mejor a tus necesidades.

En ANSI la ñ está pulsando Alt+N, el resto de teclas creo que en ANSI están bastante mejor colocadas y la mayoria de software tiene atajos pensados para esta distrubución.

De todos modos, es totalmente reprogramable en el archivo de configuración (dejo link para que le eches un ojo si te da curiosidad), las Fs las he puesto en la fila de números pulsando la tecla Fn (suele estar asi en todos los 65%).

En el archivo de configuración las dos ultimas capas estan casi en blanco, por lo que aunque no tengas las teclas físicas de Fs, se pueden poner en una combinación de teclas y listo, también sirve con otras teclas como Print, End, Home, o incluso macros.

https://codeberg.org/peps/renegade/src/branch/main/firmware/kmk/main.py

renegade/firmware/kmk/main.py at main

renegade - A 65% mechanical keyboard based on Raspberry Pi Pico.

Codeberg.org
@peps gracias por la explicación! Solo tuve de los teclados normales completos de membrana y justo estaba pensando en si conseguirme/hacerme uno mecánico.

@peps

In te re san te

@peps Parecería servir para Emacs!

@peps

No trae la "Ñ", hay manera de incorporarla?

@oscarfalcon

Traer no trae, la distrubución es ANSI. En ANSI int. la ñ se pone con Alt+N.

De todos modos las teclas se pueden programar, en el repo se encuentra el archivo de configuración. Se podria poner a gusto de cada uno, el problema es un poco encontrar keycaps que encajen bien.

https://codeberg.org/peps/renegade/src/branch/main/firmware/kmk/main.py

renegade/firmware/kmk/main.py at main

renegade - A 65% mechanical keyboard based on Raspberry Pi Pico.

Codeberg.org
@peps Hermoso proyecto pepe, saludos desde Argentina!
@peps
Hacer de cero no sé, pero tengo un teclado al que no le van algunas teclas (lo he desmontado, limpiado, revisado por si veo algún componente o circuito mal, etc pero con mis pobres conocimientos no veo nada). Quizá no sea mucha lata microcontrolarlo con una raspi

@MrBlogger

Si tienes un multímetro, repasa la matriz de teclas a ver donde esta el fallo, seguro que es repasar alguna soldadura tontorrona, aunque es verdad que puede ser un poco lioso. ¿Seguro que es la pcb y no son los switches?

@peps
Falla de manera pseudo intermitente, a veces fallan más unas letras que otras (o no hacen caso a las pulsaciones, o repiten eventos), a veces algunas que no fallan empiezan a fallar, después de limpiar parece que iba algo mejor pero de nuevo empezó a fallar de manera más acusada (parece que va como por grupos de teclas o siguendo algunos patrones), etc. como si algo no estuviera bien (¿quizá incluso el cable?)

@MrBlogger

Pasa foto 👀
¿Es mecánico o de membrana?

Si es a veces si a veces no, quizas con limpiarlo es suficiente, con limpiarlo me refiero a un chorrazo de isopropanol y a aporrear las teclas (o desmontarlo bien y limpiar con cuidado)

@peps
Mecánico. Tengo que volver a desmontarlo con cuidado y revisarlo y limpiarlo de nuevo, por si acaso.
@peps que chulo!! :)