Magic 8-Badge

$25.00

An Open Source CircuitPython-compatible PCB badge that can (maybe) tell the future!

Out of stock

SKU: BADGE-MAGIC8-V1
Category:

Description

“As I see it, yes” you should check this out!

Note: The v1 version of the Magic 8-Badge is retired and will not be produced again. A v2 version is in the works and will fix some of the issues with the v1 version, however! Keep an eye out here at CrumpSpace, or sign up for an email notification for when v2 is available!

The Magic 8-Badge is a custom-built fully open-source electronic badge that was originally built for the PhreakNIC 2024 technology conference in Murfreesboro, TN. Give it a shake and answer your burning questions! If you don’t like the answers, plug it into a computer and directly edit the CircuitPython script to give you something better!

Some highlighted features:

  • Powered by the Raspberry Pi RP2040 microcontroller
  • Beautiful round full-color LCD with LED backlight
  • USB-C charging and CircuitPython script editing
  • 1500 mAh circuit-protected lithium-ion battery
  • 6 degree-of-freedom IMU with accelerometer and gyroscope
  • Mechanical shake switch with a satisfying clacky noise
  • Ambient light sensor for automatic backlight control
  • 6 capacitive touchpads arranged in a game controller pattern
  • 16MB flash storage for CircuitPython scripts, libraries, and other files
  • Automatic power-path control that allows running with or without a battery
  • 2 SAO power-only headers for add-ons (some soldering required)
  • Built-in lanyard slot (wouldn’t be much of a badge without it!)

The initial CircuitPython script has a few example tools that exercise the various hardware components like the IMU, touchpads, and LCD screen.

Documentation and Source Files

As mentioned, the Magic 8-Badge is fully open-source, hardware and software! Check out the code, schematics, and PCB design files on GitHub.

Known Issues

There are a few known issues with the v1 version of the Magic 8-Badge.

  • The QMC6308 magnetometer chip (U9) has been removed from all v1 boards because the power and ground connections are reversed. If the chip is placed, the board will fail to start, effectively shorting the 3v3 power rail. Don’t do this!
  • There are no external pullups on the I2C lines connected to the QMI8658C accelerometer/gyroscope chip (U7). CircuitPython doesn’t currently support setting internal pullup resistors for I2C pins, and the internal pullup resistors on the RP2040 are technically out of spec for I2C communications (50-80kohms). The patch to the CircuitPython core described above manually enables the internal pullup resistors, and I’ve not seen any issues reading from the QMI8658C with those. I’m going to try to submit a pull request to allow compile-time enabling of these internal resistors so that a custom build of CircuitPython is no longer neccessary. If you want to try a different version of CircuitPython that doesn’t include that patch, no harm will be done, but CircuitPython will throw an error when trying to connect to the QMI8658C.
  • There is no low-voltage cut-off for the Li-ion battery used for the Magic 8-Badge. The battery selected does offer low-voltage protection to keep the battery from discharging to dangerous levels, but the threshold voltage is lower than I would have liked. I recommend disconnecting the Li-ion battery if it is not going to be used in order preserve the capacity and health of the battery.