So I sent v0.6 of the board to JLCPCB, a PCB manufacturer in China, to take advantage of their special offer: USD2.00 for 10 pieces of PCB, as long as the PCB measures 100mm by 100mm or less. Really cheap, considering that most other Chinese manufacturers would charge at least USD5.00 for something similar.
I placed the order on 19 December, and received the product on 26 December! Wow! One week! And I choose the cheapest delivery option (S.F. Express).
The board was designed using EasyEDA, which allows you to choose parts from LCSC (a Chinese components seller). And LCSC allows you to combine shipping with JLCPCB, which means that when I order those components from LCSC, they were also delivered together with the PCBs.
Now, the only thing left is to wait... because while most of the components are here, I am still waiting for my MOSFETs, bought on Aliexpress, to arrive. And those are taking the slow route here.
Anyway, for those who are interested, you can leave me your comments about the board here or in the comments section for this post.
Japan has a shrinking population. It has an aging population. It is a no-brainer that it needs more young people to work and support the old and give them care. So trying to give reasons, whatever they may be, to stave off immigration is really detrimental to Japan's future.
The existing visa for foreign trainees does not really facilitate technology transfer to foreign countries. It is just being exploited as a workaround for companies to hire cheap foreign labour. Having a more comprehensive immigration bill is actually in the interest of these foreign workers, not against them. It is not morally right to bring in cheap labour, then turn them away after 5 years. If they have contributed to Japanese society, and can continue to contribute, there is no reason to send them home. The Japanese people may want Japan to stay Japanese, but maybe it is time to rethink what "Japanese" means. Is it about blood, ethnicity, and race? Is it about geographical boundaries? Or is it about an ideal held by a group of people?
Countries and people worry about immigration usually because they have a lack of identity. If they have a strong and well-defined identity, then immigration does not erode it; instead, it brings in diverse strengths to make it stronger.
This is a very basic 3D printer control board based on the ESP32. MRR ESP 3DP
The main design considerations:
- Use only the ESP32, without any GPIO expansions.
- Fit within 100mm by 100mm of PCB space, so that cheap PCB fabrication services can be used for prototyping.
- Allow the use of TMC2130 and TMC2208 stepper motor drivers.
- Allow a heat bed current of up to 20A (theoretically, since I don't think it is really safe to be pushing so much current through a board).
- Allow 24V electronics (which means capacitors and mosfets must be rated for at least 24V).
- Have an AUX1 connector for MKS TFT32 or similar host, since the ESP32 does not have enough pins to support the Reprap LCD controllers (LCD2004 or LCD12864).
Well, if there are any comments, opinions, etc., please feel free to leave a comment here, or in the issues page for this.
Note: Pre-launch version now available here. Some information on this has been updated here.
"How do you do this without other people being complicit?"
Good question. The thing is, as with all corporate reports issued by major corporations, the report itself is a collective work, taking months to put together, and being approved by the Board of Directors before it is released. You would think that those on the Board would have noticed if there was anything unusual. Given the high salary they were paying Ghosn, you would think they would have noticed if that was under reported. And it is not just one report; it has been on-going for a while. Unless the entire board is a rubber stamp that approves anything put before it, it just doesn't make sense that no one pointed this out before, until now, when Ghosn is starting to work on a merger between Renault and Nissan.
"Japanese prosecutors say Ghosn and another Nissan executive, Greg Kelly, an American suspected of collaborating with him, were arrested because they are considered flight risks."
Bravo. And how is a foreigner as famous as Ghosn going to ever leave Japan without anyone noticing? Also, Kelly isn't really your Japanese ojisan who can easily mix into the crowd and leave the country. This just sounds more like Tokyo investigators trying to gain some media attention by arresting a prominent person. Well, this could backfire since it will draw unnecessary comparison to similar cases in the past, where most (Japanese) bosses were not thrown into detention. And those people can easily disappear; they are your Japanese ojisan.
Nissan reporting this major malpractice only now undermines Nissan as a company. If they can't even sort out their own house, how can we be sure they are doing the necessary to ensure that the cars they produce meet the safety standards required by law? Financial governance and safety governance are the same thing; it is a reflection of the management's commitment to adhering to the laws and regulations in place. The Board should be fired if they cannot uphold governance and maintain proper oversight over all activities within the company.
Ghosn's treatment, being thrown into detention, highlights the discrimination of the legal system in Japan, which treats foreigners harsher compare to Japanese counterparts. It undermines Japan's right to criticise other countries on human rights if they can't even sort that one out within Japan itself. North Korea detains foreigners. China detain foreigners. Japan can criticise them all Japan wants, but now Japan is going to earn itself a place close to North Korea and China for detaining foreigners without trial.
It looks good on TV, looks cool to have men in black suits carrying boxes of documents out of one's house or office, as if investigators are doing their jobs. But if you don't treat them equally, that cool image will always be tainted with one of bias.
I attended a seminar at the Australian Embassy in Tokyo yesterday titled "Australia and Japan: Partners in a Time of Regional Turbulence." Guest speakers and panelists were Professor Michael Wesley, Professor Veronica Taylor, Professor John Blaxland, and Dr. Imelda Deinia from Australian National University; VADM (ret.) Hideaki Kaneda from the Okazaki Institute; and COL (ret.) Grant Newsham. They spoke and discussed about collaboration between Australia and Japan in various aspects ranging from economic to military amidst the changes of the times, with a more assertive China and the United States' current lack of a grand strategy in dealing with China.
Overall, the seminar was informative and, more importantly, thought-provoking. It made me think a lot more about the underlying issues, and what are the questions we really should be looking at. Dealing with China's actions in this day and age is one thing, but that means we will always be one step behind; we are reactive. The important thing is to have an overall grand strategy which guides the formation of plans as well as responses to China's actions.
And therein lies the next bigger question: what are we trying to achieve (the objective), and why do we want to achieve it (the purpose)?
Until we can answer ourselves on what the purpose is, what our objectives are, and what is our grand strategy for achieving this purpose and objectives, we will always be one step behind. And the most worrying part is: China is not as lost as us. China knows what it wants, and how to get there. China has shared a portion of its goals and plans with the rest of the world, but we would be stupid to believe that is everything, or that it is even entirely true. In trying to formulate our own purpose and objectives, we will need to discern China's through its actions and our understanding of the Chinese mindset, culture, political system, society, etc.
We have a late start in this race, but being late is better than not being there at all.
I will share more of my thoughts related to this in subsequent posts. Quite a bit to sort out.
"She said she was not familiar with some details of the rules"
You would think someone whose father's rallies were filled with chants of "Lock her up!" would know. I mean, no one ever told me that I should never burn down someone else's house, but that doesn't mean the police isn't going to arrest me if I do.
But it also brings one to another issue, that of employing your own family members in public appointments. While it is still a borderline issue on whether this particular administration's actions are nepotism or not, the issue is here is that when you do, the line between work and private life becomes very, very vague. It is hard enough for normal people to separate work from private life. It is extremely difficult for people in public office or those with lots of public attention (like celebrities) to do so. And when you hire your own family for such work, it then becomes almost impossible.
And now, the question is, will Trump be still enjoying chants of "Lock her up!" since he wouldn't know if "her" refers to Hillary or Ivanka?
When you target one country, it can become isolated.
When you target many countries, you may end up becoming isolated.
In war, we are taught to try and line up our engagements sequentially, so that we can bring our forces to bear on one target at a time, hoping to overwhelm it. And also avoid putting ourselves in a situation where we are surrounded by multiple enemies, putting ourselves within their striking distances.
It is a simple rule, but it works. And it applies not just to warfare, but to all manners of conflicts. So instead of trying to solve all conflicts at once, it is probably better and wiser to work on them one at a time, so that you can influence the outcome of each to your advantage.
When the U.S. shuts its doors, people will turn to other doors. It might have taken a lot more years before China could fully overtake the U.S. in terms of economic strength, but this shift away from the U.S. (due to U.S. policies) toward China has shown that instead of hurting China, the trade war between the two may turn out to be beneficial to China in the long run at the detriment of the U.S.
But by then, Trump would be gone, and claiming it is not his fault.
An 86 minute video of the press conference that President Trump gave after the mid-term elections. Quite a long one to sit through, but it is highly educational, in the insight you can gain into Trump's way of thinking and doing things, and what he stands for. Also entertaining in a sarcastic way.
Key takeaways:
He hates McCain. He still cannot get over it, even though the man is no longer in this world. He still has to bring up McCain opposing his "repeal without replace" bill.
He doesn't really like reporters. He doesn't like women. He doesn't like people who are not white. If you are an African American female reporter, you are better off asking questions to a wall. At least the wall won't interrupt you or demean you.
The art of the deal, to him, is about threats. It is my way or the high way. If you don't do what he wants, he will do bad things. He is like a combination of school bully and spoiled brat. Basically, "Give me that or I will punch you" with "Buy me that toy or I will pee on the floor." But it also means that the Democrats, world leaders, and companies who need to deal with him have a way to do so. Just deal with him like how you would handle a school bully who also happens to be a spoiled brat.
He is not about making America great. Because to him, it is more important to stop the Democrats from investigating him, to the extent he is willing for things to come to a standstill (which is definitely bad for the U.S.). So people can be without healthcare, the military can be without a budget, as long as the Democrats can be kept from investigating him.
He doesn't like to lose, and even if he lost, he doesn't like to admit it, and he doesn't appreciate it when people point it out. So for those who need him to get things done, find a way to save him face.
He doesn't like facts. Numbers do not matter to him. Perception does. So the press can call him out with the facts and figures, but it won't matter to him. They mean nothing to him. He will just spin his own story, no matter what the facts and figures are. So a tip to the media: when you play a clip of him spinning tales, put up the respective figures beside that clip so that people can hear him talk and see the actual figures at the same time. Side by side. Don't show the clip, then call him out. Side by side.
He talked about the Democrats wanting to impeach him, and then they won't stop, they will go after Pence. Personally, I think if anything, the Republicans should just backstab Trump by striking a deal with the Democrats to impeach Trump and make Pence, who is a strong conservative, the President. And unlike Trump, which probably has many skeletons in the closet, it is going to be much harder to find reasons to impeach Pence.
When things go wrong, it is never his fault. He will always find someone else to blame. So for those who work with him, or for him, always be ready for him to put the blame on you. Better yet, have a contingency plan on how to rectify the record when he does do so.
First, Trump fired Sessions, his Attorney General. Something he has always want to do, and now he has done it. Was it a wise move? Some would say no, since Sessions has been helping Trump drive the conservative agenda all this while, going after immigration and minority rights. But while the Democrats have the House, the Senate is still Republican, and now, filled with even more pro-Trump Senators. This means it is unlikely the Senate will vote to support Trump's impeachment. And likely that any political appointment Trump puts out will be confirmed.
Which means Mattis is likely to go soon... and Kelly has been sidelined already anyway, so it doesn't matter whether he gets replaced or not.
BTW, when the AG gets fired, the next in line for succession is the deputy AG. By law. So I am not very sure how Sessions' chief-of-staff can be acting AG. Probably illegal. Someone should challenge that.
Oh, and vowing to fight back should the Democrats subpoena his tax returns... that is not what an innocent man says. It's like a fifteen year old boy telling his mother, "Don't you dare look under my bed!" If a person has nothing to hide, he would hate that intrusion, but he will comply and say, "Look all you want, you ain't going to find anything in there." Threatening people only makes everyone wonder, "Hmm... what is he hiding in there?"
So now that he has hijacked the Senate, what can the Democrats do?
One thing Pelosi can do is offer Mitch a deal: the Republicans already have a firm majority in the Senate. Impeach Trump, Pence becomes President, and the Republicans will still control the Senate. Meanwhile, the Democrats will play nice and the House will agree to certain laws that the Republicans want to pass. Basically, "impeach Trump and we will have compromise and bipartisanship for the next two years; keep Trump, and politics will come to a standstill for two years." Of course, it is only two years; Mitch may just decide to rough it out, hang in there for two years, and bet on winning back the House in two years' time. Still, it is an option to get things done while Mitch is in office.
And attacking Republicans, after they have lost, saying that they lost because they never embraced you... that's just narcissistic. Unless elections in the U.S. has degraded into popularity contests. This ain't a vote for prom king and queen. Democracy is not about voting for a person; it is about voting for a person who best represents your own ideals and desires. People don't vote for Trump because they like Trump; they vote for what he represents. But I guess it is too difficult for him to understand the concept of democracy.
If the House is blue and the Senate is red, there will be a political standstill since, in the age of Trump, people have become politically extreme, and it is unlikely there will be any middle ground.
If the House and Senate are both red, there will be social unrest, since the majority is actually blue (as shown by Clinton's majority vote in 2016) and the policies will be contrary to what the majority agrees with.
Whatever the case, there is going to be quite some problems unless the U.S. can find some way to steer back from the current politically extreme path, away from dividing people toward uniting them. And with Trump in the seat, that is unlikely to happen, since his method is to divide and conquer. But conquer doesn't mean anything unless he can rule. Empires may be made by conquerors, but dynasties last because of rulers.
The day when we know if the U.S. is actually a country which stands for equal rights and the rule of law, or if it has all along been a racist and misogynist country hiding behind politically correct words.
Personally, I don't think the polls matter, or reflect the real situation. Look at what the polls said for 2016.
Polls are based on people who are willing to respond to them. But elections are based on people who are willing to vote. They may sound similar, but are fundamentally different. The former is about communicating a choice. The latter is about making a choice. Polls have a sample size, and may be biased depending on how the samples are selected. Election results do not have a sample size; the "sample" is the fact, there is no error in it.
In a way, today is the day the U.S. shows the world its true colors. Will it be the stars and stripes? Or the Confederate flag? Or the Nazi one?
Show us who you are, America, so that we can know whether to love or hate you.
But whatever the case, there will continue to be confusion in the U.S. for the years to come. And China will be laughing.
Edit/update: This post was written in October 2018. Since then, Marlin firmware has made quite some progress in supporting STM32 boards. Please check the Marlin firmware documentation, GitHub page, Facebook groups, etc. for the latest info, since I am quite sure what I have written here is outdated.
A note for myself. And for those who want to know how to compile Marlin 2.0 for the STM32F4 series. I was trying to compile for the black STM32F407VET6 development board available on eBay and Aliexpress from Chinese vendors.
First, it seems the only Arduino STM32 core that can be used with Marlin 2.0 for this board is from STMicroelectronics. Even then, the version available via Arduino IDE's package manager is old, and the latest git version must be used for STM32F407VET6 support. To install the git version, see: https://github.com/stm32duino/wiki/wiki/Using-git-repository
BTW, I was using Arduino IDE 1.8.5, there could be issues with newer IDE versions having to do with preprocessors. Also, I had problems compiling Marlin 2.0 for STM32F407VET6 on PlatformIO. It seems uncertain if the official STMicroelectronics core is available on it or not, which may explain my errors with: 'IWDG_HandleTypeDef' does not name a type 'TIM_HandleTypeDef' does not name a type 'stm32f4_timer_t {aka struct tTimerConfig}' has no member named 'handle'
etc. when I try to compile it for board = genericSTM32F407VET6
in platformio.ini
Anyway, I digress. Install from git repository should allow Marlin 2.0 to be compiled with the following changes to the git version of Marlin 2.0: #define SERIAL_PORT 1 #define MOTHERBOARD BOARD_STM32F4
However, if you try to add LCD support, you may encounter issues. I worked around it by editing Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp
to add #elif MB(STM32F4)
to this part of the code: #if F_CPU >= 20000000 #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(0) #define CPU_ST7920_DELAY_3 DELAY_NS(50) #elif MB(3DRAG) || MB(K8200) || MB(K8400) || MB(SILVER_GATE) #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(188) #define CPU_ST7920_DELAY_3 DELAY_NS(0) #elif MB(MINIRAMBO) || MB(EINSY_RAMBO) || MB(EINSY_RETRO) #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(250) #define CPU_ST7920_DELAY_3 DELAY_NS(0) #elif MB(RAMBO) #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(0) #define CPU_ST7920_DELAY_3 DELAY_NS(0) #elif MB(BQ_ZUM_MEGA_3D) #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(0) #define CPU_ST7920_DELAY_3 DELAY_NS(189) #elif MB(REMRAM_V1) #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(0) #define CPU_ST7920_DELAY_3 DELAY_NS(0) #elif MB(ARMED) #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(0) #define CPU_ST7920_DELAY_3 DELAY_NS(0) #elif MB(STM32F4) #elif F_CPU == 16000000 #define CPU_ST7920_DELAY_1 DELAY_NS(0) #define CPU_ST7920_DELAY_2 DELAY_NS(0) #define CPU_ST7920_DELAY_3 DELAY_NS(63) #else #error "No valid condition for delays in 'ultralcd_st7920_u8glib_rrd_AVR.h'" #endif
Don't worry, the delays are actually defined in pins_STM32F4.h already, but somehow, the STM32F4 is not included here as a board, which results in the "No valid condition" error during compile when LCD is enabled.
Still, this is just compiling the firmware. I have yet to actually load the firmware for testing on an actual board, which is the next logical step. Stay tuned!
Okay, I am not a fan of Trump, but The Washington Post and CNN seem to have taken things a bit too far. I mean, these are supposed to be legitimate news outlets. They should not be embroiled in petty stuff, right? But The Washington Post's annotations of the AP interview seems more like trolling. CNN's article is in the same league.
Annotating with facts is fine. Calling out lies with facts is fine. But throwing in opinions and other subjective comments borders on trolling, and is not something that a respectable news agency does, even if the rest of the country has gone to the dogs in terms of civility.
I just hope someone out there can go through the transcript, and prepare a proper annotation with the facts.
Please leave a comment if you are interested in commissioning a piece of calligraphy or want to purchase any of the calligraphy works I have posted on this blog.