One of the coolest things Flamingo EDA brought to the Xinshanzhai talk is the Lego compatible sensor block! This is very awesome. I WANT ONE! Actually, I want a DOZENS and a bucket of Lego blocks!

January 26th, 2011 § 0 comments § permalink
One of the coolest things Flamingo EDA brought to the Xinshanzhai talk is the Lego compatible sensor block! This is very awesome. I WANT ONE! Actually, I want a DOZENS and a bucket of Lego blocks!

January 17th, 2011 § 0 comments § permalink
It was a chaotic afternoon with unexpected turn out for the Robo contest kick off and we were overwhelmed by the 60+ people shown up for the event and packing the 1F of Xindanwei end to end.
Ricky kicks off the event with A.R.T. and gave a short introduction to how he got started with the project and how ART was built.

Then we have the introduction to the HCR robots by the presenter also named Ricky. HCR is an open source robot built to for home caring.

And some random photos from the events.

January 17th, 2011 § 0 comments § permalink

新车间的机器人课程是针对对物理运算有兴趣了解的朋友提供入门的课程和实践机会,适合十岁以上的人参加。
课程内容为:
8小时的授课时间:
16小时的实验室时间:
对于15岁以下的孩子,我们希望看到家长一同参加。
课程总费用为1500元,包括8小时授课时间和16小时的实验室时间,Arduino材料费,玩具遥控车一台和基本传感器(价值500元),并赠送两个月的新车间超级会员(价值4000元)。
课程時間為周日下午,有兴趣参加可以写邮件到 info@xinchejian.com 报名。
Robot class@Xinchejian aims to promote the understanding of physical computing and provide hands-on experience with Arduino platform. This class is designed for 10 years old and more. The robot class consists of 8 hours of lectures and 16 hours of practice.
8 hours of lecture:
16 hours of supervised hands-on labs:
For kids under 15, we’d like to see parent participate.
The cost of the courses is 1500RMB, including 8 hours of lecture plus 16 hours hands-on lab, the Arduino starter kit, RC car and basic sensor (500RMB in value). We will also provide you two-month Xinchejian super membership (4000RMB in value) for free.
The classes will be on Sunday afternoon. For class registration, please send email to info@xinchejian.com.
January 15th, 2011 § 0 comments § permalink
While I’m debugging ARTv4 to have interesting, pseudo-intelligent behaviors (and not running out of SRAM which causes it to reset randomly…), I’m also working on the next generation electrical design for ART… I’m naming the bundle of software and electronics ARTv5.
The plan is to support more infrared and ultrasonic sensors with an RF transceiver for sending telemetry information. I also want to start producing and using PCB boards to get away from the fragile breadboards.
More specifically, these PCB will take the form of Arduino-shields that I can stack on top of each other.
The plan right now is to create three boards that are stackable:
The last “shield” will also host the CPLD (Xilinx xc9536). All incoming and outgoing signals go through the CPLD to give me the flexibility to do additional processing using digital logic instead of the microcontroller code. In addition, I also have a Texas Instrument CC1101 chipset transceiver (supposedly RFC1100-A but the board they sent me has FT1100A-100) with Power Amplifier that I’m adding so that the Microcontroller can send back telemetry information to the PC…
So there’s the following connections:
To do the design, I’m still using the fantastic Fritzing 0.4.3. Although it does crash regularly and has various nitpicks that, if solved, would make this even better there’s nothing really comparable. The workflow feels natural and the results are attractive. I haven’t been able to produce etchable versions of my PCB design due to what seems to be a bug, but the Gerber RS-274X files it generates seem to work fine (if GerberView output is any indication).
I’ve compiled a list bought so far and the cost so far is a bit under 800 RMB. On the basis of that new design I need to add to the wishlist a whole bunch of stackable female headers in addition to figuring out the cost of producing the PCB.
The BoM generated by Fritzing for the ART Shield says:
January 12th, 2011 § 1 comment § permalink
IDEO模式: 山寨设计是创新的开放平台
时间: 2011年元月二十二日,下午两点到五点
地点:徐汇区永嘉路50号新单位(近陕西南路)
费用: 30元/人
山寨是一个为草根创意阶级提供的开放式创新平台: 复制苹果, 诺基亚, 三星智能手机, 这些仿冒品由原产品改装而成同时加入了更吸引于中国消费者的设计. 山寨设计师为电子产品注入闪光点和关键元素.
其目的正是为了使产品在价格, 外观, 价值和用户需求上能接近普通消费人群. 山寨设计为国际公司向中国本土消费者介绍他们的品牌提供了一个机会, 他们也能借机观察中国本土文化如何作用于他们的产品, 如何相互磨合与适应.
这些公司怎样通过观察山寨设计来学习? IDEO 将分享他们对于这一重大领域的观点和方法学.
2:00pm
开放: 新单位CEO 刘妍介绍活动内容,演讲者, 来宾, 目标阐述
2:15pm
1. 山寨设计作为一种商业创新的开放平台- IDEO (15分钟)
2. 怎样山寨?
-快速原型-IDEO-30分钟
-原型的工具
-Arduino – Flamingo EDA -20分钟
- Android –20分钟
-从原型到制作 – C2Tech –20分钟
4:30pm
Android原型板以及工具的使用说明
参访新车间, 相互认识新朋友.
Shanzhai Design as an Open Platform for Business Innovation – Pattern from IDEO
Time: 14:00 – 17:00, Jan 22, 2011
Location: Xindanwei, 50 Yongjia Rd
Cost: 30yuan/person
Shanzhai is an open platform for grassroots innovation. Apple, Nokia, and Samsung smartphones get copied, but the knockoffs adapt the original designs in ways that appeal to Chinese customers. Shanzhai designers might add a flashlight, key in areas with unstable electricity.
The effect is to make products accessible to common folks in terms of price, aesthetics, values, and needs. Shanzhai designs are an opportunity for international companies to introduce Chinese consumers to their brands, and then observe how local Chinese culture adapts their offerings.
How might companies harness learning by observing Shanzhai designs? IDEO will share their perspectives and methodologies on these big questions for business.
2:00pm
Opening: Introduce the event, speakers, guests and talk about the goals, by Liu Yan(xindanwei)
2:15pm
1.IDEO: “Shanzhai as an open platform for innovation” – 15 minutes
2.How to Shanzhai?
- “Rapid prototyping” – IDEO – 30 minutes
- Tool of prototyping
- Arduino – Flamingo EDA – 20 minutes
- Android – – 20 minutes
-From prototype to production – C2Tech – 20 minutes
4:00pm
Part Two: Android prototype boards and tools demonstration Followed by a visit to Xinchejian and networking
January 9th, 2011 § 10 comments § permalink
To get ready for the Robot Contest event on 1/16, I order the RMB 58 RC cars from Taobao. This RC car is good size and properly built. Originally, I wanted to go with the route of replacing the control board with Arduino and drive everything there.

As I was trying to hook up the motor to Arduino, I realized that there wasn’t any H Bridge and it was way too cold to go out and get it. Hmm… I figure there must be some H Bridge on the control board I just rip out of the car.

As I located the two H bridge on the board, I notice the RX-2 chip. Out of curiosity, I decide to google for this chip. To a pleasant surprise, I found RX-2/TX-2 Datasheet in Chinese and guide for exactly the board in the car and remote.


Decide to replace RX-2 in the car with Arduino so the H-Bridge on board can be reused and the RF for the remote can still work. Still trying to figure out what I am going to do with those remote control signal. A few facts about RX-2/TX-2 chip I found is that the RC frequency can be adjusted by different resistance from 100K to 500K Ohm between OSCI/OSCO pins.

January 9th, 2011 § 2 comments § permalink
January 7th, 2011 § 0 comments § permalink
新车间开放日:休闲机器人的时代
时间: 2011年元月十六日,下午一点到五点
地点:徐汇区永嘉路50号新单位(近陕西南路)
费用: 免费
随着数字零件价格的降低加上丰富的开源机器人软件,DIY机器人已经可以当做事一个假日的休闲活动。这次的新车间开放日我们将介绍几个会员DIY的机器人和介绍一个将要举办的积极人竞赛。如果你对机器人有兴趣,请在这个周日加入我们,一起了解现代机器人的发展,一起讨论如何玩机器人。如果有小孩的话,非常欢迎他们一起来参加这个的活动。
- 关于HC Robot
http://code.google.com/p/hcrobot/
- 关于A.R.T.
http://xinchejian.com/?p=289
Robot Contest Kick Off- Xin Che Jian Open House: the coming of entertainment robots
Time: 13:00 – 17:00, Jan 16, 2011
Location: Xindanwei, 50 Yongjia Rd
Cost: Free, Open house
Building robots is fun and building robots to race is doubling the fun! The era of robot building as hobby has come and we plan to celebrate the beginning of this era with a festive robot contest. At this Xin Che Jian open house, we will present a few home built robots and the plan for a contest for discussion. Come and see how you can get involved! If you are a parent, bring the kids! We are sure they will love the robots!
Robots on site:
- HC Robot: open source home help robots
http://code.google.com/p/hcrobot/
- A.R.T.
http://xinchejian.com/?p=289
January 6th, 2011 § 1 comment § permalink
Happened to stop by Xin Che Jian with my camera today and I thought I should take some A.R.T. glamour shoots.
January 6th, 2011 § 0 comments § permalink
在OpenSourceCamp Shanghai上有很精彩对开源和山寨的讨论,王江川写了这篇相当有趣的文章。
—
这两日,看到大家在坛子里炒得确实很开锅,不时冒出一些新颖的单词来,什么云计算、创新工厂、开源商业模式,同时又似乎总被一个土的掉牙的词—“山寨”时不时搅和着。
耳边被山寨这个词浸濡许久了,今天,抽空进行点思考和梳理。
“山寨”,究竟何方神圣也?
从一开始的莫不关注,到身临其境,再至醍醐灌顶。不断地清晰和觉悟到,山寨本质上就是一种自然界创新精神与文化的代言。
国人发明各种辞藻的本事的确很强,乍一听,山寨,直愣愣就往水泊梁山108将而去。仔细寻思来去,竟然,极其地精准和绝妙,缘来,这背后其实是一回事情儿。
之前,看到一段探索频道的节目。
说的是一群勇于探险的科学家经过生死经历在刚果河考察而得出的一些发现。他们在刚果河中发现了很多之前不被人类所了解的不同鱼种,其中有些可能是新物种。我看到那些奇形怪状的鱼儿,有巨大凶猛的虎鱼,有像小手指那么大小的没有视力且出水就死的不明鱼种,有一种长着像大象鼻子模样的鱼儿,总之是稀奇古怪,像来自外星球。那群科学家似乎很兴奋,因为他们发现了新的基因宝库。对此奇异现象,他们做出了科学的分析:刚果河可能是世界上最深的河流,有一处地方居然深达230米,同时其深度和水流变化多端,形成很多个隔离开的区域。快速的流水和强大的急流制造了小型鱼类不能经过的天然屏障,而这恰恰是鱼类多样性的温床,因此在自然隔绝并经过了千万年的演化后,现实世界中就形成了刚果河物种工厂。
其实,再仔细想一想,其实分布在全球不同地理位置上的任何一个文化或民族或物种,以至于,你能想到的任何一个创新的、不同于其他事物属性的东西,是不是都要有一个或者是地理位置上,或者是文化领域里,或者是虚拟现实里,都相对割裂,同时又不乏与外界能完成各类不同交换的体系呢。看看,祖国的西南,横断山脉那些沟壑和激流造就了植物群落的丰富性,动物种类的多态性,以至于少数民族的多样性。
如果要我来这些个割裂的体系起个名称,我认为就可以是“山寨”。
仍然拿梁山泊占山为王的绿林好汉来说事,至于解释他们是为了占山为王建设自己理想中的桃花源也好,还是被社会分割淘汰逼到走投无路也好,反正,我认为,实际情况是他们在自己都闹不清楚的缘由下,给自己圈了一个山寨,打上替天行道的大旗,摇身一变,原先那些打家劫舍的、卖人肉包子的都似乎走上了正当营生的道路。也就是说,原先的盗版正在向正版验明正身之中。
不可否认,如果梁山泊接着能够自我日臻完善,不断精进去干一番不同天地的惊天伟业,是可以修得正果的,摸不准就创新出一个梁山号的朝代来。最最不济,看看澳大利亚吧,那些被流放的罪犯,生生不息,没用几百年,就建立了一个富饶的国度。
从某种角度来说,梁山泊的好汉们物以群分,人以类聚,给自己营造了一个创新的山寨氛围,这个不经意或有意中建立的寨子和刚果河湍流中或横断山脉中自然界形成的大大小小的寨子本质上没有什么区别的。
山寨理想中的悲哀其实就是忍不住地自责和自问:“我究竟是不是真命天子啊?”直至这背后,偷偷地问自己:“究竟我值不值钱啊?”从此也引发了我们坛子中众多关于山寨的纷纷扰扰的事端来。
感叹于前年,说是到湖南调研,主方实际安排了个红色之旅。毛主席韶山冲旧居的那个地盘啊,真是好风水啊。背山面水,独辟一峪。话说导游领我们来到主席家的灶房里,说他老人家当时年轻时闹革命,很多会议就是在这个灶房里开的。我突然解读为,原来革命的星星之火是从灶房里燎原的,真是太伟大了。于是乎,从此想开了去,当时William Hewlett、Dave Parkard的惠普车库,后来成为加州第976号的历史地标,也是硅谷的诞生地;而乔布斯年少时的兴趣,就是与好友沃兹一道,在自家的小车库里琢磨电脑,鼓捣出了苹果。此刻,一下子豁然起来,灶房、车库、手工作坊、四川的茶馆。。。。。。也似乎都是相通的道理,至于叫不叫山寨还真没什么本质的差别。
然而,麻烦来了,有那么一些人,想搞一个什么的灶房联盟,或者车库联盟,或者茶馆联盟。。。。。
这确实是非常好的想法,如果成功,把那些个灶房也好、车库也好,统统地联盟到一起,即使广种薄收,却也是从道义上也好,从成功保障系数上也好,总之,看似是一个极其完美的组合,好像可以保证将来的帝王将相将从自己的田野里长出来。但是,凭我的直觉来看,也许,创新的梦工厂(其实就是另一种投资基金联盟的别称)可以制造出一些喧闹的中不溜溜的物件来,但真正的王者似乎一般不会去选择这样的田地,至少,某一刻,即将有情况时,也一定要从梦工厂之类的机构中决裂开来。毕竟,终其一场,梦字开头,梦自结尾。
我反而崇尚,如果,有多多的灶房,如果有多多的车库,如果有多多的茶馆,如果每个灶房、车库、茶馆里都有那么一些人在废寝忘食地鼓捣一些东西,该是多么美丽的一件事情。那样,一定有更多不可思议并千奇百怪的鱼种出现,而且,终究,一定有大鱼会从中诞生,也许,就是那让科学家望而生畏的虎鱼。
我不反对,开源同盟中的一些优异者弄个公司出来,琢磨个好的商业模式,利益化运作一些事情。只是,我总觉得,即使你鼓捣个公司出来,最好从心底里还是把它看成个灶房、车库、茶馆什么来着,并同时保证原先在自个儿那“山寨”中的精神气儿,接着鼓捣手头的那些东西,千万别和公司形态、商业模式太较劲儿,那样子,有天,长成大鱼的几率要非常的大一些。
Richard
2011-1-4
——————————————————————–
王江川 Richard
* wangjiangchuan@besttone.com.cn
——————————————————————–
January 3rd, 2011 § 0 comments § permalink
As I’ve mentioned in the previous blog post talking about adding more ultrasonic sensors connected to the Arduino , I’m looking at implementing some of the logic in digital logic gates external to the Arduino… After researching this for a while, I’ve stumbled on something half-remembered from university: FPGA and CPLD.
CPLD seems particularly well suited and although my first few applications would be very simple, I’m thinking many of the real-time stuff needed by robotics (sensor processing, PWM control) would be well served by CPLD hardware designs.
So I’m thinking about buying these two things:
Xilinx Platform Cable USB (programs Xilinx CPLD/FPGA) 228.00元
Expensive but can be used to program very many CPLD
XILINX XC9572XL in a DIP40 package: 42.00元
Very convenient packaging that will work with the breadboard in addition to having, from the datasheet, “1,600 usable gate” (about 100 times what I need right now for the ultrasonic sensor selector….)
These are some useful links about CPLD:
http://bitcycle.org/electronics/1st_CPLD_project/
CPLD’s have a number of useful properties:
A small CPLD can replace the function of a handful standard logic IC’s (74xxx etc), a large CPLD can replace the function of hundreds of these. The result is a drastic reduction in circuit board space, and power consumption.
The logic function performed by a CPLD is user-programmable. Normally it can be erased, and re-programmed many times. That is: can be changed on-the-fly. What used to be hardware (wires / connections), becomes software (hardware description language).
Which input or output pin is used for what signal, can be chosen by the user. This helps to simplify circuit board layout.
Many CPLD’s (not all) are in-system programmable. That is: the function of a circuit can be changed after it has been built, without re-wiring or replacing components.
The price of CPLD’s (and other programmable logic devices) has come down enough to make their use feasible in many designs.
These advantages come at a cost: complexity. While it is simple to connect a few logic gates using 74xxx IC’s, a significant barrier has to be overcome to do the same with a CPLD. This barrier consists of required hardware, software & knowledge. However: once this barrier has been overcome, it becomes easier to modify a design. Also one can tackle more complex designs, that would be (near) impossible using standard logic.
http://www.mouldy.org/using-cplds-and-fpgas-in-hobby-electronics
As an example, my recent H-bridge controller was implemented on a PIC microcontroller. This worked well enough, but performance was suboptimal, and some nasty hacks were required because the I/O lines couldn’t do exactly what I wanted. With a CPLD, I have dedicated hardware to implement things like the PWM controller, H-bridge logic and I2C interface; these subsystems would have operating frequencies in the hundreds of megahertz, instead of kilohertz.
A few years back, there were crippling problems that prevented hobbyists from making use of CPLDs and FPGAs. Just about all of these have been remedied.
http://www.triplespark.net/elec/pdev/cpld/
CPLDs don’t replace microcontrollers and vice versa; in fact, they complement one another very well: CPLDs are good if you need speed as long as the complexity of the task is limited. In contrast, microcontrollers can do lots of fancy things but at slower speed.
http://www.seattlerobotics.org/encoder/200006/cpld.htm
PLDs or Complex Programmable Logic Devices are the next extension to the PLD market. They are today’s technological stepping stone between a handful of discrete gates and a full custom design. What’s more, the silicon manufacturers are so interested in beginning engineers down the path of brand loyalty, that one & two quantity pricing is around five dollars for surprisingly powerful devices. At the same time, entry level software development tools have evolved from multi-thousand dollar price tags to free (Public Domain) Inter Net downloads while at the same time, continuing to gain in power.
https://www.seas.upenn.edu/~ese201/vhdl/vhdl_primer.html
The highest level of abstraction is the behavioral level that describes a system in terms of what it does (or how it behaves) rather than in terms of its components and interconnection between them. A behavioral description specifies the relationship between the input and output signals. This could be a Boolean expression or a more abstract description such as the Register Transfer or Algorithmic level. As an example, let us consider a simple circuit that warns car passengers when the door is open or the seatbelt is not used whenever the car key is inserted in the ignition lock At the behavioral level this could be expressed as,
Warning = Ignition_on AND ( Door_open OR Seatbelt_off)
The structural level, on the other hand, describes a system as a collection of gates and components that are interconnected to perform a desired function. A structural description could be compared to a schematic of interconnected logic gates. It is a representation that is usually closer to the physical realization of a system.
January 3rd, 2011 § 3 comments § permalink
I’ve been writing many, many iterations of both the software (the controller) after updating the platform (sensors+chassis) itself to have an additional ultrasonic sensor looking backward. So now, when I rotate the ultrasonic sensor, I read values in front (right side, angle looking right, looking forward and at angle to the left) and towards the back (left-side, side angle looking backward towards the left, angle straight on towards the back and angle looking backward towards the right).
So six values in total… Having the servo rotate the sensors is necessary right now so as not to go over budget on the digital pins of the Arduino Dueminalove board as each of the two sensors require two signal cable (one for trigger and one for echo).
I’ve done many changes and many tests but I’m not yet satisfied with the controller for that particular configuration and I still have ideas that I need to implement to make the robot behavior interesting…
However, in the meantime, I’m also preparing for the next platform. I’m thinking of designing a circuit to select one ultrasonic sensor at a time out of four. Since two sensors cannot be triggered simultaneously (they would interfere with each other) I would want to trigger one at a time and then wait for the echo.
To help with that task, I’ve discovered two wonderful OpenSource software:
For Fritzing, I also took the time to create a custom part for the HC-SR04 Ultrasonic Sensor. I’ve done so by first drawing vector graphics for the breadboard view, schematic view and PCB board in Inkscape. I then created a new part, imported the just created images and then placing connections “squares” overlaid on the imported images. Relatively easy, but I spent a lots of time getting the fonts right before discovering that the easiest way was to convert all text to paths (Path > Object to Path).
I’ve uploaded the HC-SR04 Fritzing part in the relevant “user-contributed parts” bug if you need it.
For Logic Gate Simulator, I first wrote down the truth table for the sensor selector (“when pin1 and pin2 are at 1, send trigger signal to sensor4 and receive echo from sensor4″) and tested it, but I’m unsure on how to proceed next in terms of buying the necessary IC that would provide me with the AND/NOT logic gate that I need.
I also have to investigate how to change the simplistic Ultrasonic code that’s been provided with the sensors to instead generate interrupts so I don’t have to block the Arduino loop while waiting for the echo to come back. Same for getting the “stop now” button to actually work!