Infinity Portal
Last updated : April 10, 2024 @ 3:34 pm

This project came into being from seeing a small infinity portal that my son got from on these ‘Kids Kits’ companies. Its a nice little kit and works well. It has two two-way mirrors and a simple blue LED strip with a dual coin cell battery. 
But… well I thought I could do better and that led to this whole project. One thought lead to another and it became a project that I thought I might be a product I could try sell. In small quantities anyway. 

There are a couple of parts to this idea:  

  1. Creating a fun kit for kids and adults
  2. Creating a project that can be expanded
  3. Going through the process of designing a full product that can be (home) manufactured, marketed and sold

Ideally, I would like to create this in a way that users can extend and add functions to. Not quite sure how I’m going to do that and will only look at that for Phase 2. But, I do need to be able to update the software to cater for that.

Updates :

1. On hold – looking at new electronics and smaller LED strip so as to incorporate two rows.

A fun kit for kids and adults

The most important part of this product is that its supposed to be fun….. and educational. I wanted to do a kit for two reasons. First, its fun to build up kits, and second, it cuts down of production costs/time. Creating a kit is also quite a learning curve for me as I need to ensure that it’s both easy to manufacture and build. It does, however, also mean I need to put together clear instructions – That should be fun!

Creating a project that can be expanded

One of the main aspects of this project is to add functionality so that the user can add to it. This will probably only be in the form of software, but I like the idea of adding some Scratch or RedNode blocks so that young users can really have a play at making different light sequences or even very simple voice recognition.

Full Product Design

Now, this is not that easy. I certainly found this quite a challenge and I’m only doing this small scale. When you build something for yourself it’s a whole lot easier as there is a lot you can get away with. When designing something to sell it’s a whole lot more complicated.

Deciding whether to not to add a battery or use an external power supply. What about charging batteries, can it just use USB power (it would need to be an externally powered hub to cater for the USB load limitations from devices).

What material should I use? How best to manufacture this from home. I have a 3D printer, a CNC and a laser cutter. Which is best to use? Each offers pros’s and cons.

And Cost – Boy, that can blow up. My initial idea would have meant I would need to sell these for around £100 to make a profit. No way is anyone going to pay £100! So I needed to get it down to a price point that would not compromise quality or functionality (too much).

Ill take each of these issues and discuss….


With every step of the design process, I needed to think about the material properties and how it’s cut. I needed to think about the construction, both from a manufacturing point of view as well as how it would work as a kit. It’s pointless having a kit that is very hard or fiddly to construct. This product is not aimed at experienced model builders. The frustration level needs to be minimal.


From an electronics point of view, I needed to decide whether or not to use batteries, external power or a combination. For prototyping, I used the Arduino Nano Every because of its small footprint as well as pin breakouts. But for production, this is a very pricy option. At around £20 each for small quantities it’s not viable. But the Nano does not have Wi-Fi or Bluetooth, so that would mean adding another module to cater for that. As part of the coding kit idea, I will need to connect to the device via either network or Bluetooth.
For the initial prototype, its not going to have any Wi-Fi or Bluetooth so the Nano is fine for now. But I will need to move to a different platform – probably the ESP32 which as both Wi-Fi and Bluetooth.


For the prototype, I’m using Arduino framework, mainly due to the fact that there are so many available, free libraries to use. Its makes for quick(ish) prototyping. However, I’m not using the Arduino IDE (original or V2). I have never liked the IDE for many reasons. Instead, I’m using PlatformIO which is a Visual Studio Code plugin. Visual Studio Code itself is a great programming IDE and PlatformIO adds the tools for Arduino including a bunch of libraries.

Ideally, I will keep this open source so that others can tinker. Keeping the code on the Arduino platform (which is fine for the Nano or the ESP8266) would be ideal as its a much more accessible platform. I think ESP32 on the Arduino platform is a bit more complicated – I need to check that.

User Interface

This ended up being another challenge. Initially, I used 4 rotary switches. The feel of these switches is fantastic and easy to integrate with the available libraries for Arduino. But they are a little on the pricy side, and ideally, I needed to keep them cheap.

The next issue was the menu system. I could have added a 7-segment display to select and display the ‘program’ to run. But that seemed such a waste as there is a whole string of LED’s to use. I ended up using a menu system using the LED strip that I think works well. The menu is simply a set of LED’s that can be rotated by the ‘Up’ and ‘Down’ buttons. Each menu item is a different colour. When selected, the display sequence or effect is run. As there is no text anywhere, you do have to remember the colours, but it might be fun if you can’t – just see what comes up.