Build It
Mosaic Palette 3 (Pro) - remote control from your browser
Remote control your Mosaic Palette 3 (Pro) from your computer via a web browser. Validated to work with firmware v21.11.04.0 You will need: The IP address of your P3(P) A computer with a browser on the same network as your P3(P) Open a browser and go to: http://<IP address of your P3(P):5000 (For me it looks like this http://192.168.1.205:5000) All elements are click-able - it seems to be the identical interface as seen on the LCD Display.
Flashforge Creator 3 and Mosaic Palette 3 Pro
A few notes on how to get the Mosaic Palette 3 Pro (P3) and the Flashforge Creator 3 (C3) to work together. Currently the C3 and P3 only work together in accessory mode. This means that - using Canvas - you will slice and then upload the .mafx file - via USB stick - to the Mosaic Palette 3 Pro .gcode file - via USB stick or Flashforge - to the C3 The process is syncronised as the C3 pulls the filament. These notes are work in progress, and we will keep adding bits as we discover new things. Setup When it starts up first time out of box - after Wifi is setup - it will detect a firmware, however suggest to download via USB (see Tips on USB Stick). If you don't want to use USB, you can cut the power and restart. While you might have to go through network setup again, it will this time allow the download of the firmware. The extruder height is 116cm The Mosaic clip does not seem to be needed, however recommended as the tube from the P3P is slightly smaller outer diameter. Once the P3P shows "Load Printer" - pull out the filament by hand *a little bit* to have enough length to engage the filament gear. Make sure it is in "Load Printer" mode to ensure P3P has a chance to consider the filament pulled by hand. Only Accessory mode - .mafx file must be uploaded via USB - even with connected Canvas Disable filament detection for both extruders if you have configured the printer in Canvas with two extruders. The print will trigger dual extruder mode in this case, even if you are only using one extruder. Palette tube is connected directly into the extruder Canvas Create Printer as import from other slicer (Simplify3D). Download from here. Change Temperature Settings from profiles as needed Extruder 1 is right extruder. Extrude 2 is left extruder (when configuring the printer). Printing The mosaic clip is not required C3: Make sure that the both extruders is moved out of the way - just above the waste bucket P3: Make sure that PFE tube is not inserted P3: Click start and load the .mafx file from the USB drive. See "Tips -> USB Stick" if you can't see the file P3: starts splicing and feeding the filament - once done a bit of filament will stick out of the palette filament tube and ask you to "Feed Extruder" C3: insert that filament into the gear (remember to press down the gear lever) C3: insert the PFE tube into the C3 feeder, while keeping the filament feeder pressed down C3: Double check that the extruder is over the waste bin, otherwise it will extrude the filament while loading over the bed. go to filament menu and load the filament - keep an eye on the p3 as it counts down - under "Stop in x mm"- the filament left to extrude on the "Load Printer" screen C3: Press "Done" on Creator 3 to stop loading when P3 displays "Stop Loading" Don't stress out if you miss the exact point - the P3 will compensate. C3: Once the P3 displays "Start On Your Printer" - clean off the the extrusion and click "Finish" P3: will display the print screen and show the progress as the C3 pulls the filament. C3: Once down, purge the remaining filament by doing a filament load. Side Transition Instead of creating a wiping tower, Canvas can purge filament straight into the waste bucket by using the "Side Transition" feature. Printer Setup - Transition Below an image of the settings in Canvas when using the right extruder. Note: We can't upload the gcode via FlashPrint as FlashPrint will validate the code and raise an error as we are trying to move outside of the printable area.Only option is to upload the file via USB or SFTP/SCP into /data. Printer Setup - Sequence Next - we need to setup wipe instructions. Edit the printer settings and under "Sequences" add to the "After side transitioning" section the following GCode: ; -- begin wipeG1 X186 Y45 F0G1 X181 Y15 F0G1 X181 Y45 F0G1 X177 Y15 F0G1 X177 Y45 F0; -- end wipe Canvas - Project Settings - Transition In Canvas we need to switch the transition from "Transition Tower" to "Side Transitions" and set a suitable transition length. We are currently using 110mm - this has been so far enough to purge the previous colour. Tips USB Stick must be formatted as exFat. Note: The Mosaic USB came as Fat32 and any files copied onto the stick wasn't detected by the Palette 3 Pro. I wasn't able to use the same USB stick for the FF C3 - doesn't seem to like exFat. The synchronisation between the C3 and the P3 is via the filament pulled. It is important to have the extrusion calibrated on the C3. For failed prints, there will be a significant length of filament in the PFE tube and P3 which will need to be removed/cleared (aka pulled out).At the moment we are keeping those and will explore later if they can be used for prototypes where colours don't matter. Have a 7cm long PFE tube ready for splice tuning to insert into the outport of your P3P - this will remove the need to remove it to pull/clear the filament Great splice tuning/trouble shooting guide here. While it is for the P2(P) it applies well to the P3(P) Slice tunning settings are not always applied. Ensure to click on the colour, then the material setting and then on "Slice Settings".You can also check if the slice tunning settings have been applied by unzipping the .mafx file and checking the heat/compression/cooling values under "algorithms" in the palette.json file.
How-To Arduino Wifi (ATMega328P+ESP8266)
Alert System with Photo Resistor, Buzzer and Laser (Concept)
What we want to achieve Using an Arduino - we are using a Nano V3.0 compatible board - we want to demonstrate on how an alert system could be build, where an alert is triggered if an object interrupts the path of light. Think of a customer entering a shop, an intruder entering an area. You could reverse the example and trigger an alarm when the light path is restored - for example to detect if an object has been removed. Note This tip uses a laser as a directed and focus light source. While we are only using a 650nm 5mW laser, please be always careful not to point the laser at persons, animals. Our code can run in two modes 1) It will continuously sound alarm once it has been triggered. Only way to stop alert is reset the Arduino 2) It will sound alert when light path is lost and will stop sounding alert once light path is restored. Requirements Arduino (compatible) development board - we used the Arduino Nano compatible board (see here) Laser Transmitter Module - KY-008 (see here) Passive Buzzer Module - KY-006 (see here) Photo-resistor Module - KY-018 (see here) Arduino IDE (download here) Restrictions This tip is focused on using the Arduino IDE How to Wiring KY-006 Arduino Pin S D4 Pin (middle) NOT USED Pin - GND KY-018 Arduino Pin S A0 Pin + VCC Pin - GND Code //// Photo Resistor Module KY-018 and Passive Buzzer Module KY-006 for Arduino// 20 January 2020 // Author: dante@serveronthemove.com.au//// Hardware:// Arduino// Photo Resistor Module KY-018// Passive Buzzer Module KY-006//// Wiring:// KY-018 -> Arduino// S -> A0// + (middle) -> VCC 3.3V or 5V// - (GND) -> GND//// KY-006 -> Arduino// S -> D4// (middle) -> NOT USED// - (GND) -> GND//// Purpose:// Sound alert when photo resistor is no longer getting light.// The code supports to modes controlled by "TriggerModeOnce"// triggerModeOnce = true; // will sound alert once light source is lost and will continue to sound even if light source is restorted (Intruder alert). To reset, push reset button// triggerModeOnce = false; // will sound alert only when light source is lost. When lught source is restored, sound stops (visitor entered shop)//// Hardware configint photoModule = A0; // S Pin of Photo Resistor Module KY-021 on Arduino A0int buzzerModule = 4; // S Pin of Passive Buzzer Module KY-006 on Arduino D4// Software configboolean triggerModeOnce = true; // will sound alert once light source is lost and will continue to sound even if light source is restorted (Intruder alert). To reset, push reset buttonboolean photoTriggered = false; // indicator if photoresistor lost light sourceint triggerThreshold = 150; // threshold for alert trigger. Anything beyond this value coming from Photoresistor will trigger alert// setup PINsvoid setup() { pinMode(photoModule, INPUT); pinMode(buzzerModule, OUTPUT); }void loop() { // sound alert if // 1) threshold is exceeded - or - // 2) triggerModeOnce is alert and has been triggered before if ((analogRead(photoModule) > triggerThreshold) || (photoTriggered && triggerModeOnce)) { photoTriggered = true; // mark trigger // reset buzzer digitalWrite(buzzerModule, HIGH); digitalWrite(buzzerModule, LOW); // sound alert with PWM for (int i = 0; i < 80; i++) { // make a sound digitalWrite(buzzerModule, HIGH); // send high signal to buzzer delay(1); // delay 1ms digitalWrite(buzzerModule, LOW); // send low signal to buzzer delay(1); } delay(50); for (int j = 0; j < 100; j++) { //make another sound digitalWrite(buzzerModule, HIGH); delay(2); // delay 2ms digitalWrite(buzzerModule, LOW); delay(2); } delay(100); } else { // make sure is down digitalWrite(buzzerModule, LOW); }}
Mini Reed Switch Module KY-021 on Arduino
What we want to achieve Using an Arduino - we are using a Nano V3.0 compatible board - we want to turn on the on-board LED (LED_BUILTIN) on when no magnetic field is present, simulating the way security switches on doors and windows work: Attached to the door or window frame is a Reed Switch, on the movable part - the door or window - is magnet. In closed position it will be near enough to the reed to close the circuit.When the door - or window - is opened, the reed will return to open position and the Arduino will trigger the LED - or any other operation - to alert of the door being opened. Of course we can use only the Reed Switch, however the module makes it a bit easier. Instead of triggering the LED_BUILTIN, you can trigger an external LED or other output devices, send messages, etc. Note Triggering a LED with the reed switch can be accomplished without the Arduino and we might give a tip on this later. Requirements Arduino (compatible) development board - we used the Arduino Nano compatible board (see here) Our Mini Reed Module KY-021 (see here) Arduino IDE (download here) Restrictions This tip is focused on using the Arduino IDE How to Wiring KY-021 Arduino Pin S D3 Pin + VCC 3.3V - 5V Pin - GND Code ///// Reed Mini Module KY-021 for Arduino// 18 January 2020 // Author: dante@serveronthemove.com.au//// Hardware:// Arduino// Reed Mini Module KY-021//// Wiring:// KY-021 -> Arduino// S -> D3// + (middle) -> VCC 3.3V or 5V// - (GND) -> GND//// Purpose:// A LED will be off and turn on LED_BUILTIN when magentic field is introduced, simulating an alert light when a door is opened.//// Note:// If you find the LED behaviour reversed - start turned on, and turn off when magnetic field is introduced -// you can reverse + and -int reedModule = 3; // S Pin of Reed Module KY-021 on Arduino D3void setup() { pinMode (reedModule, INPUT); pinMode (LED_BUILTIN, OUTPUT);}void loop(){ digitalWrite(LED_BUILTIN, digitalRead(reedModule)); // when the magnet is removed , turn LED on}
Nokia 5110 PCD8544 with Arduino - the easy way
Using nodeMCU ESP2866 Boards with Arduino IDE
What we want to achieve We love the nodeMCU ESP8266 boards, especially with Lua. But Lua is not everyone's cup of tea and we want to use NodeMCU straight out of the box with the Arduino IDE to upload sketches. Using a nodeMCU ESP8266 development board and Arduino IDE we will upload a small sketch which will flash the Built-in LED as well as output the available WiFi Access Points. This is the same sketch to test our boards before sending them out to you. Requirements Our nodeMCU ESP8266 development board Arduino IDE Restrictions This tip is focused on Arduino IDE and our nodeMCU ESP8266 How to Connect your NodeMCU to your computer and fire up Arduino IDE In the Arduino IDE - under "Preferences" add as "Additional Boards Manager URL" the URL http://arduino.esp8266.com/stable/package_esp8266com_index.jsonand press OK (twice) Go to Tools -> Board -> Boards Manager Type "ESP8266" in the search field and then install Go To Tools -> Boards and select NodeMCU 1.0 Upload the sketch below Open Serial Monitor to see the WiFi APs found. Observe the Built-in LED Flash Code /* * Test sketch to validate NodeMCU ESP8266 is working * * Server On The Move */ #include "ESP8266WiFi.h" void setup() { Serial.begin(115200); // Enable station mode and - just in case - disconnect from previous Wifi WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); Serial.println("Setup complete"); // Set Built-in LED to output pinMode(LED_BUILTIN, OUTPUT); } void loop() { Serial.println("Start Scanning - please stand-by"); int n = WiFi.scanNetworks(); // how many did we find ? Serial.println("Scanning complete"); // nothing found :-( if (n == 0) Serial.println("No Networks found."); else // found something { Serial.print("Networks found: "); Serial.println(n); for (int i = 0; i < n; ++i) { // Show each SSID and its RSSI (quality of network). // Mark encrypted networks with a "*" Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"); delay(10); } } Serial.println("Performing Flash of BUILTIN LED"); // Do LED blink digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(250); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(150); // wait for a second digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(250); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(150); // wait for a second digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(500); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW // Wait a bit before scanning again delay(5000); }