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


WARNING

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.


Background

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!

1_Bench.jpg

Ensure you start with a super-clean and sterile workbench

Arrow Down
3_Chip.jpg

Prepare your   anus   SN74LS47N chip

Arrow Down
4_Grip.jpg

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

Arrow Down
5_StartRoute.jpg

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

Arrow Down
6_MidRoute.jpg

Keep routing until you get a nice rectangular cavity happening.

Arrow Down
7_EndRoute.jpg

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

Arrow Down
8_FRIGGEN_DAMNIT.jpg

FUCK.

Arrow Down
9_Aftermath.jpg

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

Arrow Down
10_FullyRouted.jpg

Fourth time lucky.

Arrow Down
11_microcontroller.jpg

Prepare the microcontroller

Arrow Down
12_micropartiallyBent.jpg

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

Arrow Down
13_microFullyBent.jpg

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

Arrow Down
14_testFit.jpg

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

Arrow Down
15_partMask.jpg

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
16_fullMask.jpg

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

Arrow Down
16_slitMask.jpg

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

Arrow Down
18_preppedForSoldering.jpg

We're now ready to start soldering!

Arrow Down
19_soicTinning.jpg

Lightly tin the pins of the micro-controller

Arrow Down
20_dipTinning.jpg

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

Arrow Down
21_stripWire.jpg

Remove the sheath of some fine hook-up wire

Arrow Down
22_wireStripped.jpg

Pile the wire (within reach) onto your filthy bench

Arrow Down
23_prepareFlux.jpg

Squirt some paste flux onto something disposable

Arrow Down
24_dipFlux.jpg

Dip the end of a wire into the flux

Arrow Down
25_attachWire.jpg

Solder said wire onto one of the IC pins

Arrow Down
26_formWire.jpg

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

Arrow Down
27_moreWiring.jpg

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

Arrow Down
28_wiringDone.jpg

Wiring is completed, lots more Polyimide than expected

Arrow Down
29_unmasking.jpg

Use tweezers to remove the Polyimide from each pin

Arrow Down
30_completed.jpg

How it looks with all Polyimide removed

Arrow Down
31_installDemo.jpg

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

Arrow Down
32_inCircuit.jpg

How it looks in-circuit

Arrow Down
33_done.jpg

The completed circuit



Stay safe!

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