Inspiration
Finding a place to sit in a crowded dining hall is frustrating. Students walk around with plates of food, unsure if tables are free, and it’s hard to coordinate with friends. We wanted to solve this everyday problem with a simple, low-cost system that makes dining more efficient and social.
What it does
Byte-In is a smart table management system for dining halls. Each table has a compact RFID-enabled device with LED indicators. Students tap to “check in,” and the LED shows if the table is free or taken. The web app updates in real time, displaying table availability and allowing administrators to configure and manage the system.
How we built it
Hardware: We have a Raspberry Pi Pico W running MicroPython as the main controller. It is connected to a pn532 NFC/RFID reader. This way, the configuration tag can be used to set all necessary values for the device, such as wifi password, api key, etc. This also allows the device to track who is registered for the table since each ID card has a unique identifier. This way, people can be prevented from reserving multiple tables or taking the reservation of someone else. A button is used to cancel the reservation at the end, and LEDs display the state of the device throughout.
Software: The frontend was built with vanilla HTML, CSS, and JavaScript, which is hosted with Google Firebase. The backend comprises of a Firestore database that enables real-time updates and an API endpoint built with Firebase Cloud Functions for the devices to update their status. The api is built with NodeJS and syncs data to the database, which the web page will automatically update with. In addition to displaying the state of each table, the website offers several administrative features, including configuration options for various system parameters and a custom map builder.
Design: The design was largely limited by the hardware we had at our disposal. The NFC/RFID reader in particular is quite large, which drives the size of the final product. The casing is 3D-printed, which provides an effective solution for the time period of the competition.
Challenges we ran into
- All logic on the RPi is at the 3.3V level, while the Neopixel LED ring we used works best at a 5V logic level. We solved this, but were somewhat limited in our control of the LEDs due to the hardware we had accessible.
- Communication with the NFC card reader was difficult, mostly due to a lack of library support for our specific combination of hardware, but we were able to make it work in the end.
- Implementing a finite state machine to handle device states provided somewhat of a software challenge.
- Configuring the API to support all possible device state combinations and ensure that all users have the correct permissions enabled was somewhat difficult.
- Creating a user-friendly interface to customize layouts for each dining location provided a challenge as well.
Accomplishments that we're proud of
We built a fully working prototype where the simple tap of an RFID-based ID card updates both the LED on the device and the live web app. We designed a relatively compact, low-cost solution that can scale to hundreds of tables. We created both a student-facing experience (real-time table map) and an admin-facing management tool. Within the time and resource constraints of the hackathon, we developed a product and all the necessary components to support it. It is not simply a few disconnected ideas, but a fully thought-through system that can be configured and personalized to each use case.
What we learned
- How to program and network the Raspberry Pi Pico W with MicroPython.
- Integrating hardware, backend APIs, and a frontend dashboard into a seamless system.
- Plan for redundancy when working with hardware.
What's next for Byte-In
-Configuration: Enable phone-based setup without requiring an external NFC tag.
- Custom PCB: Consolidate components into one board for durability and robustness.
- Packaging: Design a smaller, sleeker casing for a more attractive and less obtrusive final product.
- Battery: Move beyond external USB banks to a dedicated, rechargeable, and efficient power solution.
- Scaling: Pilot the system in real dining halls and integrate with existing campus dining apps.
Built With
- css
- firebase
- html
- javascript
- micropython
- node.js
- raspberry-pi

Log in or sign up for Devpost to join the conversation.