
MSCKee
Creative-Difficulty/mSCKee
Split Keyboard for Hack Club Outpost with dual light sensors, per-key addressable backlighting, integrated RP2040 MCU

This README is also used as the main page for the Doxygen-generated documentation. The remainder of this file contains project details, diagrams, and usage information. # PlatformSoftKeyboardControl
SoftKeyboardController is an open-source printed circuit board by Setting-Dawn, from the Setting-Dawn/PlatformSoftKeyboardControl repository on GitHub, published under the MIT licence. It is a 2-layer board of 87.1 × 78.7 mm with 52 parts on 96 nets, routed with 815 tracks and 86 vias.
It is built around the DRV8848PWP, PCA9956BTWY and CD74HC4067SM96. Its parts include 14 resistors, 10 connectors, 6 capacitors and 6 ICs. It belongs with the ESP8266 boards of this library.
Control a 2 Degree of Freedom Platform using a soft sensing sheet.
This README is also used as the main page for the Doxygen-generated documentation. The remainder of this file contains project details, diagrams, and usage information.
Project Goal:
Control a 2 Degree of Freedom Platform using a custom piezoresistive sensing sheet.
The balancing table is controlled by two motors connected to the table's surface via a strut with two ball joints that control rotation about perpendicular axes.
The ESP32 hosts its own wifi on which it hosts a webpage on 192.168.5.1 that communicates the recorded data in csv forma to either the user or an external program that interprets it. The functionality of this task is based on an example by .
The motor control task awaits confirmation that the IMU has initialized and then begins operating the motor PIDs according to the setpoint stored in the xBar and yBar shares.
In order to perform EIT analysis, a series of voltage differences needs to be measured. For one complete measurement, one electrode is grounded while its neighboring electrode is supplied with a current while the remaining electrodes are used to measure the voltage differences. This is then repeated for each electrode. This task is responsible for taking those individual datapoints and reporting the resulting 208 values to the webpage task to be published in csv format.
A python script using the is able to read the data hosted by the webpage and analyze any changes in resistivity of the material. The resulting centroid is then passed back to the webpage using url arguments.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | TestPoint | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11 |
| 5 | 1kΩ | Resistor_SMD:R_0805_2012Metric | R8, R9, R10, R11, R14 |
| 4 | MountingHole | MountingHole:MountingHole_2.5mm | H1, H2, H3, H4 |
| 3 | 0.1μF | Capacitor_SMD:C_0805_2012Metric | C2, C4, C5 |
| 3 | 10kΩ | Resistor_SMD:R_0805_2012Metric | R1, R5, R13 |
| 2 | 4.7kΩ | Resistor_SMD:R_0805_2012Metric | R2, R6 |
| 2 | 500mΩ | Resistor_SMD:R_0805_2012Metric | R3, R4 |
| 2 | ADC128D818 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U2, U3 |
| 2 | Conn_01x08_Socket | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J7, J8 |
| 2 | Conn_01x12_Socket | Connector_PinSocket_2.54mm:PinSocket_1x12_P2.54mm_Vertical | J5, J6 |
| 1 | 100 | Resistor_SMD:R_0805_2012Metric | R12 |
| 1 | 10μF | Capacitor_SMD:C_0805_2012Metric | C3 |
| 1 | 2.2μF | Capacitor_SMD:C_0805_2012Metric | C6 |
| 1 | 3.3kΩ | Resistor_SMD:R_0805_2012Metric | R7 |
| 1 | 470μF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C1 |
| 1 | Barrel_Jack_Switch | Connector_BarrelJack:BarrelJack_CUI_PJ-102AH_Horizontal | J1 |
| 1 | CD74HC4067SM | Package_SO:SSOP-24_5.3x8.2mm_P0.65mm | U5 |
| 1 | DRV8848 | Package_SO:TSSOP-16-1EP_4.4x5mm_P0.65mm | U6 |
| 1 | EXT IMU Connection | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J2 |
| 1 | Motor 1 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal | J3 |
| 1 | Motor 2 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal | J4 |
| 1 | Motor Encoder 1 | Connector_Molex:Molex_KK-396_A-41792-0005_1x05_P3.96mm_Horizontal | J10 |
| 1 | Motor Encoder 2 | Connector_Molex:Molex_KK-396_A-41792-0005_1x05_P3.96mm_Horizontal | J9 |
| 1 | NodeMCU | ME507F24:ESP32_NodeMCU_KeeYees | ESP1 |
| 1 | PCA9956BTWY | SamacSys_Parts:SOP50P640X110-39N | IC1 |
| 1 | TL071 | Package_TO_SOT_SMD:SOT-23-5 | U4 |
It measures 87.1 × 78.7 mm and has 2 copper layers, 1.6 mm thick.
52 parts, built around the DRV8848PWP, PCA9956BTWY 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 Setting-Dawn/PlatformSoftKeyboardControl repository on GitHub, at the commit this page was made from: the board is hardware/SoftKeyboardController.kicad_pcb and its schematic hardware/SoftKeyboardController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Creative-Difficulty/mSCKee
Split Keyboard for Hack Club Outpost with dual light sensors, per-key addressable backlighting, integrated RP2040 MCU

matiyau/screen_antenna
Screen Antenna is a Visible Light Communication (VLC) system that integrates data transmission and reception, with the conventional pixel display capability of RGB LEDs.




JWehle/equatorial-mount
Driver board for an dual stepper motors in an equatorial mount for astrophotography.


Royalflamejlh/WattBalance
A small Kibble Watt Balance made to demonstrating an accurate alternative to scales.