Thursday, October 1, 2015

makeup for 3D printed parts

yes, among the many things yours truly could do: 3D prints, 3D scans, CNC mill; but his lack in the department of aesthetics is severe. Same as everything pretty, makeup must be applied for aesthetics reasons.

If you recalled many full moons ago, yours truly  created a personal seal using only digital fabrication techniques.  The 3D printer of choice is still the ultimaker2, materials of choice is PLA, and 3D prints at 100micron layer height. 100 micron seems to be pushing the envelop for desktop based 3D printers. This choice of layer height and without makeup is good enough to ornate yours truly office. Assuming the 3D printed object need to be used to handle other materials with "fine" particles as the by product of the material, it falls short. The grooves between each layer of prints could possibly habours dirt, or worst, sickness inducing bacteria. Hence, there were some suggestions on the Internet on how to do post treatment to PLA 3D printed parts  aka makeup to achieve water tight, smooth finish, and the pinnacle of all post treatment/makeup: food safe grade, i.e food debris will not be caught in-between the layers and prohibits bacteria growth on 3D printed parts.

The suggestions for post treatment aka makeup for 3D printed parts. Some suggested to use food grade PLA, but the grooves between the layers are still a nuisance to human health, and boon to bacteria. Sandblasting on the 3D printed parts to get a smooth matt finish, doable, but access to machine might be prohibitive. Coating the 3D printed parts with food safe resin, definitely doable. your truly have not got the chance to do any of the above, yet.

So, the adventure begins at bangkok mini maker faire and yours truly chance upon "solution X aka solution 555" (5 in thai language rhymes with ha) for post treatment of 3D printed parts, by one of the makers presented there.

Saw the makeup demo on PLA 3D printed parts, and was quite intrigue at the speed of the post production of 3D printed parts; yours truly can't wait to get his paws on them. unfortunately, he is such as cheapo and bought the cheapest air ticket without check-in luggage. Of course you know the airport security is very tight and will not allow liquid > 100ml per bottle on board. tough luck. yours truly struck a deal with native partners, co sharing 400g and 500g bottles of "solution 555" into smaller bottles < 100ml . yours truly could not sleep, due to the fact of the access to 120ml worth of solution 555 makes him keep waking up at night. Yes, yours truly is an impulsive buyer, buying things that caught the cat's curiosity. He walked away with the last set of solution 555 kit available for sale on that rainy day, without means to bring it back to aiur.

Social capital plays a big part in how yours truly manage the issue of getting it back without paying extra for check-in luggage, nor breaking any laws. The rest was history.

the full kit: 500g of grey and 400g of white. yes, instructions is in thai language.

The first victim to be applied with solution 555 makeup. 3D printed lion head from a previous project: ultimaker2, 100micron layer height, PLA
closeup: sorry for the lousy picture quality. yours truly used a 2year old phone camera for this.
mix 3 part from grey bottle and 1 part from white bottle. gettin ready to makeup with the mixture.
can you tell which is with makeup and which is without makeup?
ooops... yours trully missed a spot.

conclusion: money well spent on "solution 555". after the first layer of makeup, the visible lines along the layers smoothed, it has a glossy look, and definitely would be better with more layers of makeup. The 3D printed part earned the permission to be relocated in the house from his missus. 

Wednesday, September 9, 2015

Stream IoT sensor data ESP8266 NodeMCU v1.0 ESP12-E with Arduino IDE

Stream IoT sensor data ESP8266 NodeMCU v1.0 ESP12-E with Arduino IDE
Streaming sensor data using ESP8266 NodeMCU v1.0 ESP12-E with Arduino IDE to Thingspeak

Sorry for the long hiatus, yours truly was busy trying to put bacon on the table, and also playing catch-up with the increasing rent.

Back in late 2014 and early 2015, your truly came across this nifty WiFi Chip ESP8266 (the ESP-01) and have to battle among the inconsistent documentations from various sources. For the spur moment, he documented his frustrations (findings) as an instruction guide ESP8266 guide or on instructables ESP8266 guide . In due course, the ESP8266 WiFi has opened a whole new window of opportunity for him and his padawans.

The caveat at the moment of writing in 2014/2015 was to find a way to eliminate the “middle” MCU, the well-loved Arduino Uno (or Arduino Mega). It doesn’t make sense to forgo the ESP8266 that sports a 32bit CPU by using an Arduino Uno that sports an 8bit CPU for computations. Over the several months of dec14 to sept15, several IDE flavours/methodologies was released on the Internet to use standalone ESP8266, e.g to use ESP8266 and the available IO pins sans the Arduino Uno or Arduino Mega. From retrospective view, the cost of deploying an IoT framework to collect data has gone down drastically with just the standalone ESP8266 alone as the sentinel device.  The flavours of standalone mode are ESP8266 Lua, and ESP8266 Arduino IDE. Check out the reference section for details.

After two Maker Faires (Maker Faire Singapore, and Maker Faire Shenzhen), one Tan Kah Kee Young Inventors Award which students won a Merit Award, one SUTD Design & Technology Contest which students won third prize and merit prize, one IDC Robocon which students represented Singapore, one IEEE AIYEHUM 2015 which student shortlisted as finalist, and countless submissions later; the hiatus is over. In Maker Faire Shenzhen, yours truly rub shoulders with several big names in the industry; perhaps the mostly-male playing field (for the record there were females; @juliewatai @sexycyborg, etc were surrounded by hordes of testosterone raging males armed with cameras of various sizes firing away, while your truly observe with amusement from afar) and the maker-ish aura projected by yours truly. One of them was Zhao Zong (赵总) of AI Thinker, the manufacturer of NodeMCU (a breakout version of the ESP8266 ESP12-E and CP2102, with out of the box support for LUA). Yours truly landed his salty porky hands on a bunch of NodeMCU v1.0 at very competitive price (友情价).

In this write up, yours truly is introducing the use of NodeMCU v1.0 (black) with ESP8266 Arduino IDE 1.6.5. There are lots of write up on the NodeMCU v0.9 or ESP8266 ESP-01 and variants with LUA, but information is scarce for NodeMCU v1.0 and ESP8266 Arduino IDE. This post is also a superseding update of an earlier how-to post of using ESP8266 ESP-01 with Arduino Mega and the temperature data is streamed to thingspeak .

Parts needed
1x DS18B20 temperature sensor with 4.7k resistor across vcc and data pin
1x NodeMCU v1.0 (black)
1x Access Point Connected to Internet

Source code available at the footer
Thingspeak account setup, and API key acquired.

Caveat: the physical pin2 on NodeMCU v1.0 does not corresponds to pin D2 in Arduino IDE. Check out the URL in the references.
1.      It is assumed that the Access Point is able to access to internet, and a thingspeak account is set up accordingly.
2.      Connect 3.3v and gnd from NodeMCU v1.0 to DS18B20 respectively.
3.      Connect data from DS18B20 to pin4 on NodeMCU v1.0 (in code, it will be used as pin2)
4.      Connect microUSB to NodeMCU v1.0

5.      Launch ESP8266 Arduino IDE, Select Tools -> Board -> NodeMCU v1.0; and ensure parameters are correct. Refer to screenshot. 

6.      Ensure the libraries required are installed, Select Sketch -> Include Libraries -> Manage Libraries or add zip library
7.      Program the source code to read DS18B20 using one wire protocol and the acquired data to be sent to thingspeak.
8.      Compile & upload source code to NodeMCU v1.0 

9.      Observe data update of sensor data on thingspeak.

Having done the above, congratulations on sending sendor data using NodeMCU v1.0 with Arduino IDE. Now the biggest question comes begging, does this ESP8266 Arduino IDE supports all the fancy pansy libraries supported on vanilla Arduino IDE?? That is for us to discover and update on the git hub page.

Internet enable any of your creations realised on Arduino Uno (or mega) have become even simpler than previously thought. Yours truly traversed the era of sending serial data, packing data for Ethernet, WiFly, ZigBee, and now ESP8266. ESP8266 is very convenient to use.

What’s next?
Alright, time to internet enable my sous vide setup: temperature sensor DS18B20 data streamed over the Internet to a cloud computing facility to compute PID and then output the control data over the internet to control the state of the solid state relay that in turn controls the AC appliance. Earlier yours truly have controlled a IoT lamp from a virtual machine, now is to connect the dots.


thingspeak data update iframe

source code

Friday, July 10, 2015

Maker Faire Singapore 2015 SP Makers FabLab@SP Makerspace@SP booth

check out our booth at Maker Faire Singapore 2015!

Look out for the laser cut acrylic signage we made with attiny85 ws2812

some of the maker inspired projects you will see at maker faire singapore:
techno mohawk v2.0

attiny85 ws2812 spectrum analyzer

attiny85 ws2812 fastled electret spectrum analyzer

maker faire singapore 2015 sound to light gizmos using attiny85 ws2812 fastled spectrum analyzer

check out the video here:

source code: here

Techno mohawk v2.0 Arduino ATtiny85 RGB LED Spectrum Analyzer

techno mohawk v2.0 for maker faire singapore 2015.
made a maker hat for maker faire singapore 2015.

for more details about how to make it, refer to my blog post