20 puntos por GN⁺ 2025-01-23 | 5 comentarios | Compartir por WhatsApp
  • Una laptop construida durante 6 meses por un estudiante de último año de preparatoria
  • Pantalla AMOLED 4K, teclado mecánico Cherry MX, juego de Minecraft en 4K, ejecución de LLMs de +7B, navegación web y unas 7 horas de batería. Todo es de código abierto.
  • El objetivo fue implementar lo mejor posible varias especificaciones técnicas que tienen las laptops comerciales modernas, delgadas y ligeras (pantalla, audio, rendimiento, construcción, tacto, interacción táctil, eficiencia, tamaño, etc.)
  • Al mismo tiempo, fue un intento de fabricar directamente desde cero la mayor cantidad posible de componentes

Configuración completa del hardware

Selección del chip

  • Buscó un SoC para una computadora de placa única (SBC), y el Rockchip RK3588 le llamó la atención por ser relativamente rápido
  • El soporte de software era limitado, pero la documentación de hardware y los esquemáticos de referencia eran decentes
  • Especificaciones del RK3588
  • A76 de cuatro núcleos + A55 de cuatro núcleos
  • GPU Mali-G10
  • NPU de 6 TOPs
  • Decodificador 8K@60FPS
  • Varias opciones de I/O (pantalla 8K, USB3.1 dual, PCIe 3.0 x4, HDMI2.1/eDP 1.4, etc.)
  • Usar un sistema en módulo (SoM) era eficiente porque evitaba tener que lidiar con la parte de memoria que requiere ruteo de señales de alta velocidad
  • Eligió el SoM CM3588 de FriendlyElec

Pantalla

  • Filtró por tamaño y resolución en panelook.com y decidió usar un AMOLED de 13.3 pulgadas con resolución 4K
  • El ATNA33TP11 tenía relativamente buen inventario de paneles nuevos
  • Aseguró integridad de señal de nivel 1.5GHz mediante ajustes finos como la posición del conector o la reducción del largo de la placa
  • Configurar un AMOLED 4K en un entorno Linux no estándar basado en eDP fue muy complejo (timing de encendido, análisis de logs de ingeniería, ingeniería inversa, etc.)

Sistema de energía

  • Apuntó a una capacidad de unos 60Wh con 4 celdas en serie de aproximadamente 6mm de grosor
  • Encontró celdas de 3.7V y 4250mAh en batteryspace.com
  • El voltaje total era de 16.8V en configuración 4S (entrada USB-C máxima de 20V). Usó el IC de carga BQ25713, el IC de balanceo BQ77915 y el IC de seguimiento de energía LTC2943, entre otros
  • Realiza monitoreo de batería y otros controles mediante un ESP32-S3
  • Lo configuró para que el estado de la batería se mostrara de forma nativa en el SO mediante el kernel y scripts en Python

[Powertrain V0.2 KiCanvas Link]
https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2FHello9999901%2…

Tarjeta madre

  • Definió el ancho de la tarjeta madre en alrededor de 90mm basándose en la batería, el tamaño de la pantalla y otros factores
  • Como I/O externo implementó USB3.1 Type-C dual, USB2.0 Type-A, jack para audífonos y ranura para tarjeta microSD
  • En el interior soporta M.2 E-key (módulo Wi-Fi/Bluetooth) y M.2 M-key (SSD NVMe)
  • Los detalles más específicos sobre la tarjeta madre terminada se organizarán en una publicación aparte

[Motherboard V1.0 KiCanvas Link]
https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2FHello9999901%2…

Puesta en marcha del sistema

  • Usa el kernel/distribución ubuntu-rockchip de Joshua Riek
  • El kernel de Armbian también está basado en el kernel de Rockchip, así que puede aprovechar bien las funciones de hardware
  • La configuración de hardware se maneja principalmente dentro de DeviceTree (DTS), y se especifica apropiadamente del lado del bootloader mediante U-Boot
  • El desarrollo se realizó en un entorno MacBook + Visual Studio Code + Orbstack (Ubuntu 24.04 virtualizado), y después de compilar se transfería al dispositivo RK3588 con scp
  • La configuración de pantalla, PCIe y USB, entre otras, se resolvió repitiendo modificaciones en el DTS y reiniciando
  • Finalmente funciona sobre Ubuntu 24.04 LTS con kernel 6.1

Periféricos

  • La idea empezó pensando en qué tal sería poder separar el teclado de la laptop y usarlo como teclado inalámbrico
  • Como ya había fabricado varias veces teclados mecánicos inalámbricos basados en ZMK, eligió switches Cherry MX ULP
  • Como la altura aumenta al incluir batería y switches, usó una batería de 200mAh de 1mm de grosor y también minimizó la altura del PCB
  • Las keycaps eran difíciles de conseguir comercialmente, así que las imprimió en 3D con una boquilla de 0.15mm
  • Para el trackpad adoptó el módulo PXM0057-401 de Azoteq (superficie de vidrio, multitáctil y soporte USB). Es una lástima que vaya a descontinuarse

[Keyboard V1.0 KiCanvas Link]
https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2FHello9999901%2…

Mecánica

  • Envió bloques de aluminio CNC a JLC y recibió varias muestras con distintos acabados anodizados. El gris oscuro se sentía mejor al tacto, pero al final eligió negro mate porque le gustó más visualmente
  • El CAD se hizo en OnShape, tomando como referencia la bisagra de la laptop Framework 13.3”
  • Distribución interna del chasis: 4 baterías en la parte inferior, placa de energía a la derecha, tarjeta madre a la izquierda y estructura de bisagra en la parte superior. Se diseñó quitando los tornillos inferiores para permitir un teclado desmontable magnéticamente
  • La estructura de enfriamiento combina un disipador de cobre personalizado + heatpipe + ventilador, y usa la almohadilla térmica PTM7950
  • Se usaron bocinas de PUI Audio, pero como no alcanzó el tiempo para depurar el DAC de audio del CM3588, añadió un convertidor de audio USB externo

Reflexiones

  • El nombre del proyecto, anyon_e, surgió después de una clase de mecánica cuántica (en particular sobre el cuasipartícula “anyon”)
  • Fue muy difícil porque tenían que entrelazarse las áreas eléctrica, de software y mecánica
  • Quiso compartir con la gente el poder de la creación, la innovación y la imaginación, como hacen los proyectos de código abierto (ZMK, KiCad, Blender, etc.)
  • Quiere contribuir al código abierto aunque sea en pequeñas partes y abrir nuevas posibilidades

5 comentarios

 
ahwjdekf 2025-01-24

Yo también, con solo ver el título, pensé por error que se trataba de una libreta. Creo que sería más correcto decir que es una laptop.

 
bus710 2025-01-23

La apariencia parece la de un producto comercial ya hecho.
Impresionante.

 
rlaehdus2003 2025-01-23

Impresionante..

 
xguru 2025-01-23

Repo oficial - https://github.com/Hello9999901/laptop

Al parecer es un estudiante de preparatoria de Phillips Exeter Academy, una escuela privada sumamente famosa fundada en 1781.

 
GN⁺ 2025-01-23
Comentarios en Hacker News
  • Bryan está en su último año de secundaria
  • Este es un post especial de HN que demuestra la capacidad sobresaliente del autor. Vi el video y me dejó muy impresionado
  • Es un proyecto realmente genial. Los siguientes pasos para mejorarlo son claros. Me pregunto cuál de los tres faltó más: recursos, tiempo o habilidad
    • Por ejemplo, me pregunto si alguna vez pensó en hacer una PCB flexible para facilitar el enrutamiento de cables
    • Me parece excelente el concepto de una laptop con teclado inalámbrico desmontable. La implementación es mucho más limpia que los teclados tipo funda de Surface o iPad
  • Parece un paso más hacia la visión de una PC del tamaño de la palma de la mano, dependiente de un dock, con un CPU pequeño y potente. Se conectaría con un solo USB-C, sin otros puertos, y estaría respaldada por una mini batería para la estabilidad de energía al usar un cargador de baja potencia
  • Intenté hacer un controlador de pantalla personalizado para la Framework 13, pero fracasé. Me impresiona profundamente que haya diseñado y fabricado toda la laptop
  • Este es un logro que muy pocas personas pueden afirmar. Si HN tuviera un salón de la fama, merecería entrar
    • Usar un SoM fue una decisión inteligente. La secuenciación de energía entre el SoC y los componentes externos es muy difícil sin documentación adecuada
    • Las velocidades modernas de USB-C, DisplayPort (4K) y PCIe son como magia para la mayoría de la gente. Aquí no actúa lo digital, sino circuitos analógicos y física
  • Muy impresionante. La laptop se ve excelente. Si pudiera fabricarla y venderla, consideraría comprarla
  • Es un proyecto genial que me recuerda a Clockwork Pi. Gracias por compartirlo
  • Tengo curiosidad por el costo total
  • Me pregunto cómo se hizo el conector USB-C en la carcasa externa
    • Usar un cable extensor USB no es buena idea. Puede provocar errores de bits al copiar grandes cantidades de datos. Es mejor insertar la unidad USB directamente en la carrier board, aunque físicamente no siempre es posible