MuHack Badge
From MuHack
Jump to navigationJump to search
Project: MuHack Badge | |
---|---|
![]() | |
Status | Active |
Participants | Mrmoddom |
Last Update | 2025-05-07 |
MuHack Badge
The MuHack Badge is the official badge of the MuHack hackerspace, designed for learning, hacking, and experimenting with embedded systems. It features a combination of microcontrollers, sensors, and connectivity options, making it a versatile platform for various projects.
Features
- RP2040 MCU: Serves as the main microcontroller, running MicroPython. It controls LEDs, buttons, buzzer, and communicates with sensors.
- ESP32 MCU: Optional co-processor providing Wi-Fi and Bluetooth connectivity.
- BHI160B Sensor Hub: A 6-axis sensor hub with a 3-axis gyroscope and a 3-axis accelerometer, capable of gesture detection and orientation sensing.
- 14 WS2812B RGB LEDs: Individually addressable LEDs for visual feedback and effects.
- USB, I2C, and UART Interfaces: For communication and expansion.
- Two Buttons and One Buzzer: For user interaction.
- NFC Subsystem: Allows data storage and communication with other devices via I2C.
BHI160B Sensor Hub
The BHI160B integrates a 3-axis gyroscope and a 3-axis accelerometer, providing fused data outputs like quaternions and rotation matrices. It can detect gestures and determine the board's orientation. Connected to the RP2040 via I2C, it streams data from the gyroscope and accelerometer.
System Architecture
The board comprises three main subsystems:
- RP2040: Controls hardware components and communicates with sensors and NFC.
- ESP32: Optional module for wireless connectivity.
- BHI160B: Manages motion sensing and can interface with additional sensors like the BMM150 magnetometer.
Getting Started
- Install MicroPython: Since the RP2040 is similar to the Raspberry Pi Pico, use the official MicroPython firmware from micropython.org.
- Upload BOSS System: Copy all files from the
Software/BOSS/
folder of the MuHack Badge repository to the board. Ensure theBHY
folder is also copied, as it contains the BHI160B driver. - Interact with the Badge: Use a serial terminal (e.g., screen, minicom, PuTTY) to connect and interact with the BOSS system or run example applications.
Changelog
Version 2
- Added USB connector for the ESP32.
- Integrated NFC subsystem.
- Reworked the power system.
- Added LEDs for battery status and ESP32.
- Included a button for the ESP32.
- Ongoing firmware updates for improved BHI support.
Version 1
- Initial release.
TODOs
Connect the interrupt line of BHI to the RP2040.Invert TX/RX of UART between ESP32 and RP2040.Modify the ESP32 debug port footprint.Possibly add buttons for boot selection and reset for the ESP32.Improve silkscreen text size and labeling.Expose BHI's internal I2C and interrupt lines for future sensors.Adjust I2C pull-up resistor placement.Add polarity indicators for LEDs and diodes.Remove or replace the power inductor.- Enhance documentation and code comments.
Remove the D16 Schottky Diode from the battery line.Add capacitors to prevent brown-out when disconnecting USB power.- Implement a method in the BHY library to stop all sensors.
Consider adding an NFC tag.
License
This project is licensed under the AGPL-3.0 License.
Links
Credits
Special thanks to @gcammisa and Paolino for their contributions.