-
Sensor Board v2 - Complete at Last!
08/25/2016 at 16:11 • 0 commentsThose of you who are keen eyed might have noticed that I changed the cover photo for this project a few weeks ago, when I pretty much finalized the design for v2, scheduled to be installed sometime in September. I'm happy to announce that I finished testing the sensor board and everything seems to work as intended.
Check out some photos:
The range of the proximity sensor has dramatically improved over version 1.5, where the maximum range is less than 10cm. v2's proximity detection range is around 25cm, which is a much more reasonable range to trigger the night light. The firmware has been updated as well (go to my github)
The next step is to finalize the firmware for the ESP8266. I'm going to port all my code to the wonderful Homie library. It does pretty much everything I wanted to do but it's a lot more polished.
Until next time!
-
Sensor Hardware Files Released!
08/18/2016 at 20:27 • 0 commentsQuick update:
The PCB files for the sensor board is now on my github repo. -
ESP8266 Firmware Published!
07/15/2016 at 16:02 • 0 commentsI managed to get the ESP8266 firmware up to a reasonably usable state this week. You can find them on my github here.
The ESP8266 is set up to communicate over MQTT (shoutout to Elliot for his wonderful mini-series on MQTT). Button and relay operation is prioritized higher than any networking features since these are the primary functions of the device. The repo is likely to be updated quite frequently as I prepare for installations in September.
Right now I'm playing around with my broker/hub configuration. The hub project page will be seeing more updates when I find a configuration that I like.
That's it for now. As always, chat with me if you got any ideas!
-
Functional Prototype Complete!
07/08/2016 at 17:32 • 0 commentsQuick update:
Got the ESP8266 working. Using adafruit.io as a temporary mqtt broker which works fine. A bit of hardware refinement and I can replace v1 in my wall soon.Next step:
Relentless software polish.
Also, I'm starting up the Thermostat/Hub project again.
Update: firmware uploaded to GitHub
-
v2 - Future Proofing
06/05/2016 at 00:22 • 0 commentsA few months back, I pushed the ATMEGA256RFR2 to the limit. It was no longer sufficient for what I need.
During this time, I played with a few different MCUS, including ESP8266 and some NXP chips. This created another problem - whenever I needed to switch chip vendors, all the code had to be re-written. The time cost was simply too big to continue, so I had to find another solution: decoupling the sensors with the main processor. What does this mean?
Basically, I replaced the RFR2 with an ATMEGA328P(B), and put all the sensors on a single, 1 square inch PCB. Choosing the 328 ensured that my code could be reused, thus saving a lot of time. The 328 is responsible for processing and transmitting the sensor data over UART, so that I can use any network processor without having to re-write the sensor code.
This independence also means that the sensor board and the main MCU can be upgraded separately. The advantage of this design is quite obvious.
There are also numerous other design changes made. I will go into more detail once I finish with the sensor board.
-
Update: Next Iteration Hardware
11/28/2015 at 00:41 • 0 commentsLast time I briefly wrote about the upgrades to the sensors and firmware. Today I'm writing about the newly redesigned hardware that's almost ready to be sent to the fab.
The previous version of the hardware had the logic board inside the plastic casing. It was fine for the simple analog sensor, but with the switch to the more complex digital sensors, it became too much to handle. This, in addition to all the "accessory" boards, made hardware design difficult in general.
Eventually, I had to make a decision to scrap my current design and re-design the entire logic assembly. After long hours of re-thinking and re-designing, I was able to condense 5 PCBs into a single one.
Here it is:
Left: New Design. Right: Slightly updated older design.
The new board is 30% smaller, and uses board space much better than its predecessor. Instead of fitting inside the case, the new board fits inside the button. This means that the ICs and sensors have more airflow around them, the ambient light sensor sits flush with the button without an adaptor board. Most importantly, the antenna is brought outside the wall, which is much better.
The area containing the main MCU is sized to fit several wireless modules, in anticipation of switching to the ESP32 sometime next year (assuming the ESP32 does what I think it does).
I'm going to send these to the fab sometime within a few weeks. Assuming everything works, I will be giving away some of the leftover boards to people who are interested in this little project.
Until next time!
-
Next Iteration
11/05/2015 at 22:40 • 0 commentsIt's been a while since I posted an update, so I think a progress update is in order.
I've been using the previous prototype for the last 3 months, and every day I'm discovering what tweaks are needed to create more useful data, as well as improving the user experience. I'm going to list some of the changes below:
Mechanical:
- The mechanical assembly is narrower
- A new, simpler hinge mechanism was designed
Electronics:
- The iBeacon components have been removed.
- The potential cost of the iBeacon assembly was used to upgrade the sensors. Instead of the analog temperature and ALS sensors, all the sensors have been upgraded to digital
- The NTC was replaced by a BME280, which measure temperature, humidity, and pressure
- The Ambient Light Sensor was replaced by a APDS9960, which measures RGBW, proximity, and gesture
- A magnetometer was added to obtain the direction the light switch is facing
- An additional "Neopixel" was added to make night light stronger.
On top of these changes, the PCB layout was changed to accommodate any future sensor additions, which means that as time goes on, an I2C enabled BLE unit can be installed to regain any iBeacon functions.
Software:
- The entire code base was updated to be more efficient.
- OTA update is making progress
Feature Design:
One of the main problems with "smart devices" that purely provide data (such as fitness trackers) is that the people who use them don't know what to do with the data presented to them. The feature list was revised to make the data "actionable", which means that the network will act (or not act) automatically based on data, or the data presented to the user will trigger them to make decisions to act (or not act)
I will have more information as the next iteration gets built and assembled. Depending on where the next batch of PCBs are ordered, I may also have some to give away to people who are interested in testing this out.
That's all for now.
-
Firmware Files Released
08/17/2015 at 20:09 • 0 commentsToday, I released the firmware files for the light switch on my Github repository. The code has been completely re-written and cleaned up. Features that were deemed not ready for public release have been removed for now, and I will update the code as those features are re-written to a higher working standard.
Release notes for this version are as follows:
v0.5b
Initial commit after re-write from v0.4c. Some features have been re-written to work more efficiently. Some features have been removed for further re-write.
Working features:
- Light switch control, both hardware and from remote software
- Temperature measurement
- Ambient light measurement
- Networking and System Join Chain
Features to be re-implemented:
- on-device sync mode
- LED control
- Presence Detection
Features under experimentation
- OTA update
v0.5b
Initial commit after re-write from v0.4c. Some features have been re-written to work more efficiently. Some features have been removed for further re-write.
Working features:
- Light switch control, both hardware and from remote software
- Temperature measurement
- Ambient light measurement
- Networking and System Join Chain
Features to be re-implemented:
- on-device sync mode
- LED control
- Presence Detection
Features under experimentation
- OTA update
I'm still playing with the CC2541 chip. I decided to see if I can move the microwave tomography features to that chip since it's constantly broadcasting anyway. This allows for better resource allocation between the two chips.
In other news, I've revised the hardware slightly and upgraded the NTC to a BME280, which was intended for a multi-switch version. This will give temperature, humidity and pressure data across every sensor node, which will improve the accuracy and functionality for many things to come.
If you're one of the brave ones that are willing to try, or have tried (!) playing the hardware/firmware, please let me know how it goes. Feedback is very important.
Now that these sensor nodes are nearly working as designed. it's time to spend more time on the device that makes all the data work: Squirco Smart Home System - Hub + Thermostat. Things are about to get interesting.
-
Plans for Software Release
07/05/2015 at 19:12 • 0 commentsBecause I got too focused on Microwave Tomography, and because of how much work is still left to do, many parts of the software are functional, but still incomplete. Over the next two months, I plan to finish and release all of the software as I finish each individual bit.
Seeing how many projects on HaD.io that use a similar setup, I hope this will benefit everyone with interest in home automation.
Stay tuned.