I am just getting into printing and would like some direction on my current project. I am building a display cube, and I would like to have an LED light on both the left and right sides. The battery pack/power would come up from the bottom.

I am using freeCad as my design tool. My initial thought would be to create a pocket where the LEDs will be at and then create holes leading back to the bottom. That seems like the logical solution.

Another option I had was to create channels on the inside of the square and run my cables through those. However, this will make the cables visible, and also show the channels.

My final option would be to hollow out the insides with a little bit left for the surfaces.

With all of these options, I can see pros and cons, so that is why I am looking for a little guidance.

  • 2
    $\begingroup$ Hi and welcome. Could you list the pros and cons that you know of, for each method, so that we don't suggest pros and cons that you have already thought of. $\endgroup$
    – Greenonline
    Commented Feb 27, 2023 at 9:36
  • 2
    $\begingroup$ Can you post an image of your design so we can picture this better? $\endgroup$
    – LarryBud
    Commented Mar 30, 2023 at 18:15

3 Answers 3


The best option probably, is to embed everything in the cube seamlessly. It's one of techniques only possible with 3D printing.

Prepare the cube normally with pockets where the battery, wires and LEDs are to go, with all the "special" geometry hidden within, nothing poking out through the skin (albeit you will need some way to toggle it or charge the battery... wireless charge, capacitative switch?). Make sure the project has a point (or - less desirably - a couple of them) where at certain height all of the "foreign objects" are below the current height, but all the channels and sockets that hold them are still exposed/accessible from above (as viewed from the print orientation).

Then in your slicer use the "Pause at height" option. It's different in different slicers - I'll provide a tutorial for Cura.

  • Load the STL. Slice and preview. Use the slider on the right to find the layer number which will still expose everything below (with possibly 1-2 layers of margin above, as sometimes the resulting pause point is off by that much). In the example, the layer# is 140. The sockets for LEDs are already closed on top, so the LEDs won't stick above the print level, so this is about the correct height.

Project sliced and height in preview adjusted to desired point

  • Select Extensions > Post-processing > Modify G-Code.

Modify G-Code menu option

  • Add script > Pause at Height. Change "Pause at" to "Layer number" and enter the layer at which you want the print to stop, so you could load up all the electronics (or first part of it, if you want multiple pauses). Usually this is all that's needed, but if you see options you want to tweak, now's the time. Press Close.

Modify G-Code UI

  • Slice again (this time to produce Gcode with the pause command), and start the print normally.

If everything went well, the printer will stop printing at the specified layer and move the print head out of the way. You can now pack all the electronics in (pay attention not to move the table), possibly hot-glue the wires so that nothing sticks above the print surface so the print head won't snag on it, then either use the printer's screen's dialog (if you used an SD card), or Octoprint's "Resume" button if using Octoprint, or whichever way of resuming the paused print your system provides. The print will resume and your parts will be seamlessly embedded within.

Octoprint UI

The process is slightly different with different slicers and printers, but if you google "pause at layer" and "resume paused print" with your slicer and printer, you'll find tutorials for sure.

Also note: normal PLA at thickness of 2-3 layers is transparent enough bright LEDs will shine with clear diffuse light through, so your LEDs don't need to poke out of the sides. Embed them shallowly enough and your cube will glow there just fine.


If the display cube consists of transparent panels, create a 3D printed frame along the edges of the panels. Incorporate through holes in the frame elements to run the wires through. It should also be possible to build in a way to mount the LEDs to the frame elements.


Are you going to be printing using filament or resin?

I'm having trouble visualizing what you are intending to do, but if you are using a filament printer then it may be easier for you simply print the model out exactly as is, with no accommodation for the LED or batteries, and then simply cut into it with a sharp knife. When dealing with an item that is purely ornamental (Doe not require mechanical strength) The interior of a filament print is essentially a honeycomb that exists to support the exterior while it is printing. You can cut away most of it without harming the print, and then fill the remaining space with modeling clay to regain some of the lost strength.

Simply hollow out a space for the battery and then drill into it for the LED.

If you are using resin, you can hollow out the object using your slicer, and then use the hole punch tool that most slicers have to create a hole for your LED.

  • 5
    $\begingroup$ If the OP is already designing the project in FreeCAD, why not build in the necessary holes/cutouts needed; why suggest cutting into the printed model and risk ruining the model or self-injury? $\endgroup$
    – agarza
    Commented Mar 31, 2023 at 19:42
  • $\begingroup$ The OP seems to be an adult so injuring themselves isn't really a likely outcome, if they are a child then they can always ask a parent to do it, and they have stated that the model is being 3D printed so it doesn't matter if they ruin it as they can recreate it if need be. The OP has clearly thought about other CAD based solutions, so I'm offering them an alternative. $\endgroup$ Commented Mar 31, 2023 at 20:01
  • 2
    $\begingroup$ Please ask questions in a comment under the question, you have enough reputation to ask this per comment. Once answered, you can update the answer. $\endgroup$
    – 0scar
    Commented May 13, 2023 at 14:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .