
PSLab
fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io

A monorepo for AWS IoT experiments and hardware prototypes
IoT Devices Blink is an open-source printed circuit board by ImSeanConroy, from the ImSeanConroy/iot-devices repository on GitHub, published under the MIT licence. It is a 2-layer board of 34.5 × 26.5 mm with 6 parts on 16 nets, routed with 12 tracks and 0 vias.
It is built around the WS2812B. Its parts include 2 connectors, 1 capacitor, 1 resistor, 1 diode and 1 switch. It belongs with the home automation and IoT boards of this library.
A monorepo for AWS IoT experiments and hardware prototypes built around ESP32 boards, MQTT messaging, custom PCB designs, and a local dashboard for visualizing device events.
This repository contains end-to-end building blocks for connected devices:
Firmware/ - Arduino firmware for Blink, Generic, Door Sensor, GPS, and Temperature device variants.Terraform/ - Infrastructure as code for AWS IoT Things, certificates, and policies.Dashboard/ - Local dashboards built with node and express.PCB/ - KiCad projects for Blink, Door Sensor, GPS, and Temperature hardware.Case/ - Mechanical/case assets.Before starting, install:
| Tool | Purpose | Link |
|---|---|---|
| Node.js (>=18) | Dashboard backend/frontend runtime | Download |
| npm | JavaScript package manager | Download |
| Terraform | AWS IoT infrastructure provisioning | Install Guide |
| AWS CLI | AWS authentication and account setup | AWS CLI |
| Arduino IDE | Build/upload firmware | Arduino IDE |
| KiCad | Open PCB projects | KiCad |
git clone git@github.com:ImSeanConroy/iot-devices.git
cd iot-devicesaws configure).export AWS_ACCESS_KEY_ID=<your-access-key>
export AWS_SECRET_ACCESS_KEY=<your-secret-key>
export AWS_REGION=<your-region>cd Terraform
terraform init
terraform applyterraform output root_ca_url
terraform output device_client_ids
terraform output device_certificates
terraform output device_private_keysChoose a firmware target, for example:
Firmware/BlinkPublisher/BlinkPublisher.inoFirmware/BlinkSubscriber/BlinkSubscriber.inoFirmware/GenericPublisher/GenericPublisher.inoFirmware/GenericSubscriber/GenericSubscriber.inoIn the selected folder, copy secrets.h.template to secrets.h.
Update secrets.h with:
WIFI_SSID and WIFI_PASSWORDAWS_IOT_ENDPOINTCompile and upload from Arduino IDE.
The Blink dashboard lives in Dashboard/blink/.
cd Dashboard/blink/backend/src/certs
cp cert.pem.example cert.pem
cp key.pem.example key.pem
cp rootCA.pem.example rootCA.pemhttp://localhost:3000).cd ../../
npm install
npm run devhttp://localhost:5173).cd ../frontend
npm install
npm run devOpen any KiCad project in PCB/, for example:
PCB/IoT_Devices_Blink/IoT_Devices_Blink.kicad_proPCB/-IoT_Devices_Door_Sensor/PCB/-IoT_Devices_GPS/PCB/-IoT_Devices_Temperature_Sensor/Terraform currently defines devices in Terraform/main.tf.
door_sensor_publisher -> topic iot-devices/door-sensorTo enable additional roles, uncomment the corresponding entries in local.iot_devices and re-run terraform apply.
Contributions are welcome. Please open an issue or fork the repository, create a new branch (feature/your-feature-name) and submit a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for information.
If you are having problems, please let me know by raising a new issue.
This project was made possible thanks to the following resources:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Conn_01x07_Socket | Connector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_Vertical | J1, J2 |
| 1 | 1000µF | Capacitor_THT:CP_Radial_D8.0mm_P3.80mm | C1 |
| 1 | 330 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R1 |
| 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | WS2812B | Custom:WS2812D | D1 |
It measures 34.5 × 26.5 mm and has 2 copper layers, 1.6 mm thick.
6 parts, built around the WS2812B. 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 ImSeanConroy/iot-devices repository on GitHub, at the commit this page was made from: the board is PCB/IoT_Devices_Blink/IoT_Devices_Blink.kicad_pcb and its schematic PCB/IoT_Devices_Blink/IoT_Devices_Blink.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).

fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io

FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop



PrintersForAnts/Micron
If you want to purchase full kits there are 3 available (Kits are slowly updating to R1 hardware just make sure to double check the included hardware in your kit and if you have any questions reach out in the discord)


