Close
0%
0%

The FUnicorn

Tell someone off in the most beautiful and majestic way

Similar projects worth following
Ever had one of those days where you have one special message for anyone bugging you? Well, we have the answer. Just touch the Unicorn.

The FUnicorn (we pronounce it "eff - unicorn") is an Arduino-compatible board designed both for laughs, and to teach a beginner a little bit about electronics and programming. 120 LEDs spell out the words "F@#! You" in glorious cursive, making it incognito for little ones because no one's teaching that shit in school anymore. The FUnicorn ships with a cardboard stand, an acrylic shield to hide the LEDs until lit, a USB cable, and capacitive touch code that cycles through 5 blinking patterns. Just touch the Unicorn to light up the message!

You can add on a Big Red Button, because who doesn't love mashing one of those? This enables the Unicorn to be battery-powered as it can sleep between button presses, while the capacitive touch code needs to be continuously powered.

Add more functions with an Arduino shield

Now on Tindie!

The original prototype was a gag gift for a white elephant gift exchange.  We loved it so much that we decided to revise it a few times, make it Arduino-compatible, and release our potty-mouthed unicorns out into the wild. 

Base Kit:

  • FUnicorn Board
  • Cardboard stand
  • Smoked acrylic LED shield
  • Beautiful rainbow USB cable
  • Stickers

Full Kit:

  • All of the above
  • Big Red Button (60mm arcade)
  • Cable for button
  • Big Red Button Box
  • Sticker sheet with cutout templates and History Eraser decals
  • Screws and a grommet in case you want to 3D print our Big Red Button Enclosure
  • 9V battery
  • 9V battery cable
  • Arduino shield and ISP headers
  • FUnicorn magnet and more stickers

Software:

  • available through the Arduino IDE
  • on GitHub under Alpenglow Industries

What else can you do with it?  Well, you can't change the message, those LEDs are all soldered in place.  But you can change the blinking pattern to your heart's content.  Make more patterns, make the sequence random, make a pattern trigger off a certain number of button presses or by holding the button down for a certain length of time.  There's also a resistive touch "button" option if you short the unicorn's leg to its hoof, check out our GitHub repo for the demo code.

With the Arduino shield pattern on the back, you can also make it trigger off of just about anything imaginable.  

  • add an ultrasonic distance sensor and make a Social Distance Unicorn that goes off if anything comes within 6 feet
  • add a Raspberry Pi and Google AI Voice kit and make it voice-activated.  Because nothing is as satisfying as saying "Hey Google, F@#! You!"
  • add a microphone input so that ANY noise will set it off
  • add a motion sensor and put it in a window near your front door to tell off visitors
  • add a thermistor to let people know how much you hate working in an unairconditioned office in the summer

We want to see all of your FUnicorn hacks!  Show us on instagram, and tag us @alpenglowind with #funicorn

AlpInd-FUN-0001-Rev1.pdf

FUnicorn datasheet - instructions in a single file

Adobe Portable Document Format - 1.20 MB - 11/25/2020 at 23:19

Preview

FUnicornRevCPCBBOM.csv

FUnicorn Bill of Materials

ms-excel - 3.32 kB - 11/23/2020 at 19:35

Download

FUnicornRevCSchematic.pdf

The guts of the FUnicorn

Adobe Portable Document Format - 1.36 MB - 11/23/2020 at 19:14

Preview

FUnicornRevCAssembly.PDF

Zoomed view of PCB with bottom reference designators shown

Adobe Portable Document Format - 997.91 kB - 11/23/2020 at 19:14

Preview

  • Voice-Activated FUnicorn with Google AIY Voice Kit & RPi

    Alpenglow Industries03/10/2021 at 22:59 0 comments

    That's riiiiight!  Your favorite potty-mouthed horned pony can now be VOICE ACTIVATED!  We've put together a python script that works with a Raspberry Pi and a Google AIY Voice Kit, and only needs you to hook up 2 jumper wires between the Pi and the FUnicorn.  No soldering needed!  

    Here's our repo on Github, it's forked from the Google AIY Projects repo.  NOTE!  When cloning the repo, the first thing you should do is check out the <aiyprojects> branch!  Google discontinued the default "master" branch at some point and it is old.

    Hardware Setup:

    • Google AIY Voice Hat Servo 0 left pin (GPIO26) to Alpenglow FUnicorn button connector pin 3
    • Google AIY Voice Hat Servo 0 right pin (GND) to Alpenglow FUnicorn button connector pin 4

    Changes and Additions:

    • cloudspeech.py was updated according to description in issue 716.
    • demo python scripts for the FUnicorn added to src/examples/voice

    We wanted full functionality of the Google Assistant with the option to use the wake word. We also wanted the Google Assistant to control the Raspberry Pi output and use a custom phrase to activate the FUnicorn.

    Examples:

    • funicorn_demo_wassistant.py has full Google Assistant functionality and is commanded via the wake word (OK Google or Hey Google), and outputs a "button press" to the FUnicorn when "fuck you" is uttered. It also says "No, Fuck You" in a most excellent obviously computer-generated voice. This would be a good script to modify and use with your own custom hardware.
    • funicorn_demo_alwayslistening.py is solely a cloud speech to text demo that is always listening and interpreting. There is no Google Assistant functionality.

  • Social Distance FUnicorn

    Alpenglow Industries03/10/2021 at 22:22 0 comments

    A while back we had a little bit of Socially Distant FUnicorn fun.  We grabbed this $4 HC-SR04 ultrasonic distance sensor from adafruit, added it to the FUnicorn, and made our own little warning for anyone getting within 6 ft.

    If you'd like to make your own Social Distance Unicorn, example code is now part of the FUnicorn Arduino library on GitHub - it's also installable & updatable through the Arduino IDE.  Instructions for adding libraries to Arduino are on this project's page under "instructions".

    • For distance sensor operation: Connect following wires from sensor to FUnicorn, GND to GND, ECHO to pin13, TRIG to pin12, VCC to 3.3V.

    Here's a short video on how to hook up the distance sensor to the FUnicorn:

  • FUnicorn_Button Code

    Alpenglow Industries07/13/2020 at 02:07 0 comments

    placeholder

  • How it Works - the FUnicorn Schematic

    Alpenglow Industries07/13/2020 at 02:06 0 comments

    placeholder

View all 4 project logs

  • 1
    SET UP THE UNICORN: The Base Kit
    1. Unpack the components from the box.  You'll have the FUnicorn board, 3 cardboard stand pieces, an LED shield, and a rainbow USB cable.
    2. Slide the 3 cardboard pieces together to make the stand
    3. Set the FUnicorn board on the stand
    4. Peel the protective cover from the LED shield
    5. Set the LED shield on the stand, over the LEDs
    6. Plug in the USB cable to a charger or computer port
    7. Wait for the unicorn's horn to pulse

    8. Touch the unicorn!

  • 2
    SET UP THE UNICORN: The Full Kit:
    1. Unpack the components from the box.  You'll have everything above plus a Big Red Button Kit, a 9V battery and cable, and Arduino Shield and ISP headers.
    2. Set up the FUnicorn as in the Base Kit instructions
    3. Assemble the Big Red Button Kit per its instructions
    4. Plug the Big Red Button into the FUnicorn board 
    5. Now you can activate the message by either touching the Unicorn or pressing the Big Red Button.
    6. If you want to run the Unicorn off of battery power, unplug the USB cable and plug in the 9V battery (cable included). 
  • 3
    (OPTIONAL) USING THE ARDUINO IDE TO REPROGRAM THE FUNICORN:

    There are several steps to get the Arduino IDE downloaded and set up to work with your new FUnicorn board the first time.  You won’t have to repeat them all every time!

    1. Download the Arduino IDE software from www.arduino.cc and install it on your computer.
    2. Open the Arduino IDE
    3. Add the Alpenglow Industries Boards Manager url to Preferences:
    4. Add Alpenglow Industries boards to Arduino
      • Go to Tools 🡪 Board 🡪 Boards Manager

        (It does not matter what board is currently selected under Board: “BoardName”)

      • Search for "alpenglow" in the search bar
      • Click Install for Alpenglow AVR Boards
    5. Add the FUnicorn library to Arduino
      • Add through Library Manager
        • This is the preferred method since you’ll automatically receive updates
        • Go to Sketch 🡪 Include Library 🡪 Manage Libraries
        • Type "alpenglow" into the search bar
        • Install Alpenglow FUnicorn
      • Add through Add .ZIP Library
        • Go to https://github.com/AlpenglowInd/FUnicorn
        • Click Code 🡪 Download ZIP
        • Go to Sketch 🡪 Include Library 🡪 Add .ZIP Library.
        • Select the .zip folder you just downloaded

          You’re done with the once-only steps!
          The following steps you’ll need to either do or confirm whenever you want to load new code on your FUnicorn.
    6. Loading the Code:
      • Plug in the FUnicorn to a USB port on your computer.  USB drivers should automatically load if it’s the first time you’ve plugged it into that USB port.
      • Go to File --> Examples
      • Under "Examples from Custom Libraries" select Alpenglow FUnicorn
      • Choose the example you'd like to load!
    7. Code Examples:
      • FUnicorn_ShipCode = the default code shipped with the unicorn, the message is activated via either capacitive touch or by pressing a button.  Pressing and holding the button for the duration of a blinking cycle puts it into low-power button-only mode.
      • FUnicorn_CapTouch = capactive touch only code.  
      • FUnicorn_Button = low power button-only mode, good for battery power.
      • FUnicorn_ResTouch = sets up the leg and hoof as a resistive touch "button" if you touch them both together.  Generally requires a moist finger.  Maybe not the best for COVID times.
    8. Send the code to the FUnicorn
      • Go to Tools --> Board and under "Alpenglow AVR Boards" select "Alpenglow FUnicorn"
      • Go to Tools --> Port and select the COM port number of your Alpenglow FUnicorn.  Make sure the correct one is selected – you may have several on your computer!
      • Click the "-->" button in the toolbar
      • When a "Done Uploading" message appears, the code is loaded!
      • COM port drivers can sometimes crash.  If your COM port isn’t showing up, unplug the FUnicorn, restart Arduino, look at the list of COM ports under Tools 🡪 Port and write down the numbers.  Click out of Tools 🡪 Port, then plug in the FUnicorn.  Go back to Tools 🡪 Port, and the new FUnicorn COM port should be on the list.  Select it.  Click the 🡪 button on the toolbar again.
      • Also note that your FUnicorn may show up as different COM port numbers when plugged into different USB ports on your computer.
    9. If you’re new to Arduino, there are many tutorials on www.arduino.cc that take you through writing and modifying code, what Sketches are, what .ino files are, and what the setup() and loop() sections are, how to use libraries, and what basic C syntax looks like.

View all 3 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates