Microcontrollers NOT ALLOWED
(Or how to subtly troll your college instructor)
By PodeCoet - Uploaded Thursday, December 25th 2014 @ 23:47:18 ADST


If you attempt this project, your classmates will think you're a nerd. You'll likely wind up getting your head flushed and/or balls greased.


A friend and I enrolled ourselves into College a couple of years ago, with the ultimate aim of obtaining an Advanced Diploma in Electronics and Communications. Our study path starts at Certificate III, ultimately progressing through to Certificate IV, Diploma, then Advanced diploma.

One of our core subjects in Certificate III was Digital Sub-Systems, which is essentially Digital Electronics 101 - In this class we mainly covered basic Logic gates, and how to chain and assemble various gates to perform more complex tasks (for example, gate-based de-bouncers, shift registers, latches, and so on)

Our final project was a classic 'Up Counter' circuit, based on a 74LS193 BCD counter, which was to be built onto a bread board. Extra marks could be obtained by including a 'count down' function, reset, a second display, and so on.

One of the students asked the instructor if he could submit the project on an Arduino instead of a bread board, to which he received a stern but amusing NO.

I figured it'd be fun to mess with the instructor's sanity by hiding a microcontroller inside one of the logic chips, and having it briefly flash (occasionally vulgar) messages onto the seven segment display when left idle

UPDATE 01/01/15:

Many of you have asked - While I received full marks for the project, the hack was unfortunately not discovered. On the up-side I got away with it, despite slightly messing up the displayed segments for the numbers 6, 7 and 9

We are currently on Summer holidays until the 26th of January - I've emailed a link to this page to the campus, and will post an update if I get a response (assumingit still exists by then, thanks Tony   Maggot   Abbott!)

UPDATE 02/01/15:

Got an out-of-the-blue response moments ago, "Thanks for the info and all the best" - absolutely no fucks given.

Code posted due to complaints about not posting code

tl;dr / How it works

We'll be physically removing the 'core' of an SN74LS47N display driver, and replacing it with a PIC16F1503 microcontroller.

The PIC firmware will emulate the functions of the original SN74LS47N, and also mess with the instructor's sanity by briefly flashing messages onto the display when left idle.

Schematics, Datasheets, etc.

All designs are provided as freeware for non-commercial use

[Download]   Schematic Diagram
[Download]   Microcontroller pin assignments
[Download]   Datasheet - SA555P Timer IC
[Download]   Datasheet - SN74LS14N Hex Schmitt Trigger Inverter
[Download]   Datasheet - SN74HC08N Quad 2-Input AND gate
[Download]   Datasheet - SN74LS193 4-Bit BCD up/down counter
[Download]   Datasheet - SN74LS47N BCD to 7-SEG decoder/driver
[Download]   Datasheet - PIC16F1503 microcontroller
[Download]   Firmware - Rev A (binary) *
[Download]   Firmware - Rev A (source) **

* Rev A firmware displays 'HELLO', 'PENIS', 'ASS', 'BALLS' and 'POOP' after approximately 20 idle seconds.

** The code is exceptionally shitty, inefficient, uses ints instead of chars on occasion, "LOL he's using 8 bits to store 1 bit of data", etc etc.

Final Notes

If you're asking yourself why there's so much silicon for such a simple design (ie: unnecessary/redundant parts), all parts handed to us had to be used in some way.

I was lazy, so everything became a debouncer. Realistically using the 555 timer for auto-increment/decrement would've been awesome

Let's get started!


Ensure you start with a super-clean and sterile workbench

Arrow Down

Prepare your   anus   SN74LS47N chip

Arrow Down

Place it into a vice-grip (or a plain vice, but vice-grips are preferred)

Arrow Down

Carefully use a routing bit to route a cavity into the chip

Arrow Down

Keep routing until you get a nice rectangular cavity happening.

Arrow Down

Looking good! We just need to go a little deeper so that our hack is hidden

Arrow Down


Arrow Down

It's okay, we've only killed three so far.

Arrow Down

Fourth time lucky.

Arrow Down

Prepare the microcontroller

Arrow Down

Flip it upside-down, and start bending the pins as shown

Arrow Down

This is how it'll look with all the pins fully bent

Arrow Down

Apply some adhesive, and insert the microcontroller into the cavity (so that Pin 1 aligns with the 74LS47's notch)

Arrow Down

Wrap the pins in Polyimide tape - this will prevent the solder form 'wicking up' and foiling our plot (we need it to look factory stock at first glance)

Arrow Down

Post-mask shot, you only need one layer of polyimide, ensure it's stuck firmly onto all of the pins

Arrow Down

Use a sharp blade to slit the mask between the pins, this will make both removal and soldering much easier

Arrow Down

We're now ready to start soldering!

Arrow Down

Lightly tin the pins of the micro-controller

Arrow Down

...And also tin the the SN74LS47 pins (lightly!)

Arrow Down

Remove the sheath of some fine hook-up wire

Arrow Down

Pile the wire (within reach) onto your filthy bench

Arrow Down

Squirt some paste flux onto something disposable

Arrow Down

Dip the end of a wire into the flux

Arrow Down

Solder said wire onto one of the IC pins

Arrow Down

Carefully use a pair of tweezers to form the wire, and solder it in place

Arrow Down

Halfway there, you can use bits of Polyimide to insulate wires from one-another

Arrow Down

Wiring is completed, lots more Polyimide than expected

Arrow Down

Use tweezers to remove the Polyimide from each pin

Arrow Down

How it looks with all Polyimide removed

Arrow Down

How it looks on the bread board (almost stock!)

Arrow Down

How it looks in-circuit

Arrow Down

The completed circuit

Stay safe!

Click here to get in-touch or check out my other write-ups