Pinlight: I was too lazy to read a 40-page datasheet, so I built an interactive electronics tutor A developer built Pinlight, an open-source interactive electronics tutor that pairs a 3D Raspberry Pi 5 and Arduino Uno R3 board with a source-linked AI chat, after deciding not to read a 40-page datasheet. Pinlight offers five activities per board — blink an LED, read a button, mix an RGB LED, play a buzzer and move a servo — each with four guided steps, plus PDF uploads that generate lessons with local OCR for scanned pages. The tutor answers questions such as why an LED needs a resistor from lesson sources, and voice control runs through Wispr Flow dictation, Bolna replies with ElevenLabs for English or Sarvam for Hindi, and Deepgram transcription in consented sessions capped at three minutes. Pinlight: I was too lazy to read a 40-page datasheet, so I built an interactive electronics tutor This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady “Connect GPIO17 to the LED.” That sounds simple until you ask: which physical pin is GPIO17, where does ground go, and why is there a resistor in the diagram? I wanted those answers beside the board, with one small thing to do next. Pinlight is an interactive learning desk for electronics. It brings a 3D board, guided activities, a source-linked AI tutor and your progress into one workspace. Raspberry Pi 5 and Arduino Uno R3 have prepared lessons; uploaded electronics PDFs get a separate journey built around their source pages. The chat sits on the left, the board in the middle, and the lesson trail on the right. Select a component and it lights up while the rest fades back. Ask about it, follow its source, or move to the next step. You can rotate and zoom the board, show component labels, and inspect the Pi's 40-pin header. Physical positions and BCM GPIO names are shown separately, so GPIO17 does not get confused with physical pin 17. Both boards have five activities, each with four guided steps: Activity What you can try Blink an LED Change the timing and watch the signal switch on and off. Read a button Press or release the virtual button and observe its input state. Mix an RGB LED Adjust red, green and blue independently and see the resulting colour. Play a buzzer Change its pitch and timing, with sound you can turn on or mute. Move a servo Set an angle, hold a position or sweep back and forth. The preview shows the relevant pins, connections and control values. Reference code updates with your settings: Python for Raspberry Pi and an Arduino sketch for Uno. You can open it, follow highlighted lines and copy it. These are on-screen teaching previews, not measurements from connected hardware. The code highlighting illustrates the prepared program; it does not execute arbitrary Python or C++ in your browser. Ask “Why does the LED need a resistor?” and the tutor answers using the lesson's sources. You can also say “next step,” “show the pin map,” “zoom in,” “open the code,” or “make something” to control the desk. Speak enables spoken replies in the chat. Wispr Flow puts dictation into the text field, with optional auto-send. Bolna delivers the replies using ElevenLabs for English or Sarvam for Hindi. Stop dictation switches to continuous Bolna listening, where Deepgram transcribes your speech. Those requests use the same chat handler, so a spoken command can change the scene and a question can reach the tutor. Say “stop listening” to finish. Continuous sessions are consented, last up to three minutes and require the desk tab to stay open. Upload an electronics PDF and follow its progress as Pinlight reads the pages, extracts device details and builds the journey. Scanned pages can go through local OCR—text recognition for pages that are images. The workspace includes source passages, a search within each lesson, the original PDF reader, learning notes and a self-check before continuing. Where the document supports it, a device-review panel shows package variants, pin names, dimensions, electrical characteristics and missing information. Selecting a source-linked component or citation opens the original page. Known boards use their prepared models. Other documents can produce approximate package scenes from recognized information; Pinlight does not promise an accurate replica of every uploaded board. Unknown pins and missing specifications stay unknown. Suitable journeys also offer example voltage-divider or RC charging activities. You can change component values and inspect calculated outputs or a charging curve. These are separate teaching circuits, not automatic simulations of the uploaded device. SerpApi adds manufacturer-reference search. Its results remain links to inspect, rather than becoming accepted device facts automatically. Sign in with Auth0 to keep board-specific chats, uploaded PDFs, journey notes and progress in My desk. Items are grouped into boards, chips, modules and other documents, with their own conversations. You can reopen or remove saved items and chats. Supabase stores the signed-in learning data and private PDFs. Ownership checks keep saved material scoped to the right account. Prepared lessons remain available without signing in. Try it: pinlight.afreenorbit.tech/learn A quick route: explore the Pi's pin map, open Blink an LED, change its timing, ask why the resistor is there, then switch to Arduino or upload a PDF. Sign in to revisit your chat and progress later. The API may take a moment to wake up after being idle. / pinlight Pinlight Understand the board. Follow the connection. See what changes. Pinlight turns electronics PDFs into source-linked learning journeys, alongside prepared Raspberry Pi 5 and Arduino Uno R3 lessons. It brings a selectable 3D board, guided circuit activities, reference code, a source-linked AI tutor and a consent-gated voice tutor into one workspace. Built for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady. Explore Pinlight Why it matters A beginner's first circuit can mean switching between a datasheet, a pinout, wiring instructions and a code example. Pinlight keeps those pieces together: select a part, inspect its pins, follow a connection and ask why it works. The goal is to make starting electronics more approachable and let learners spend their effort understanding the circuit. Today, the catalogue includes 2 boards, 5 experiment types per board and 20 guided experiment steps per board. The Pi has 18 selectable board stops… View on GitHub The tutor uses Mastra with openai/gpt-oss-120b, an open-weight model served through Groq. The open model handles questions; prepared lessons and small command handlers keep navigation predictable. When you ask a question: The server gathers the current board, lesson, selected part and source excerpts. Mastra asks the model for an answer, its source references and an optional component to focus. Pinlight checks that those references and component names exist in the lesson. The desk displays the explanation, links its sources and focuses the relevant part. Those checks catch invalid references and targets; they cannot prove every sentence correct. If the model is unavailable, a labelled local guide can answer from prepared material. Tool Role React + Vite The interface, chat, controls and account pages. Three.js + Hugeicons The 3D scenes and the interface icons. Node.js + SQLite The API, document records, processing jobs and cached results. Mastra + gpt-oss-120b on Groq The open-model tutor and its structured answers. PDF.js + Tesseract.js Reading PDF text, displaying source pages and recognizing text in scans. Auth0 + Supabase Sign-in, private file storage, saved chats and progress. Wispr Flow Desktop dictation into the focused chat input. Bolna + Deepgram Browser voice sessions and continuous speech transcription. ElevenLabs + Sarvam English and Hindi speech, respectively, through Bolna. SerpApi Manufacturer-reference search. Vercel + Render Hosting the frontend and API, respectively. Groq hosts model inference. .tech domain The public desk and API addresses. Supporting tools include Zod for data checks, jose for verifying sign-in tokens, and @napi-rs/canvas for rendering PDF pages on the server. Node's test runner checks workflows; pdf-lib creates PDF test fixtures, and pg supports database migrations. Docling is an optional local table-reading worker. Groq-assisted PDF extraction is also optional and can use selected page images when a vision model is configured. The local extraction path remains available. Wispr works through its desktop app; Pinlight does not embed a Wispr recognition API. PDF processing has a few practical safeguards: file and page limits, duplicate detection, a queue with visible stages, saved results and checks against the source. Search results are cached. Provider keys stay on the server, and requests that spend credits are limited. I want teachers and learners to be able to adapt the experience: change the lessons, inspect how answers are assembled, or try another model. Mastra makes the tutor workflow inspectable. An open-weight model leaves room to change inference providers or investigate self-hosting on suitable hardware. PDF.js, Tesseract and Three.js provide open building blocks for reading documents and explaining them visually. That flexibility matters for learners working with limited equipment and moving between Hindi and English. It gives the project room to adapt its cost, language and teaching approach. Pinlight currently uses hosted inference, which has costs and needs internet access. Local OCR keeps that reading step on the API server; it does not make the whole app offline. A beginner should be able to point to the right pin, explain why the resistor is there, and predict what changing a control will do. Pinlight puts the diagram, explanation, example code and next step together to support that process. Voice could also reduce trips back to the mouse when someone's hands are occupied with a breadboard. A teacher could reuse the same guided trail instead of rebuilding an explanation for each learner. I have not measured learning improvement or time saved yet. My first learner test will ask beginners to identify a pin, explain the resistor and predict LED timing, then record accuracy, completion time and their explanations. Those results will be more useful than an invented percentage. These are planned extensions: Camera lessons: identify a compatible camera and connector, follow setup, capture a first image and explore basic image processing. An optional camera view for discussing a physical setup would need consent and clear limits on what an image can establish. A small rover: combine a controller, motor driver, power source and sensor through short lessons. Start with an on-screen preview, then test physical hardware before offering deployment. More experiments: analogue sensors, motor-speed control and simple I²C/SPI peripherals, each with board-specific wiring, sources and reference code. Better learning checks: ask learners to predict, observe and explain, then test the lessons with beginners. I also want a clearer contribution format for adding board packages. The next step is to verify the current activities on hardware and with learners, then build toward those larger projects. For Slow and Steady, I wanted to automate the repeated work around learning: finding the relevant passage, matching it to a visible part, locating an example and recovering your place. Open the LED trail, follow the highlighted connection, ask your question and try a change. The learner still does the thinking; Pinlight keeps the supporting material within reach. Best Use of Mastra: an open-source agent framework runs the tutor over an open-weight model, with source and component checks. Best Use of Render: the live API runs the tutor workflow, document processing, reference search and voice bridge. Best Use of Auth0 for AI Agents: sign-in connects the learning assistant to each user's private saved desk and documents. Best Use of SerpApi: manufacturer-reference search helps learners find further documentation. Best Use of ElevenLabs: English replies give the tutor a voice through Bolna; Hindi uses Sarvam. Best Use of a .tech Domain: the desk is live at pinlight.afreenorbit.tech, with its API at api.afreenorbit.tech. Raspberry Pi and Arduino names belong to their owners. Pinlight is not affiliated with either organization. Key Takeaways - •Pinlight is an interactive learning desk for electronics. - •This story was reported by Dev.to , covering developments in the dev space. - •AI advancements continue to reshape industries — read the full article on Dev.to for complete coverage. 📖 Continue reading the full article: Read Full Article on Dev.to → https://dev.to/afreenorbit/pinlight-i-was-too-lazy-to-read-a-40-page-datasheet-so-i-built-an-interactive-electronics-tutor-46ff