
OSO BOOK C1
joeycastillo/The-Open-Book
For details on how to build, test and use Open Book, I've made documentation available here.

CameraAI PCB is an open-source printed circuit board by bnigg17, from the bnigg17/ProjectObelisk repository on GitHub. It is a 2-layer board of 106 × 55.5 mm with 38 parts on 114 nets, routed with 564 tracks and 77 vias.
Its parts include 24 capacitors, 8 connectors, 3 resistors, 2 switches and 1 IC. It belongs with the STM32 boards of this library.
Project Obelisk aimed to recreate and enhance the traditional key tag unlocking systems widely used for business security. Our approach replaces the physical key tag with a "custom key" powered by image recognition via artificial intelligence. The "custom key" can be any object that can be uniquely recognized, such as the back of your phone, a rubber duck, or even an apple. The system allows users to dynamically train and store custom keys, which are then used to activate a connected device, such as a servo motor. In our prototype, this servo motor simulates a door lock mechanism, showcasing the concept's functionality.
This project was developed over the course of 10 weeks for the Advanced Digital Systems Lab (ECE395) at UIUC. It involved the creation of a hardware-based system, where my partner and I individually or collaboratively explored the complexities of embedded systems, hardware design, and artificial intelligence. Our journey was marked by numerous challenges that required extensive research, documentation reading, and hands-on troubleshooting, pushing our knowledge and skills in electrical and embedded systems design to new limits.
Project Obelisk is the main undertaking, designed as an all-in-one solution that integrates image processing, AI for object recognition, and a control loop to manage the servo motor and LED indicators. This system seamlessly ties together hardware and software components, allowing for dynamic key recognition and an output signal to trigger external devices.
The Arduino/Raspberry Pi subproject was designed as a testing environment for simpler systems and to verify our concept before moving to low-level C implementation. This step involved experimenting with synchronization signals, image array padding, and baud rate requirements for camera debugging. Using the Arduino/Raspberry Pi setup allowed us to handle some of the image processing off the primary microcontroller, providing valuable insights into data flow, timing, and system behavior.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 19 | 100nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C4, C5, C6, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 +3 |
| 3 | 2.2uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C22, C23, C24 |
| 2 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R3 |
| 2 | SW_Push | Button_Switch_SMD:Nidec_Copal_SH-7010A | SW1, SW2 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3 |
| 1 | 4.7uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2 |
| 1 | 47 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2 |
| 1 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J5 |
| 1 | Conn_01x03_Pin | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J7 |
| 1 | Conn_01x08_Pin | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J8 |
| 1 | OV7670_CONNECTOR | Connector_PinHeader_2.54mm:PinHeader_2x09_P2.54mm_Horizontal | J1 |
| 1 | SD_CARD_CONN | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J4 |
| 1 | STM32H7A3ZITxQ | Package_QFP:LQFP-144_20x20mm_P0.5mm | U1 |
| 1 | ST_LINK_CONNECTOR | Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_Vertical | J3 |
| 1 | UART | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J6 |
| 1 | USB_A | Connector_USB:USB3_A_Molex_48393-001 | J2 |
It measures 106 × 55.5 mm and has 2 copper layers, 1.6 mm thick.
38 parts. 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 bnigg17/ProjectObelisk repository on GitHub, at the commit this page was made from: the board is PCB/CameraAI_PCB.kicad_pcb and its schematic PCB/CameraAI_PCB.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 bnigg17 before reusing the design.

joeycastillo/The-Open-Book
For details on how to build, test and use Open Book, I've made documentation available here.


hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!


Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)

CRImier/MyKiCad
My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

