Pulse Sensing Faceted Heart Lamp




About: Living the maker's life

First thoughts of making something similar came more than a year ago, when I couldn't decide what kind of birthday gift to make for my twin friends studying medicine. I hope that they will not see this ahead of time though, since the birthday is only in the beginning of December (gifted it already - see end of step for update).

I've almost forgotten the idea since last year when I went for a different gift, but since birthdays tend to occur yearly my mind once again stopped at this idea and the solutions arranged themselves rather nicely this time. It might be because I got myself into electronics and programming earlier this year in a way some would say was completely nuts - I set out to make my first Arduino-electronics project for my master thesis project. Probably the best choice I've made this year.

The main reason I'm telling this is to remind those of you who are reading this or any other 'ible and thinking "Oh, that's cool, but I don't know how to program an Arduino or use Pepakura" or something along the lines not to be intimidated. Just decide that you want it and find solutions along the way.

Special thanks to Robb for this instructable - it allowed me to put the video here and make it loop (if the looping is annoying - let me know, I'll remove it). Sorry about the potato quality, my almost a decade old camera is ok for pictures as long as I shoot raw, not so good for lower light video I guess. Not that I'm too familiar with video editing either. Since I won an awesome camera in the Remix Contest, I made a more or less decent video of the lamp in action. A huge thanks to everyone who voted and rated me awesomely while judging!

The embedded video keeps disappearing because of reasons unknown to me, so just watch it directly on youtube here.

This instructable was inspired and guided by Create faceted paper-objectsby krummrey and Homebrew arduino pulse monitor by ASCAS which was eventually set up as explained by MarkusB here since the way described in ASCAS' 'ible didn't output any usable data for me, nor did various IR based solutions I tried. Therefore it is a remix of those uses and ideas. I consider a remix to be not a mere copy or improvement of someone's idea, but a process where you come up with something new by mixing together ideas, methods and technology which you've seen, heard or felt.

Update: I've gifted this already and the reception was great - I received more praise than ever and a question which I've had myself: "How are you going to beat this next year?". I'll kindly accept ideas for that.
A small and funny glitch: since the switch is capacitance sensitive and set for a fixed value it sometimes doesn't work. However, it's enough for another person to touch you, the capacitance increases and therefore threshold is reached. Basically, this means, that the sisters I gave this to are sometimes only able to turn it on while holding each other's hands or being close to each other. So what I thought was a fail, eventually turned out as a win!

Step 1: Tools and Materials

The list of components and tools is of those I used. It is possible to use either better or worse alternatives in many of the cases, so choose what suits you best. I'd have taken pictures of all of these, but didn't know what will work beforehand, nor did I have all the components.

List of electronic components:

  • Breadboard
  • Perfboard
  • Arduino
  • Capacitors: 100nF x4; 1µF x2; 47µF x1 (worked without it as well)
  • Resistors: 1M; 470K; 100K; 68K; 39K; 8K2; 1K8; 1K; (probably forgot something too)
  • Transistors: 2x TIP120;
  • 2-20kOhm photoresistor
  • LM324 OpAmp (358 should do instead, I just had 324 from a try of Make tutorial so used it)
  • 10k potentiometer
  • Various LEDs (red, white 3258 for finger)
  • 7809 voltage regulator
  • Wires of various gauges (what I had on hand, mostly not a power related choice)
  • Around 45cm of 9.6W/m LED strip
  • LED strip connectors
  • Male and female headers
  • FTDI to USB adapter (for the mini pro)

Other materials:

  • Wooden board (45mm thick)
  • 0.5mm thick brushed steel sheet
  • Glue: hot glue, PVA, super glue, contact adhesive
  • Cardstock (240gsm)
  • Thin double sided tape (clear)
  • Semi-gloss clearcoat
  • Various grit sandpaper sheets
  • Electric tape
  • Plywood
  • Sticky felt padding


  • Jigsaw
  • Dremel
  • Drill
  • Eccentric sander
  • Oscillating multitool
  • Various drill bits (5&10mm wood, 5.5mm metal, 20mm frostner)
  • Solder iron
  • Hot glue pistol
  • Utility knife, X-acto knife, regular knife, machete, hatchet, chainsaw, just kidding, you need the last 3 only if you intend to cut the tree and make the solid board yourself.
  • Scissors
  • Multimeter
  • Screwdriver

Learning material:

  • This diagram on Wiki and countless other pages on the anatomy and workings of the human heart.
  • This collection helped in dealing with Pepakura (must check if you're first time user as I was).
  • This 'ible, because my ways of soldering before were such that you'd want to chop my fingers off just to never see me soldering again. Actually you still may want to chop off a few, but I'm improving!
  • This 'ible which was published after I've figured out how to deal with CapSense library might prove useful.

Step 2: Modelling the Heart

The first way I actually considered making the heart was using papier mache. Then I also considered using a semi-transparent plastic for a faceted model, but since I have no experience in either, they didn't seem any better than the Pepakura paper method where I also didn't have any experience. 3D printing one was also considered, but I don't have a printer and prices for ordering a print locally are rather absurd. So pick what suits you best again.

The model of the heart needed to be at least somewhat anatomically correct, since the gift was intended for medicine students, but at the same time I compromised the correctness of the size, because it would be unbearable to glue all those small pieces together, so the heart I made has the biggest measurement of around 200mm (~8"). I made the model of the heart myself using Meshmixer mainly because I wanted to model something myself and could afford the crude looks of my barbaric working methods because it was going to be faceted anyway. There are a lot of free 3D models available to choose from on the internet if you want to. You can find my version in the 123D library or at the bottom of the step. Just note that it's the full one in the library and with the flat bottom here (.obj). The .pdf files of heart attached are for A3 paper size with sufficient margins so you can print them with original size selected, the lines there are grey and edge ID's a little smaller than regular since I edited the file a bit. It has the flat bottom for mounting.

The process in Meshmixer was pretty straightforward even given the fact that I was using this software for the first time - a round of applause to developers for that. Just keep meshmixing objects - spheres, cylinders, combining them, then making into a solid, smoothing them out, then meshmixing some more until you have something suitable. I made a single plane cut in the place where I intended for the heart to be mounted on the base.

Later I exported this as an .obj file and imported into MeshLab, selected Filter > Remeshing, Simplification and Reconstruction > Quadric Edge Collapse Decimation and went with 500 faces. Edited the object a bit and reduced the amount of faces wherever I could if it still looked nice. Look for the editing tips in the picture, they could be helpful for a first time user as I was. Export this as .obj file when you can't make any decent changes anymore. Also remember to save your work often as an .obj file, not MeshLab project (opening that one puts you on the starting line again). Always save before experimenting with new options and similar stuff. MeshLab tends to crash, especially when you think "oh I've done so much without it crashing, will just do this last thing...fuuuuuuuuu!".

Then import the faceted .obj model into Pepakura and after a bit of frustration until you figure how to use it somewhat properly edit a few more things: move vertexes or delete some edges, especially in the places where there are small faces in hard to reach or fold places, that will save you some frustration later on - the more time you spend refining the model in Meshlab and Pepakura, the less work you'll have to do folding and gluing. Scale it to the desired size and arrange the parts on sheets of paper, I fit them on two A3 sheets (had to cut the oversized A2 I had to size).

Side note: I was actually happy when I saw that 123D Make has a way of making layouts for folding and tried making them there first, but was unable to do so because of some software bugs and lacking functionality. I'd gladly give feedback regarding that in writing if anyone told me where to do so (email, web form,??). The survey provided is rather unsuitable for that.

Step 3: Assembling the Heart

The cutting and gluing part is the ultimate test of your patience, persistence and mental breakdown threshold. I made two of these paper hearts. If anyone wonders why - the first parts I printed was of a non-inverted model and since I wanted to keep things possibly anatomically correct - left being right doesn't sound like that at all. I noticed the non-inverted thing after cutting out all the parts and figured I'll just glue it and see what else goes wrong so I can make the next one properly. Now this was actually a good idea, but I don't suggest that unless you have a lot of time on your hands. Learning from my mistakes should be enough.

As for gluing - I started with regular paper glue stick which sucked, then tried diluted PVA (around 2:1 or 3:1 glue:water) my friend suggested which actually worked somewhat well in most cases, but in the end I found using a very thin clear double-sided tape a nice and fast way to assemble it despite the fact that it's visible in some places (due to unattentiveness mainly, so can be avoided) and maybe the fact that it allows some movement (stretching), so you will have some of those little holes in corners where the paper wasn't aligned perfectly (I believe this is also avoidable). It's possible to somewhat fix it by supergluing those corners after it's assembled, like I did, although I'd suggest fixing these spots as you glue a smaller part of the heart together, due to easier access to the spot. Use superglue responsibly, because it's fairly visible when dried and you don't want some random blots on the visible side of the heart. I first applied a tiny amount to the wire of a resistor I found nearby and then used that wire for high precision application on the model. See pictures.

Step 4: Electronics

There were 2 main pieces of the electronic sorcery circuitry I made:

1. 12V to 9V converter;
2. A heart rate sensor;

12V to 9V converter is a simple standard circuit found in the datasheet of the 7809. Using this is not a must, but since I was using a small Chinese microcontroller board it's not a bad idea to relieve it from some of the voltage conversion work even despite the fact that it can be fed with 12V.

Heart rate sensor is a little more complicated thing, mainly because it took me several tries with different tutorials until I found one that worked. You could probably use this instead and save yourself some time if you figure how to mount it nicely. I edited the Markus' wiring diagram with my miniature changes due to not having some components and uploaded it in this step, but you can find the original following the first link in this paragraph.

For controlling everything I chose to use a Funduino mini pro, but while I was prototyping and checking what works Arduino Uno was easier to work with, so it's in some of the pictures.

Different parts and circuits were connected with wires later and I did add a TIP120 on the perfboard of voltage converter circuit for the control of LED strips (it was a convenient place in my case), wiring diagram of that below (if iframe is ok here, if not visit this, or see pictures of step). In general, the idea to have separate pieces of electronics connected with wires was not the brightest one due to the mess it makes when connected.

Step 5: Programming

If you can provide criticism and alternative solutions regarding my code, please do so! Programming is a little more understandable than general electronics to me, but I still feel lost more often than not.

The comments are in the code - I've added it in a textbox and as an attached .ino file, the library can be found here. If you have trouble setting up the Capacitive Sensing code&connections, check this video, it saved me. LED fader library can be found here. MAKE magazine's processing sketch was used for visualization, it can be found here.

Before writing the code I had to understand a few basic things involved in the workings of the heart and the circuit I made for pulse measurement which I will briefly explain here.

The sensor I made uses an LDR as a sensing part. An LDR has a resistance range in which the resistance depends on the amount of light that reaches it. The more light there is - the smaller is the resistance and vice versa. In this case what we feel as a pulse is what happens after the aortic valve opens and blood flows through our circulatory system. Therefore at the moment of the pulse the amount of blood in you finger is different giving you the change in the reading. If blood was pushed through your body by the heart, it means that the heart empties itself at the moment of the beat - this is why I've written a code which dims the heart to 0 when it beats and shortly after starts dimming it to a higher value representing the heart filling up with blood. As you can see in the Wiggers diagram - the main volume of the heart is not gradually filling up with blood until the next beat, but there's a rapid inflow where most of the heart fills up and then some more during the diastasis, until the atrial systole phase begins. Every one of these three phases seem to take around a third of the time between beats, but another diagram of a cardiac cycle provided here has it divided including a time axis. So I wrote the code according to it: a pause of approx 100ms after the beat, then rapid fade in to 90% during the next 150ms and a slower remaining fade over the next 200ms. This leaves us more than half a second until the next beat for a normal 60BPM rate, a full fade in until the next beat until 130BPM and even the major part of fade in until 230BPM which is barely physically possible in a human being, maybe could be an issue if you decided to measure a pulse of some smaller animal, but I don't think your Yorkshire Terrier would be too well with a pulse like that either. What's important is that this solves the problem of having to average and predict the time between beats in code for changing fade periods.

// Code v1.1 for faceted heart lamp by Raitis. Visit http://snipegift.com for my other projects.
// Full tutorial for the lamp at instructables: https://www.instructables.com/id/Pulse-sensing-fac...

#define LED_PIN 3
#define DIR_UP 1
#define DIR_DOWN -1
LEDFader led;
int direction = DIR_UP;

int flt = 5; //finger light
CapacitiveSensor lampon = CapacitiveSensor(4,2); // main switch
CapacitiveSensor hrson = CapacitiveSensor(4,6); // hrs switch
int hrs = 0; //heart rate sensor

void setup() {
pinMode (flt, OUTPUT);
led = LEDFader(LED_PIN);

void loop() {
long total1 = lampon.capacitiveSensor(30);
long total2 = hrson.capacitiveSensor(30);
if (total1 > 1600 && led.get_value() > 0 && led.is_fading() == false) { //turns lamp off, the capsense value is different while on USB and off it, so test yours
direction = DIR_DOWN;
if (total1 > 1600 && led.get_value() == 0 && led.is_fading() == false) { //turns lamp on, the fading == false condition avoids it turning off again from a single touch
direction = DIR_UP;
while (total2 > 700) { //a loop active when the finger is placed on the steel plate in the finger pit
long total1 = lampon.capacitiveSensor(30);
long total2 = hrson.capacitiveSensor(30);
hrs = analogRead(0); //starts reading the sensor
digitalWrite(flt, HIGH); //turns on the finger light
delay(1); //to avoid jitters
if (hrs > 150) { //when the reading of hrs is above 150 it is most likely pulse, not noise in my case. Depends on the transistor used I guess.
led.fade(0,10); //fading according to how heart works
direction = DIR_DOWN;
direction = DIR_DOWN;
led.fade(225, 150);
direction = DIR_UP;
led.fade(255, 200);
direction = DIR_UP;
delay(260); //to avoid jitters until fade to 225
if (total2 < 150) { //why do I need this if while SHOULD exit below 700 anyway?
led.fade(179, 1000); //fades back to standard 70% brightness when the steel plate is not touched anymore
direction = DIR_DOWN;

As you can see, I didn't use any smoothing for the analog input. I did test a version with it however and found out that when using a running average for a low number of readings, like 10, there's no real advantage of having it. Averaging a bigger number of readings smooths the things rather well, but then there's a huge delay issue. I have an idea of a workaround for that delay which would most likely remove the jitters when placing the finger (see gif) and will test it and add alternative code here if it works, but as of now, this code I'm using works and I'd have no issue leaving it as is.

Update: I tried an alternative code with smoothing which reacts to a trend change in average readings to identify beat, but while the concept works fine alone, it just doesn't work as supposed while trying to fade. It reacts to the beat, but jitters all the time when it shouldn't. If someone is really making this and wants to give it a try, I can send you a sketch of the alternative code. Won't upload here to avoid confusion.

Step 6: The Base

I made the base from a 45mm thick solid wood board (glued from strips), if I recall correctly it was fir (so nothing impressive, just had that available). And a 0.5mm brushed stainless steel sheet on top. The initial idea I had to get it straight and corners matching was to cut two edges of the board straight beforehand and glue an appropriately sized sheet of steel on top with the same two edges already matching. I still consider this a good idea if executed properly (given my tools), which unfortunately was not the case this time. I will get into more detail of the mistakes later in this step.

First of all it is important to decide how big do you want the base to be. I did that by placing the scrap heart I had on top of the wooden board and eyeballing the size I wanted. It came out approximately 200x200mm big after everything was done.

I marked the lines, cut two edges as straight as I could with the jigsaw (not freehand of course) and then went for the steel sheet which I also cut in a manner that the way in which the steel is brushed corresponds with the way strips of wood on the wood board go and the straight edges match for the steel and wood. I used Bosch T308B blades for cutting both the metal and wood because they are amazing (Makita also has the same blade (B23) just that it's thinner and not available in bigger lengths). Remember to cut the steel sheet a little bigger than the intended wooden board for the hopes of a brighter future.

Würth polymer glue for gluing the steel sheet on top of wood seemed like a good idea, which turned out to not be the right one for the job. This glue is otherwise amazing, but does not spread easily, nor does it have a working time long enough for this area, so choose wisely. The second mistake was that after I noticed the steel sheet moving while clamped I took the clamps off and tried repositioning and clamping differently and due to that also using more than one piece of MDF for clamping. Ended up with it out of place anyway and had to sand down later, so some kind of straight corner support while gluing is recommended as well as more than 3 serious clamps and some crappy ones would be good. These mistakes led to me eventually deciding to make an entirely new base for the lamp using almost the same design and learning from the mistakes.

The second take was done using easier spreading contact adhesive without the hopes to align straight edges. I also cut the steel sheet even bigger, around 240x240mm to make cutting easier. After I was sure that the glue has done its job I went for the cuts on two remaining edges. Nothing magical here, just place a straight edge to guide the jigsaw and go for it. If one of the sides of the jigsaw's bottom goes off the steel sheet while cutting, it's a good idea to put the same thickness piece of something under it so the blade stays maximally straight. It is also a good idea to clamp something you can move along the cut line in front of saw to prevent lift-off of the steel sheet edge (see pictures). No need for that if both sides of the jigsaw shoe sit on the same sheet you're cutting and you've spread your glue well.

After everything was cut I sanded the sides and the bottom with an eccentric sander (80 grit pad) somewhat smooth and checked for flaws in gluing and similar. Found some of those and fixed them with super glue and eventually finished sanding. The thin steel sheet on top really helps with going through sanding pads quickly, so glue responsibly, you will have less of that then.

Afterwards was the time to make a place for electronics on the bottom. I decided to use a router for this compartment, so I needed a template of some kind. For that I used one of those old MDF boards from disassembled wardrobe I keep for things like this and cut a somewhat square hole in it using multitool and a jigsaw. Drill instead of multitool would do the trick too and probably be even faster. The hole is 140x140mm big (30mm from each edge of the base) - which makes the edge of compartment a little more than 30mm off each of the base edges - more than enough for the electronics intended to go there, but if necessary I'd say it's completely safe to go to around 10mm off the edge. As for the depth of the compartment - it's 28mm total, but with extra edge 4mm from the surface where lid sits, so usable depth is around 24mm. Would've gone deeper, but my router couldn't. After the routing I did some more sanding of the bottom and went for the hole drilling.

At this point you need to decide which side will be facing forward. After that you're going to need a hole for the 12V DC female connector somewhere on the back side (Ø10mm in my case) and a hole where you will put the finger on the LDR on the front side - I chose that to be Ø20mm because the gift (lamp) is intended for ladies with thin fingers. Try to drill these two holes neatly at least on the surface, because they will be visible. Drilling them before sanding anything would be even smarter of course, but that was not the case. Other holes you will probably need are for the finger hole lighting LED on the upside of 20mm hole and another through the bottom and to the electronics compartment. These are Ø5.5mm in my case since the LDR is around Ø5.2mm. It is probably possible to avoid drilling through the bottom of the base entirely and just make place for the LDR in the same way as for the LED, but I went this way, because it's important to place the LDR properly and easier to glue like this - it's the working piece of the sensor after all. The last hole I went for was made on the top of the lamp in an area which is hidden after the heart is mounted. This is why I advised you not to throw out that piece of paper you cut out from the bottom of the heart. Position it and mark outlines so you know your limits. For this hole I used a drill and a jigsaw and made it big enough for my fingers to fit (up to knuckles) so I have an access to some part of the heart where LED strips are to be glued. Don't remove the protective film on the steel just yet (if there's one). That's it for holes, it should be ready for the stain and clear coat.

It's not a bad idea to remove the protective film if there was one and freshly mask the steel top, since the edges of it probably started to peel while sanding. From the heat or whatever else was the reason. This does two things: lets you take a look at the steel surface so you can finally see that beauty you worked on and inspect it for bends, major scratches and other things and it also allows you to mask the top so it doesn't get sprayed with clear coat.

I used a diluted reddish brown stain to avoid it being excessively dark and sprayed it with countless coats of matte clear coat. Would've used a water-based semi-gloss varnish, but first of all my stain is water based and it would smudge when applying a water-based varnish and second - water based varnish doesn't adhere to steel and I don't want something to start peeling shortly after and matte finish probably looks better anyway.

Oh and I also made a lid which I didn't initially intend to make. That one is from 4mm plywood and was cut to size with a jigsaw, drilled ruthlessly in 3 places with the same 20mm frostner, given some sanding and then clear coat. No stain makes it contrast nicely if you happen to turn the lamp around.

Despite the long write-up this step doesn't actually take too long, just be attentive in gluing and sanding. Just for reference, since I had an extra scrap base made I tried different colours on it and this kind of stain+finish looked the best (also tried unstained with semi-gloss varnish, painted flat white and flat black).

Step 7: The Finger Plate

To make this just use a cut off from the same sheet of metal you used for the top. Maybe even the left-over on the wood you have cut.

Given my tools it seemed most appropriate to make it for only half circle of the hole - that's 31.4mm (pi*r) if you also drilled a 20mm hole for the finger. The plate goes all the way through to the other end of the hole.

For bending it in a nice round shape I used a tiny vice and a Ø18mm diamond crown drill (the only round and durable thing of the diameter I needed that was around). The bending should be done around a round object of a smaller diameter because while the steel will bend it will still flex back a bit afterwards (maybe not if heated, but you don't want it to change colour). I also used two clamps to make sure it bends around the drill and not into an oval shape. When you have it bent it should be a tiny bit too wide for the hole, so put in while squeezing together with fingers. If the hole is drilled nicely (I failed the one on the second base I made) the plate will fit just right and the pressure from it wanting to expand will fix it in place. If there are gaps left and your hole is nice and round - adjust the bend on the plate accordingly.

The edges of the plate will be of uneven height after the bending, but position it in the hole that they're somewhat level around the middle of the hole and mark a spot where you are going to drill the hole for the LDR through the hole on the bottom of the base. I took it out for the drilling, but if you do have a drill press I suppose it would be simpler drilling through the existing hole in the wooden base. With the hole in place mark the spot where the wood ends on the plate to have a guide for sanding and sand it down in a way to fit the hole and be level with the surface and also the side edges, so they're nice and level. I did that on an angle grinder with a 120 grit sanding pad and later rounded the edges with Dremel 425 polishing wheel, but I'm sure there are better and safer ways of doing the same thing. Also make sure to cool the steel if you're sanding off more of it, since it can and will change colour which is hard to remove.

Apply some beeswax polish on this one as well, but avoid putting it on the other side, since you will have to glue a piece of wire there.

Step 8: Assembly

So the parts are all done by now, with only the assembly left.

I started by arranging and connecting the electronic components by wires. The picture of the full layout is attached as well as a schematic view. The voltage converter and heart rate sensor were both hot glued in place after I connected the wires. The microcontroller was left unglued to allow connecting in case something doesn't work as intended.

Aligning of the steel plate for the finger is simple - just use the same drill you used for making the holes for the LDR in wood and steel. Aligning the LDR is a little tricky however. It should end up being a little bit above the steel for stable readings, but not high enough to move around or prevent you from touching the steel. It's a good idea to try running the circuit to see how high do you need it for decent readings. When you've got the sweet spot - glue it in place. I did that by using a fair amount of glue directly into the hole on the bottom. It should also be noted that the thin wires of the LDR may bend if a lot of pressure is applied on it and the hot glue didn't go all the way to it which was the case for me and led to the LDR being a little lower than desired. Luckily, it didn't ruin my chances of getting proper readings, just became a little more sensitive to the finger position, so keep that in mind when gluing.

The masking was removed from the steel surface and I also ran around the edges with the Dremel 425 wheel an extra time to remove any roughness left from clear coat or anything else. Then cleaned the steel surface with acetone to degrease and remove any dirt left from masking tape or anything else and coated with beeswax polish (3:1 mineral oil:beeswax) marking some lines beforehand to avoid coating the places where the heart will glue on. This darkened the surface a little bit and while it doesn't prevent fingerprints on it (use matte clear coat for that) the cleaning becomes really simple.

The capacitive sensor wires were attached to the steel surface by simply spreading individual wires out a bit to give better contact area and then gluing them on with little bits of powertape (see pictures). I would love to solder them, but don't have the required soldering paste for stainless steel.

As you probably have seen I didn't bother applying clear coat to the bottom of the base. This was due to the fact that felt padding was intended to be added. I was pretty lucky that the pads were around 100mm big and the edge to hole distance was around 33mm thus allowing me to cut pads in 3 pieces without waste. The lid is held in place by the same double sided tape, but I will probably reglue it with hot glue eventually.

LED strips were glued inside the heart before I put it on the base, since it's easier to reach them for gluing that way. This shouldn't be an issue. I used two strip connectors (could've soldered of course) and a 225mm long piece connected to one of them and 75mm piece soldered to 150mm piece attached to the second one. You can see that in the pictures. Wires between those two pieces were around 90mm long and the shorter piece was near the aorta. This kind of division helped with lighting the heart more evenly.

The heart itself was glued to the base with the same thin double sided tape I used for the assembly of it. After it's on, you should be able to attach the connectors to the LED strips through the bottom of the base.

Step 9: Enjoy

Despite the fact that there are some flaws the satisfaction is still there since I realise that my own work will never look perfect for me, ever. This is also one of the projects which were rather challenging to me because of the extensive use of materials and techniques I have barely used before or not at all. That's the reason why it also was very rewarding, idea provoking and encouraged me to take on other projects out of my skill range in the future.

A special thanks goes to everyone who answered my mid-project question here and especially seandogue for in depth explanation. Knowing that it is possible to get answers to most of the questions in communities like this is encouraging.

Things I'd do differently if making this again and other ideas:

One of the things definitely is making one of these using a clear 3D printed heart which would allow to make it in the size of a real heart and use RGB LEDs in different places of the heart corresponding to the actual chambers and fade them accordingly. That would enable to see both the blood flow in and blood flow out. Winning a Form 1+ 3D printer would be an amazing chance to do it as well as a serious boost towards the goal of living the maker's life and sharing even better creations, so please, vote for me in the contests I've entered this in. Thanks!

Refining the heart faces further resulting in a cleaner look and easier glue-up could help. Maybe even eventually have glue seams that somewhat match with the actual heart chambers.

I'd definitely solder all the electronics I can on a single perfboard or even custom scheme just to avoid the ungodly mess those connecting wires make.

Another interesting addition would be of a Bluetooth receiver and then transmitting the heart rate data from your phone using one of those apps which measure heart rate from a fingertip on camera (no idea how accurate they are though). This would open up some space for improvisation, let's say allowing to put this heart in a chest and then beat, as the Cap'n Davy Jones' heart in the Pirates of the Carribean. Makes a great gift for a fan or maybe even a prop for Halloween.

That's it for now, thanks for reading this far. Make sure to share your ideas and suggestions in comments. Until next time!

Remix Contest

Grand Prize in the
Remix Contest



    • Arduino Contest 2019

      Arduino Contest 2019
    • Trash to Treasure

      Trash to Treasure
    • Tape Contest

      Tape Contest

    33 Discussions


    3 years ago

    I think instead of making the lamp blink (which is kind of annoying), instead have the intensity of the lamp increase with each pulse.


    4 years ago

    This is pretty amazing! Very nice work. I hope your friends appreciate the skill and creativity that went into this. Awesome job!


    4 years ago on Introduction

    Wow, Talk about Origami Paradise! lmao. Sweet Idea; never would have though of doing it with paper !

    1 reply

    Reply 4 years ago on Introduction

    I didn't originally think of folding it either, but you work with what you have I guess!


    Reply 4 years ago on Introduction

    You're right I guess. Won't deny that this is a rather specific lamp I made having an exact purpose in mind - to make a nice gift my friends would love.

    This, as any other project really, won't result in something else if you follow the instructions thoroughly, because that's what they're made for after all. But then again, as in most other projects, you can use parts of this to build something new. Let's forget the sensor itself which can be used for various things since I can't really claim any credit other than this particular use. In the heart assembly part however I pinpointed some issues you may have if planning to stick a lamp in anything folded this way. I haven't seen anyone using double sided tape for pepakura models either (not that I searched) and having tried several ways that is by far the best. So yes, if you look that way there is more utility to this.

    The main thing I'd like to point out however, is that there pretty much are two kinds of projects: one kind concentrates on a possibility to use something and pretty much shows a technique for something (science!), the other kind actually implements those possibilities and techniques for an exact project. You'd probably say, that the first kind is more important and you'd be right, it's just that I prefer to do stuff of the second kind.


    4 years ago on Introduction

    Can't i use something else than a arduino to measure the output at the Transistor ?
    Please can u help me build just the heart rate sensor ?

    Thanks for documenting this amazing project and Congratulations for your Win ! :)

    1 reply

    Reply 4 years ago on Introduction

    Thanks. As for the sensor I'm not experienced enough to propose an actual alternative and have no idea as to what is something else in your case.

    What I can tell you however is that this sensor will output analog signal (varying voltage) and you should be able to detect that using most microcontrollers and probly some other chips as well, it really depends on how you want to use it.

    If you pinpoint some issues you're having in building a sensor, I can try to help you of course, but did you check the guide I followed to make it?


    4 years ago

    the image of heart as a lamp kind of made me to open this project every time... :) glad that u won

    1 reply

    Congratulations. When I saw your lamp I was like Yep that is the winner. The rest of us can't compete. Super cool project and the recipients are lucky to have a friend like you.

    1 reply

    Reply 4 years ago on Introduction

    Congrats to you too! That's a lot of praise, especially given that you was running in the same contest, thanks. :)


    Reply 4 years ago on Introduction

    Thanks! Would not have been possible without the other projects here guiding me though!


    Reply 4 years ago on Introduction

    Congratulations on the well deserved win! I want to see more projects from you!