
T248 Reverse engeneer
Spb2005/Thrustmaster-T248-reverse-engineering
Reverse engineering project of the Thrustmaster T248 steering wheel, with the end goal, of making custom steering wheels for it.

Macrolev is an open source analog keyboard powered by Hall Effect switches
Macrolev is an open-source printed circuit board by heiso, from the heiso/macrolev repository on GitHub. It is a 2-layer board of 309.6 × 95.3 mm with 184 parts on 125 nets, routed with 1,154 tracks and 615 vias.
It is built around the STM32F411CEU6, A1101ELHLT-T and AMS1117-3.3, with the CD74HC4067SM96 among its other parts. Its parts include 69 ICs, 18 capacitors, 5 resistors, 3 connectors and 2 switches. It belongs with the keyboards and input boards and the STM32 boards of this library.
I use the two prototypes shown above as my daily drivers for both coding and gaming. They work well, and the current state of the web configurator is sufficient for seamlessly switching between coding and gaming modes. The current layout of my prototypes is Mac ISO azerty (FR).
This is still a work in progress. While the prototypes are functional, building one requires a good understanding of electronics and firmware development. If you're interested in creating your own, please be aware that you'll need experience with PCB assembly, microcontroller programming, and debugging embedded systems.
The Rev1 version shown in the images above requires an ST-Link programmer to flash the firmware, making setup more complex. Additionally, the keymap is hardcoded in the firmware, so any changes to the key layout require recompiling and reflashing the firmware.
The second revision features a split PCB design consisting of a main board for the key layout and a separate breakout board. This two-board approach makes it easier to test and evaluate different microcontrollers. However, development is still in progress as the microcontroller board (currently planned to use an ESP32-S3) has not been finalized yet.
This is still a work in progress, the firt revision is working flawlessly but it is not that configurable yet. Here is some of the things I'm working on right now
Add footprints and symbols from jlcpcb with this cmd
JLC2KiCadLib <...LCSC refs> -dir JLCPCB -symbol_lib JLCPCB| Qty | Value | Footprint | References |
|---|---|---|---|
| 67 | A1101ELHL | Package_TO_SOT_SMD:SOT-23 | U1, U2, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23 +51 |
| 55 | SW_MX_Lekker_1u | Lekker switch:SW_MX_Lekker_1u | - _, , ?, ; ., : /, ! 8, ' 4, " 3, ( 5, ) °, @ #, & 1, ` £, ^ ¨, < >, = +, $ * € +39 |
| 10 | 100n | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C2, C3, C4, C5, C9, C14, C15, C16, C17, C18 |
| 5 | CD74HC4067SM | Package_SO:SSOP-24_5.3x8.2mm_P0.65mm | AMUX0, AMUX1, AMUX2, AMUX3, AMUX4 |
| 5 | SW_MX_Lekker | Lekker switch:SW_MX_Lekker | backspace, enter, lspace, rshift, rspace |
| 4 | SW_MX_Lekker_1.25u | Lekker switch:SW_MX_Lekker_1.25u | cmd, cmd, lshift, option |
| 3 | Fiducial | Fiducial:Fiducial_1mm_Mask3mm | FID1, FID2, FID3 |
| 2 | 1.2K | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R1, R2 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R3, R4 |
| 2 | 120R | Inductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolder | FB1, FB2 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C7, C8 |
| 2 | 20p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C12, C13 |
| 2 | 22u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C10, C11 |
| 2 | SW_MX_Lekker_1.75u | Lekker switch:SW_MX_Lekker_1.75u | caps lock, ctrl |
| 1 | 10n | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C6 |
| 1 | 10u | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1 |
| 1 | 25MHz/20ppm/15pF | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering | Y1 |
| 1 | 5.1k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R5 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U68 |
| 1 | BOOT_BTN | switch:SKRPACE010 | SW2 |
| 1 | DEBUG | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | I2C | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | RED | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D1 |
| 1 | RST_BTN | switch:SKRPACE010 | SW1 |
| 1 | STM32F411CEU6 | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U69 |
| 1 | SW_MX_Lekker_1.5u | Lekker switch:SW_MX_Lekker_1.5u | tab |
| 1 | USBC | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1 |
The 176 most common of 184 parts.
It measures 309.6 × 95.3 mm and has 2 copper layers, 1.6 mm thick.
184 parts, built around the STM32F411CEU6, A1101ELHLT-T, AMS1117-3.3 and CD74HC4067SM96. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the heiso/macrolev repository on GitHub, at the commit this page was made from: the board is kicad/Rev 1.0/macrolev.kicad_pcb and its schematic kicad/Rev 1.0/macrolev.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask heiso before reusing the design.

Spb2005/Thrustmaster-T248-reverse-engineering
Reverse engineering project of the Thrustmaster T248 steering wheel, with the end goal, of making custom steering wheels for it.



ashton6student/ece445
Note: each subfolder has its own README.md file that forms the ECE 445 notebook, in addition to this top-level file.

BenGrumm/STM-Quadcopter
A simple quadcopter built on the STM32F411CEU6 (black pill board) with 4 motors, a PPM receiver, ADC checking battery level and I2C communication with MPU6050 imu.


Alejojoa/Triatlon-Alita
Repositorio dedicado al desarollo de un robot triatlon.

class-ab/open-soccer
Mindstormers' open soccer repo. contains code, pcbs, elec, diagrams, etc...