Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCB v3.3 #66

Open
wants to merge 29 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ca1a42c
Changed SCH for v3.3. TBD: footprint for connector, additional MPRLS …
benjaminaigner Jul 5, 2023
b77d8bf
Added footprint for MPRLS connector, changed PDF of SCH; imported to …
benjaminaigner Jul 6, 2023
2d7ee2e
Added MPRLS sensorboard
Jul 6, 2023
b7d66dd
Changed Neopixel footprint
Jul 6, 2023
07700f7
Finished routing & DRC. Removed unused footprints & updated existing …
benjaminaigner Jul 7, 2023
99c7c83
Removed F.Paste from edge connector
Jul 26, 2023
534ab96
MPRLS board 0.9mm smaller, does not fit in edge connector
Aug 8, 2023
9250fec
Added iBOM for sensorboard, excluded edgeconnector from BOM
Aug 8, 2023
e1b9e3e
New iBOM for LDO
Aug 9, 2023
8390fda
Added enable pin for LDO
Aug 9, 2023
5c8b507
Added a DPS310 breakout board
benjaminaigner Aug 23, 2023
d23b6bb
Merge branch 'PCB_v3.3' of https://github.com/asterics/FLipMouse into…
benjaminaigner Aug 23, 2023
d89b4a6
Fixed silkscreen & edge connector width
benjaminaigner Aug 23, 2023
61092cc
Fixed footprints of edge connector (excluded from paste layer)
benjaminaigner Aug 23, 2023
37a59f7
Added an adapter for the DPS310 sensorboard
benjaminaigner Aug 29, 2023
bd61d3e
Fixed broken design (again FreeCAD + VRML -> completely messed up) & …
Aug 29, 2023
f131def
Little bit more chamfer
Aug 29, 2023
a81f0dc
Changed pipe adapter design to be FFF compatible & connector is now O…
benjaminaigner Aug 31, 2023
3fab20c
changed diameter
benjaminaigner Aug 31, 2023
fcd8da4
Finished pipe adapter
Aug 31, 2023
9275f11
Updates on pipe adapter for DPS310
Sep 6, 2023
c9e48f2
Removed I2C addr. selection; removed holes and placed vias better.
benjaminaigner Sep 30, 2023
b072404
Merge branch 'PCB_v3.3' of https://github.com/asterics/FLipMouse into…
benjaminaigner Sep 30, 2023
2c4fe1c
Removed some vias under the pressure adapter, updated SCH PDF & iBOM
Oct 2, 2023
33fa04d
Pipe adapter now fully functional & printable, changed some 3D settin…
Oct 13, 2023
9058c03
Merge branch 'master' into PCB_v3.3
Oct 17, 2023
bc75b38
Changed polygon to edge clearance for aisler, moved vias
benjaminaigner Dec 18, 2023
26d5dac
Added note on cap for mouthpiece tool
Apr 11, 2024
011e12c
Merge branch 'PCB_v3.3' of https://github.com/asterics/FlipMouse into…
Apr 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions Documentation/Fabrication/mouthpiece/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# FLipMouse - Mouthpiece

**Fabrication Note v1.0, AsTeRICS Foundation**
**Fabrication Note v1.1, AsTeRICS Foundation**

![FLipMouseLogo](./img/flipmouseLogo.png)

Expand All @@ -26,7 +26,7 @@ The acryllic pipe (Ø10/6mm) is glued to the Luer Lock adapter with epoxy resin.

| Nr. | Description | Source | Image |
| ---- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1 | Male Luer Lock to M6 adapter | https://www.droh.de/produkt/2836-luer-lock-adapter-mit-m6-gewinde-mannlich | ![A male Luer Lock to M6 thread adapter](./img/maleluer.png) |
| 1 | Male Luer Lock to M6 adapter (metal or plastic) | https://www.droh.de/produkt/2836-luer-lock-adapter-mit-m6-gewinde-mannlich | ![A male Luer Lock to M6 thread adapter](./img/maleluer.png) |
| 2 | Female Luer Lock to pipe adapter. __Note:__ this part is either already in the holder OR it can be taken from the FLipMouse construction kit. | https://www.droh.de/produkt/1752-luer-lock-adapter-mit-m6-gewinde-fur-schlauche-mit-3-mm-id-und-zur-geratemontage-weiblich | ![A female Luer Lock to 3mm pipe adapter](./img/femaleluer.png) |
| 3 | Acryllic pipe (Ø10/6mm) | https://acrylhaus.com/Acrylglasrohr-rund-XT-transparent-R-10-6mm-Aussen-Innen-1000mm | ![Acryllic pipe, 10mm outer and 6mm inner diameter](./img/acryllic.png) |
| 4 | Cigarette filters, 6mm diameter | Local tobacco store | ![6mm cigarette filter](./img/filter.png) |
Expand All @@ -43,6 +43,7 @@ __Note: Material will be referenced in square brackets: []__
| 3 | Heat gun | DIY-store | ![A heat gun in an original case with different accessories](./img/heatgun.jpg) |
| 4 | Mouthpiece holder | 3D printed, "tools" subfolder. | ![Holding tool with 15 places for Luer Lock adapters and 2 holes to screw the holder to a surface](./img/holder.png) |
| 5 | Sand paper, 240grit | DIY-store | |
| 6 | Holder - Cap | 3D printed, "tools" subfolder. | |

__Note: Tools will be referenced in curly brackets: {}__

Expand Down Expand Up @@ -71,7 +72,7 @@ __Glueing:__
2. Push the acryllic pipe _[3]_ on the luer lock adapter _[1]_. __Note:__ make sure you have clean hands.
3. Repeat for all luer lock adapters
4. Use paper or a tissue to remove any surplus epoxy.

5. Place the cap _{6}_ on top of the mouthpieces for a guaranteed straight angle


`Wait for 12h`
Expand Down Expand Up @@ -100,4 +101,4 @@ __Finalize:__

## Documentation

For each produced batch, fill out one document __template_mouthpiece_production.ots__ and save it as: `mouthpiece_production_<date>.ods`(e.g.: mouthpiece_production_20221118.ods)
For each produced batch, fill out one document __template_mouthpiece_production.ots__ and save it as: `mouthpiece_production_<date>.ods`(e.g.: mouthpiece_production_20221118.ods)
Binary file modified Documentation/Fabrication/mouthpiece/README.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
41 changes: 41 additions & 0 deletions FLipWare/sensors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
#include "modes.h"
#include "utils.h"

/// Enable pin for the MIC5504 LDO for NAU7802 & MPRLS sensors
#define LDO_ENABLE_PIN 7

Adafruit_NAU7802 nau;
LoadcellSensor XS, YS, PS;
int sensorWatchdog = -1;
Expand Down Expand Up @@ -88,6 +91,43 @@ void configureNAU() {
for (uint8_t i = 0; i < 10; i++) {
while (! nau.available()) delay(1);
nau.read();
}
}

/**
@name getValueMPRLS
@brief reads a current value from the MPRLS pressure sensor (polling)
@return nonw
*/
void getValueMPRLS() {
uint8_t buffer[4] = {0};
Wire1.requestFrom(MPRLS_ADDR,1);
buffer[0] = Wire1.read();
//any errors? set pressure value to 512, convert otherwise...
if(buffer[0] & MPRLS_STATUS_BUSY)
{
//sensor is busy, cannot read data
#ifdef DEBUG_OUTPUT_SENSORS
Serial.println("MPRLS: busy");
#endif
return;
}
if((buffer[0] & MPRLS_STATUS_MATHSAT) || (buffer[0] & MPRLS_STATUS_FAILED))
{
//sensor failed or saturated
#ifdef DEBUG_OUTPUT_SENSORS
Serial.println("MPRLS:failed or saturated");
#endif
return;
} else {
//request all 4 bytes
Wire1.requestFrom(MPRLS_ADDR,4);
for(uint8_t i = 0; i<4; i++) buffer[i] = Wire1.read();
mprls_rawval = (uint32_t(buffer[1]) << 16) | (uint32_t(buffer[2]) << 8) | (uint32_t(buffer[3]));
#ifdef DEBUG_OUTPUT_SENSORS
//Serial.println(mprls_rawval);
//heavy output...
#endif
}
}

Expand Down Expand Up @@ -129,6 +169,7 @@ void initSensors()
Wire1.setClock(400000); // use 400kHz I2C clock
Wire1.beginTransmission(DPS310_ADDR);
uint8_t result = Wire1.endTransmission();

if (result == 0) {
#ifdef DEBUG_OUTPUT_SENSORS
Serial.println("SEN: found DPS310");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
(footprint "009159005551906" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(attr smd)
(fp_text reference "REF**" (at 7 0.5 -90 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 4427cc4e-6968-496e-8ba3-72c0f13f715a)
)
(fp_text value "009159005551906" (at 0 -4.75 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp be275d54-2f1f-4625-9bd6-df278ab84d09)
)
(fp_line (start -6 -3.25) (end -4.75 -3.25)
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 82514683-926c-4086-8dad-8cf008125c7d))
(fp_line (start -6 3.25) (end -6 -3.25)
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp b225d686-e205-4248-8f81-bf32f15f2de4))
(fp_line (start -5.5 -0.65) (end 0 -0.65)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp acb50c40-a415-436d-a518-47b8add273de))
(fp_line (start -5.5 0.35) (end -5.5 -0.65)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6599ee75-f1c2-4334-ad47-a42497d21949))
(fp_line (start -5 0.35) (end -5.5 0.35)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp df694755-8a47-4ad1-8e75-bdd0ff637409))
(fp_line (start -5 1.15) (end -5 0.35)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 114d10eb-0612-4cce-8866-e02f3a714356))
(fp_line (start -4.75 3.25) (end -6 3.25)
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 79244464-3b18-4430-a350-4385a94d750f))
(fp_line (start -4 -0.65) (end -4 -0.15)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp edda04aa-b5de-4283-9e3c-5545bcb239b8))
(fp_line (start -2 -0.65) (end -2 -0.15)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 487815bc-9cb9-4729-83d1-3b4afb2d58b3))
(fp_line (start 0 -0.65) (end 0 -0.15)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 69f257d3-9257-4b20-badb-f733aa58f691))
(fp_line (start 0 -0.65) (end 5.5 -0.65)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bff40738-8bd3-4d7e-8b03-001bd335d661))
(fp_line (start 0 1.15) (end -5 1.15)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 96c63105-03af-4b2a-827b-fa2ea5150001))
(fp_line (start 2 -0.65) (end 2 -0.15)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2f0f914a-3cd5-45ea-a867-59ff40465fba))
(fp_line (start 4 -0.65) (end 4 -0.15)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 93356200-2cf6-4f12-9b0a-5b568181fc4e))
(fp_line (start 4.75 3.25) (end 6 3.25)
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp fc04e7e5-7701-4b7a-b164-b93669c29f6f))
(fp_line (start 5 0.35) (end 5.55 0.35)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7d2f71d5-17da-4795-97ec-1d437495da53))
(fp_line (start 5 1.15) (end 0 1.15)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 26c47d66-34fc-4452-acd7-c23903228982))
(fp_line (start 5 1.15) (end 5 0.35)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5a691e35-6edd-4e6f-95c9-87db3a9348de))
(fp_line (start 5.55 0.35) (end 5.55 -0.65)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 70877d4f-e25e-4fe4-8e1c-ff48299cb938))
(fp_line (start 6 -3.25) (end 4.75 -3.25)
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 97fdabd5-8c95-4c9b-af8d-bc9ed655cb95))
(fp_line (start 6 3.25) (end 6 -3.25)
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 66a23a52-53e5-4f00-9706-981c24c11991))
(fp_circle (center 6.5 -3.25) (end 6.25 -3.25)
(stroke (width 0.12) (type solid)) (fill solid) (layer "F.SilkS") (tstamp 989faf17-8a09-475b-b78b-962015b14ea1))
(pad "1" smd roundrect (at 4 -3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp 09789e41-547b-4130-a4c4-66959c453e20))
(pad "1" smd roundrect (at 4 3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp f9b72820-67a4-4e80-baf7-66a57702cb78))
(pad "2" smd roundrect (at 2 -3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp f04d6e2c-019f-42a4-99c9-c5d4754bc17f))
(pad "2" smd roundrect (at 2 3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp 1d7d9384-5287-4224-8956-487e67f7b1be))
(pad "3" smd roundrect (at 0 -3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp 273f1073-4110-4137-a94a-cc7b5c135ae3))
(pad "3" smd roundrect (at 0 3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp b5bc03db-d69d-4c0c-9345-5e84e70cfc52))
(pad "4" smd roundrect (at -2 -3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp c31b1f1b-23f5-4cdf-9a8e-be97a63ac6ae))
(pad "4" smd roundrect (at -2 3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp a1581593-d87d-4712-ae83-2327e6080c44))
(pad "5" smd roundrect (at -4 -3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp 9a0e9700-4c77-46c9-b809-73fe0f9ca0db))
(pad "5" smd roundrect (at -4 3.05 180) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(thermal_bridge_angle 45) (tstamp 5250429e-61b2-4159-b913-d9db2cc1a9bc))
)
Original file line number Diff line number Diff line change
@@ -1,35 +1,50 @@

(module 690367280676 (layer F.Cu) (tedit 634E5709)
(footprint "690367280676" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(descr "<b>WR-MM</b><br> Female SMT Connector with Polarization, 6Pins")
(fp_text reference REF** (at -8.375 -1.108 0) (layer F.SilkS)
(effects (font (size 0.8 0.8) (thickness 0.15)))
(attr smd)
(fp_text reference "REF**" (at -8.375 -1.108) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp d6bd567a-378d-4bce-8599-a7413fa837b1)
)
(fp_text value 690367280676 (at -11.831 1.092 0) (layer F.Fab)
(effects (font (size 0.8 0.8) (thickness 0.15)))
(fp_text value "690367280676" (at -11.831 1.092) (layer "F.Fab")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 14f7d527-e24a-411c-b025-641a261b9d39)
)
(pad 6 smd rect (at 3.175 2.25) (size 1.5 3.0) (layers F.Cu F.Mask F.Paste))
(pad 4 smd rect (at 0.635 2.25) (size 1.5 3.0) (layers F.Cu F.Mask F.Paste))
(pad 2 smd rect (at -1.905 2.25) (size 1.5 3.0) (layers F.Cu F.Mask F.Paste))
(pad 5 smd rect (at 1.905 -2.25) (size 1.5 3.0) (layers F.Cu F.Mask F.Paste))
(pad 3 smd rect (at -0.635 -2.25) (size 1.5 3.0) (layers F.Cu F.Mask F.Paste))
(pad 1 smd rect (at -3.175 -2.25) (size 1.5 3.0) (layers F.Cu F.Mask F.Paste))
(fp_line (start 4.81 2.5) (end 4.81 -2.5) (layer F.Fab) (width 0.1))
(fp_line (start -4.81 -2.5) (end -4.81 2.5) (layer F.Fab) (width 0.1))
(fp_line (start -4.81 2.5) (end 4.81 2.5) (layer F.Fab) (width 0.1))
(fp_line (start -4.81 -2.5) (end 4.81 -2.5) (layer F.Fab) (width 0.1))
(fp_line (start -4.2 -2.6) (end -4.91 -2.6) (layer F.SilkS) (width 0.2))
(fp_line (start -4.91 -2.6) (end -4.91 2.6) (layer F.SilkS) (width 0.2))
(fp_line (start -4.91 2.6) (end -3.0 2.6) (layer F.SilkS) (width 0.2))
(fp_line (start 3.0 -2.6) (end 4.91 -2.6) (layer F.SilkS) (width 0.2))
(fp_line (start 4.91 -2.6) (end 4.91 2.6) (layer F.SilkS) (width 0.2))
(fp_line (start 4.91 2.6) (end 4.3 2.6) (layer F.SilkS) (width 0.2))
(fp_line (start -4.91 -2.6) (end -4.91 2.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS") (tstamp f91835d8-2462-45fd-b77c-9bccb96ebc02))
(fp_line (start -4.91 2.6) (end -3 2.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS") (tstamp 571b7a92-7ca4-4471-9334-b361fe8ec46a))
(fp_line (start -4.2 -2.6) (end -4.91 -2.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS") (tstamp 8e4084c8-a4ca-4d0c-bad0-53aa5ce3e0ad))
(fp_line (start 3 -2.6) (end 4.91 -2.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS") (tstamp efb5cb7c-323f-4057-a418-7f9c19ef0eba))
(fp_line (start 4.91 -2.6) (end 4.91 2.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS") (tstamp cb80ac1b-2125-447a-b3f8-96803cc620f2))
(fp_line (start 4.91 2.6) (end 4.3 2.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS") (tstamp 0a7e5fc5-02c9-4056-a59f-cff9bed87f6f))
(fp_circle (center -4.4 -3) (end -4.3 -3)
(stroke (width 0.2) (type solid)) (fill none) (layer "F.SilkS") (tstamp 0d6f4605-c7be-44a5-889c-78e1b4d4c63d))
(fp_poly
(pts
(xy -5.11 -3.95)
(xy 5.11 -3.95)
(xy 5.11 3.95)
(xy -5.11 3.95)
) (layer F.CrtYd) (width 0.1)
)
(fp_circle (center -4.4 -3.0) (end -4.3 -3.0) (layer F.SilkS) (width 0.2))
)
)

(stroke (width 0.1) (type solid)) (fill none) (layer "F.CrtYd") (tstamp 565b11a8-83ff-449e-ad87-c37227a6fe03))
(fp_line (start -4.81 -2.5) (end -4.81 2.5)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 260cabb5-6a96-48fb-903c-2c470121ae98))
(fp_line (start -4.81 -2.5) (end 4.81 -2.5)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cbc94783-28fa-4f19-8e52-7774114976ce))
(fp_line (start -4.81 2.5) (end 4.81 2.5)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 31fb9641-70f8-4d49-9211-3d3b86d4c3bb))
(fp_line (start 4.81 2.5) (end 4.81 -2.5)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 211b2b55-2846-4485-9d7a-b6ad95fa786a))
(pad "1" smd rect (at -3.175 -2.25) (size 1.5 3) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 6ca3dacd-31b7-491a-83fa-4bbc63cc5c5b))
(pad "2" smd rect (at -1.905 2.25) (size 1.5 3) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 1338f1fc-4bf8-4f49-beb7-ebbee023df46))
(pad "3" smd rect (at -0.635 -2.25) (size 1.5 3) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 8c85e534-2ede-44f0-b34c-135fbb15f738))
(pad "4" smd rect (at 0.635 2.25) (size 1.5 3) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 6ed9d57a-9794-4394-8e49-d4fe9b4b7572))
(pad "5" smd rect (at 1.905 -2.25) (size 1.5 3) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 865eb783-3121-4ff6-bffb-974cfc134e9f))
(pad "6" smd rect (at 3.175 2.25) (size 1.5 3) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 8c0609f0-0576-4f39-8087-8f41c7b74410))
)
Loading