Showing posts with label 3D_printer. Show all posts
Showing posts with label 3D_printer. Show all posts

Wednesday, June 04, 2025

my crystal neopixel lamp

The Concept:

This started from the idea of making a lamp with flashing, coloured LEDs inside. The inspiration here was seeing such a lamp made by Robin at Hackerspace for his grand-daughter. I learnt then about the ESP32 board which enables control of the flashing LEDs, aka Neopixels, from your phone.

Previously, I had made a Sierpinkski sieve a Sierpinski pyramid lamp with transparent PLA filament and lit it up with a couple of Circuit Playgrounds in the base. Up until then that was my favourite make! This background partially determined my direction for this project.

So, I found a crystal lamp on printables, here, which had been partially hollowed out and printed it with transparent filament.

This pic is from Printables: I plan to improve it with changing coloured neopixels that go to the top of the central pillar (see video near the bottom of this article)

Then began a complex process of research and buying of materials. I had to determine what to buy and the voltage and current requirements. Adafruit has a comprehensive uberguide about NeoPixels. Some helpful pointers from the adafruit uberguide were:

  • NeoPixels are usually described as “5 Volt devices” ... (but) ...Lower voltages are always acceptable, with the caveat that the LEDs may be slightly dimmer. There’s a limit below which the LED will fail to light, or will start to show the wrong color.
  • NeoPixels don’t care what end they receive power from. Though data moves in only one direction, electricity can go either way. You can connect power at the head, the tail, in the middle, or ideally distribute it to several points.

I also consulted with Robin at Hackerspace about which strips and ESP32 to purchase.

My plan became something like this:
  • purchase a cuttable RGB+IC 144LEDs/m WS2812B LED Strip. I then cut 3 strips, cutting at the copper dots, each 14 LEDs long and arranged them around a triangular prism so there will be lots of flashing lights from all directions.
  • design and 3D print a hollow triangular prism support for the LED strips after they had been cut
  • design and print a base with a cavity to hold the batteries and the ESP32 board
  • purchase a SuperMini ESP32-S3, 23mmx18mm, keeping it small so as to keep the cavity small
  • power the whole thing with 3xAAA batteries in a cylindrical holder (55mm long x 22mm diameter), amounting to 4.5 volts

In retrospect, this is or was a reasonable plan. Of course there are alternatives, eg. rather than the bulky battery holder run a cable to a 5v power supply. I was muddling through. Doing things for the first time is always hard.

Understanding the circuit and how the LED strip works

Initially I didn’t understand how the Neopixel strips (WS2812) worked. I hadn't grasped the significance of the comment in the adafruit uberguide, that "NeoPixels don’t care what end they receive power from." As it turns out each LED has its own processor. One side is positive, the other side negative and the data flows in one direction marked by an arrow on the strip. My understanding now is that the circuit(s) are made up on the fly as the current flows across through each LED.

Triangular prism designed with SCAD

I wanted to upgrade my 3D design skills so this time I opted to learn SCAD, which has a mathematical approach to design. I found it to be fairly intuitive after looking at a couple of beginner’s tutorials.

SCAD design of triangular prism onto which the LED strips are mounted (I printed this with transparent PLA filament too

Fastening the LED strips, wiring up, soldering and testing

I wanted a transparent hollow triangular prism to fasten the LED strips onto, with small holes at the top and bottom to run wires through to the inside. I designed this with SCAD. It was surprisingly easy and elegant!

I cut three strips, cutting at the copper dots 14 LEDs / strip. I wired up the positives at one one end and the GND and data the other end. The idea here was to avoid clutter at one end.

It took me a while and help from Robin to understand the circuit and data flow

  • the circuit goes through each LED (where is this explained?)
  • the arrows on the strip show the data direction

For stripping the wires I needed the right tool, although the experts can do it by feel. Before soldering I removed one LED from each strip with a heat gun. I did this because the copper dots when cut in half were very small.

I tested the strip using my Sunfounder kit and it was successful!

Design and redesigns of base with SCAD

I had to do a few redesigns along the way after I decided to insert a relatively bulky cylindrical battery holder (55mm long x 22mm diameter) into the base.

SuperMini ESP32-S3

I found helpful information about the SuperMini ESP32-S3 Development Board here.

  • some simple tests to check if the board was working
  • pin layour and which pins were safe to send data through

Then I had to figure out how to flash micropython onto the board. Once again help was there online: Instructions

Coding in micropython

I opted for coding in micropython which I find easier to understand than arduino C++. I bought a Sunfounder ESP32 starters kit, installed Thonny IDE and started working through their online micropython tutorials. They did have a micropython WS2812 tutorial for an 8 LED strip, which gave me a good start for the code.

I thought an effect where the colour grows stronger then fade and then changes to another colour would look good. It took me a while to figure out how to modify the code so it was both elegant and did what I wanted. This involved writing efficient functions and looking up the RGB values for different colours.

The Thonny code tested alright on the LED strips but then I had to figure out how to run it from the ESP32 board. With a Save As... I could download it to the board and then found an article which explained that it had to renamed main.py and then it would run.

There is also the WLED option which provides tremendous variety but you miss out on the joy of coding ;-)

Not the final version, but it does show the neopixels burning brightly!

Trouble shooting / Problem solving: Suitable wire thickness.

You need the right materials. The experts can wing it but mere mortals like me need the right materials.

"For the lack of a nail a kingdom was lost" - Shakespeare
For the lack of 26 AGW wire a crystal neopixel lamp was compromised - Kerr

During my near the end soldering session I suddenly discovered that two out of three LED strips no longer lit up. The problem was that I had used very thin wires and with a little twisting some of them broke. So, I went back to replacing the broken wires with thicker ones (22 AGW) and resoldering. But my problems persisted because now the wires were too thick and it is hard to twist three thick wires on the one side and solder them successfully to one thick wired on the other side. So, what I have planned here is to get some 26 AGW (in between thickness) wires and do the whole thing again!

Also my design lacked an important component given that I'm powering off three AAA batteries. A switch! This will be part of my new model

This experience has taught me to improve my soldering skills (use the third hand, flux and the solder sucker when required) and design skills (the wiring was far from elegant). Such is life. I've learnt a lot.

SUMMING UP: WHAT HAVE I LEARNT
  • Thonny python IDE upgrade and use
  • micropython for loops and functions
  • WS2812 Neopixel strip function (power, data), cutting procedure
  • Supermini ESP32 function and testing
  • OpenSCAD skills (designed and made tri prism and base)
  • Circuit or wiring design
  • Soldering skills (wire to wire, stripping, tinning, third hand, solder sucker, heat shrink)
  • Heat gun, to remove one of the LEDs from each strip
  • Problem solving and receiving help
  • Checking parts carefully before buying (eg. bought momentary switches)
REFERENCE

Saturday, March 08, 2025

dragon and egg 3D print

I printed this one on my Prusa MK4 with multi-colour PLA filament:
inside the egg
outside the egg
on top of the egg

Source files:
threaded dragon egg
Small baby dragon (printed half size)

Saturday, December 07, 2024

making a 3D mesh with tinkercad

We are going to make this starter mesh, the triangle interweaves with the hexagon and all parts can be moved around. Once you know how to make this starter it will be possible to extend the mesh further.

My over arching reference here is a wonderful article by Jose Antonio, How to Design and 3D Print Flexible Meshes, who explains in detail the conditions under which 3D printers can bridge, ie. print over thin air!

You can use Tinkercad Codeblocks and Tinkercad 3D designs to create flexible meshes

Open Tinkercad https://www.tinkercad.com/ and load Codeblocks

We are going to make this hexagon prism with cut away holes:

Here is the annotated code for the hexagonal base and frame. I've stolen Jose's code and added some annotations to explain it.

Export the object as a Shape: Export > Shape.

Then open Tinkercad 3D designs

Your Codeblocks creation can be loaded from the Shapes library > Your Creations

“You won't be able to take it apart like a grouped 3d design, but you can drag and use it as a design component in any 3D design”

I named my new tinkercad file hex_prep

Next, we will make a triangle to fit into the holes in the hexagon. I worked out the dimensions of the triangle from one of the links in Jose's article:

Using these dimensions I made this code to make the triangle:

I rounded those measurements in Codeblocks

To find the scale factor for the inner triangular hole:

Scale = (22 – 2.2 )/ 22 = 19.8 / 22 = 0.9

After applying this I then found I had to move the triangular hole 0.9mm up the Y axis to obtain equal thickness sides of the triangle. This was arbitrary guess work, if you can explain where I miscalculated let me know please! The problem is that the triangular hole does not centre.

Name it tri or triangle and export as an STL

Then import into your tinkercad hex_prep file

We are aiming to make this:

Make two duplicates of the hexagon Ctrl + D then rotate them so they are lined up. To fine tune rotation use the outer ring and hold down the mouse button

You now have to position the 3 hexagons and triangle correctly

Some Tips:

  • When necessary hold down the mouse and use outer ring for rotation (more fine control)
  • At the right time set Snap Grid to 0.1 mm
  • Ctrl + up arrow to raise the triangle. Raise the triangle by 0.1 mm at a time until you see a clear airgap, both below and above the triangle.

Important: There has to be a visible airgap above and below the triangle!

Print this one as a trial before moving on

  • Select and group
  • Export as STL
  • Load into your slicer and make the GCODE

Then a miracle occurs! The triangle is printing on thin air!

Here's a mesh that has been extended further

Tuesday, November 07, 2023

Turtle Art Tile Project conclusion

It’s quite a complex process with some fiddly technical steps along the way to making a great product.

I had a mixed ability class with incredibly talented students at one end and battlers at the other end. A few did leave early in the piece, for various reasons, but those battlers who displayed some initial reluctance did warm to the project as it proceeded. When it came to 3D printing their Turtle Art design without exception all students became excited. They had never done 3D printing before.

I did make efforts to setup a situation where students worked in groups and helped each other. They nominated their preferred partners, I then set up groups. I also sometimes asked them to fill out a planning sheet at the start of lesson (questions like ‘Which shapes do you plan to make today?’) and end of lesson (questions like ‘Who helped you?’, ‘Who did you help?’ and ‘Give some details of the help’). I make this part of the assessment criteria. Some students emerged as brilliant helpers of others while some others learnt to find the right person to ask. I was trying to nudge them in those collaborative directions and had some success with that.

Turtle Art Design: I did provide scaffolding here, which I blogged about earlier. I'm thinking now that I need to elaborate on this process further in a separate blog. Stay tuned.

I did produce a Help sheet “FROM TURTLE ART TO TINKERCAD TO 3D PRINTING” guide students through the fiddly bits where they transitioned between different software. Some important points:

Turtle Art steps: Make sure your Turtle Art shape:
  • Has a Clean block on top
  • Has pensize set to 10

The Turtle Art default pen size is 4. I found that when this flowed through to the 3D print the lines weren’t thick enough so I upgraded this to size 10.

You can save your Turtle Art file as an SVG which is needed to import into Tinkercad. I told students to choose outline and then plain, not framed, as the frame turned out too bulky and detracted from the art work.

Tinkercad steps: This was students first use of Tinkercad. This project was a good place to start because the Tinkercad steps were relatively easy. Teachers can setup a Tinkercad class with student nicknames to sign in. I always give students the opportunity to choose their own nicknames.

When they imported their SVG I suggested scale to 10% since otherwise the import was too big. I then told them to drop a ruler on the workplane and resize their shape to 90x90x2mm. The 2mm height was enough to make a good impression on the clay. A bigger height would have just meant longer 3D print time.

Students then gave their file a meaningful name and exported from Tinkercad to create a *.STL file

Prusa Slicer steps: I’m a big fan of the Prusa 3D printers. However, they don’t come with a prepackaged configuration, which is a pain, so I had to produce another step taking students through that process.

Once configured the process was straightforward since the sizes have been done in Tinkercad and just have to be confirmed. I did tell students that they had to save as 3MF and send me that file before they have permission to print. They also had to export their GCODE and not get confused about the functions of the different files. GCODE for the 3D printer and 3MF so the teacher could check everything was ready.

3D printing: This was the first time these students had done 3D printing and they were delighted to see that all their hard digital work was producing an atomic product!

Clay step: I've written about this in another blog. Not much to add except that I did 3D print guides for the students to roll their clay evenly to 6mm.

Painting step: I've also written about this here. We did apply varnish after drying to seal all over.

Overcoming bottleneck points: Real life classes are messy things due to varying student abilities, motivations and some absences. At any rate I needed a “filler”, something engaging for students to go on with who were up to date with everything else. Luckily at the right moment Gary Stager made his Turtle Art cards available. Go to Invent to Learn and when you quit you'll see the pop up. These are 156 beautiful Turtle Art projects. The code is supplied with an image of the finished product. Students went on with these while others were catching up. I even had one student who became so engaged with these cards that she did all of them!!!

REFERENCE (earlier blogs on this project)
Turtle Art Tiles Project
Scaffold for Turtle Art Tiles Project
Working with Clay
Working with Acrylics

Sunday, October 01, 2023

3D hand print: from atoms to bits and back to atoms

I adapted the idea from a tutorial at the Prusa Printables education site (free for schools, universities and other educational institutions but you have to apply to register) to develop an interesting 3D print of my hand

The tutorial was Autumn Leaves by Vesela Skola

I wasn’t happy with the recommended image to SVG converter so I searched around and one that worked well for me: Free image to SVG converter

The Autumn Leaves tutorial taught me how to prepare the images and then in Prusa Slicer to superimpose a hand image showing fingernails and knuckles onto the full hand backdrop. It also showed me how to alter the settings to print the hand with infill only (30% honeycomb) thus producing an attractive mesh effect.

Sunday, July 16, 2023

working with clay

Here are my notes on working with clay to make the Turtle Art designed - 3D printed impression shown above. See the link at the bottom for the back story. My first template was 7.5mm high. I experimented by reducing the height to 2mm so as to reduce printing time. I'm happy with 2mm but you need a pair of pliers to remove the template from the clay.
  • air drying clay – wrap in gladwrap after using and place into an air tight container
  • Plastic mat - bought at Woolies after failing to find wax (water resistant) paper
  • 3D printed template – to make an impression in the clay, 90mm x 90mm x 2mm high
  • square perimeter template to neatly cut out around the clay 95mm x 95mm x 10mm
  • rolling pin – bought at Coles – I try to roll the clay to 6mm thickness – what I’m missing is a couple of wooden guides at the side 6mm thick, see the pic from the Turtle Art Tiles Project Guide ->
  • Sharp knives – I used the smaller one to cut the clay packet and the larger one to trim the edges after I had applied the square perimeter template
  • Pliers – I needed these to remove the 3D printed template from the clay after I had made the impression
  • Tweezers – I used these to tidy up some raised sections of clay after I had made the impression
  • Water – I didn’t use water this time but handy if you have to join sections of clay together. But since our clay work is so simple – just roll a slab of clay to 6mm thickness it normally won’t be needed – if you have to join separate bits of clay just roll them together vigorously and then flatten it out with hand and rolling pin
  • Scraper – I used this to remove the clay from the mat after I had made the impression
Related: Turtle Art Tiles Project

Monday, July 10, 2023

turtle art tiles project

Do you want to make this? Looks interesting!
Pics from Turtle Art Tiles Project Guide

I’ve been in possession and an admirer of Josh Burker’s Invent to Learn Guide to Fun book for a while now. My interest was further piqued when Sylvia Martinez and Gary Stager made an online offer of a version of his “Turtle Art Tiles” Project. Then, recently, I was given the opportunity to teach a Year 8 “Inventiveness” class at my school. So, I thought this would be an ideal project for this class.

This project involves some significant transformations from bits to atoms: from Turtle Art, to Tinkercad to 3D prints and then to a painted clay product. I’ve previously had some experience in the first three but working with clay is something new for me.

First up, you make a design in Turtle Art. I didn’t copy either guide here but decided to make a well known tessellation that I had done before:

Through Turtle Art you can then save as an SVG and from there import it into Tinkercad. Once there I used the ruler to resize the shape to 90x90x7.5 mm. Then export the file from Tinkercad as an STL and import it into PrusaSlicer.

Next 3D print the shape and use the print to imprint the clay and, finally, paint the clay:

OK that’s one down and I can probably do better next time, especially with the clay and paint section.

I will now write in more detail about bringing this activity into my Year 8 "Inventiveness" class, which is due to start in a couple of weeks.

I can anticipate issues that will arise. It’s a large (22) mixed ability class. Some of the students will be enthused and eat it up, others will struggle with the complexity of it … coding, variables, file management, the transformations, messy clay and other technical / personal / attitudinal issues I can’t even imagine yet.

Economics: Currently my school is cash strapped. There is no shortage of computers or internet but for the clay steps to happen probably I will have to buy the materials myself. Partly because of that I’m thinking about alternative pathways. But I have other reasons too.

Bottlenecks: I’ll be taking my own Prusa 3D printers to school for students to use. I own 4, two MINI+’s and two MK3S+’s. But four is not enough given that 3D printers are slow. So, at this stage of the process I’ll need to create larger groups, perhaps size 4, and students will decide on which print will go ahead.

Pathways for all: This project is really interesting but I wouldn’t describe it as easy. It fits more into the “hard fun” category first described by Seymour Papert and further pursued by Burker et al. Also, Paulo Blickstein & Marcelo Worsley warn us that most children are not hackers and good teachers should provide alternative pathways, something to suit all. It’s good to challenge students to leave their comfort zone but if we make it too hard then some are likely to shut down. This leads on to the next points.

SOME BRANCHING ALTERNATIVE OPTIONS

Turtle Art Colouring in: The patterns can be coloured in at the Turtle Art stage using the start fill and end fill blocks. There is room for artistic expression here.

This colouring has been done by Turtle Art

Shape making: Barry Newell has written a lovely book called “Turtle Confusion” which contains 40 shapes that gradually increase in complexity. Shape 1 is a square. From shape 16 on the shapes become combinations of earlier shapes. This sheet provides different levels of complexity and in that way suits a mixed ability class. I’m in the process of developing a new sheet based partly on Barry’s 40 shapes and partly on some of the shapes shown in the picture above, taken from the Turtle Art Tiles Project Guide.

Shape 32 from Barry Newell's sheet is composed from lines, squares and an octogon.
My refactored Barry Newell sheet showing pathways between shapes

Group work: Students should sometimes work individually (eg. when learning Turtle Art initially), sometimes in groups of two (eg. when working on more complex shapes) and sometimes in larger groups (eg. when working with the 3D printer and clay).

Open Source: At some stage I should make the Turtle Art work that the more capable students have produced available to all. Otherwise some of the less capable students won’t end up with a good design to go to the next stage.

Paper and pencil work from 3D printed templates: Instead of the clay step some students might opt for a paper and coloured pencil alternative. That is, using a modified 3D print to trace the pattern onto paper and then creatively colouring it in. For those who choose this path it would be better if their 3D print had narrow walls, which are set at the Turtle Art step (default pensize is 4, reset to 1). So there needs to be planning ahead for this option.

Actually, this is an old one I did use cardboard templates (hexagon, square, triangle)

Necklace option: I could offer students the choice of making a 3D printed necklace, rather than a clay tile finished product. This is described in Josh’s “More Fun” book using Beetle Blocks software (pp. 86-88) but that could be adapted easily to Turtle Art software.

Here are 3 random sized outputs of a rotated heptagon necklace in the slicer and after printing.

All of this strikes me as a pretty reasonable outline for my Inventiveness class – motivating, multifaceted learning and a safety net for challenged students. In the process I’ve revisited some of my established skills and learnt some new ones too.

Reference:
Blickstein, Paulo and Worsley, Marcelo. Children Are Not Hackers (2016)
Burker, Josh Invent to Learn Guide to Fun (2015), pp. 107-113
Burker, Josh Invent to Learn Guide to MORE Fun (2018), pp. 86-88
Newell, Barry. Turtle Confusion (1988)
Stager, Gary & Martinez, Sylvia. Turtle Art Tiles Project Guide (adapted from the original Josh Burker article)

Software:
Turtle Art https://www.playfulinvention.com/webturtleart/
Tinkercad https://www.tinkercad.com/
PrusaSlicer https://help.prusa3d.com/article/download-prusaslicer_2220

Saturday, December 03, 2022

Sierpinski Pyramid Lamp

I love my Sierpinski Pyramid lamp! This is a combination of Fractal maths + 3D printing + Circuit Playground Express and the result is beautiful!

video update: 24/6/23
/update

The original Sierpinski pyramid print design by ricktu is here: Fractal Pyramid with Continuous Cross-section

Then Chaz493 thought of turning into a lamp using transparent filament and a base here: Fractal Pyramid Lamp and Base

After I printed the base and pyramid I thought of lighting it up by inserting a couple of CPX's (Circuit Playground Express) coded for light patterns in the base cavity. This worked a treat.

Related: Sierpinski Pyramid